diff options
-rw-r--r-- | core/ios.cpp | 138 | ||||
-rw-r--r-- | packaging/ios/Subsurface-mobile/Subsurface-mobile.pro | 2 |
2 files changed, 139 insertions, 1 deletions
diff --git a/core/ios.cpp b/core/ios.cpp new file mode 100644 index 000000000..1958183fa --- /dev/null +++ b/core/ios.cpp @@ -0,0 +1,138 @@ +// SPDX-License-Identifier: GPL-2.0 +/* implements iOS specific functions */ +#include <stdlib.h> +#include <dirent.h> +#include <fnmatch.h> +#include "dive.h" +#include "display.h" +#include "core/qthelper.h" +#include <CoreFoundation/CoreFoundation.h> +#if !defined(__IPHONE_5_0) +#include <CoreServices/CoreServices.h> +#endif +#include <mach-o/dyld.h> +#include <sys/syslimits.h> +#include <stdio.h> +#include <fcntl.h> +#include <unistd.h> + +#include <QStandardPaths> + +extern "C" { + +const char mac_system_divelist_default_font[] = "Arial"; +const char *system_divelist_default_font = mac_system_divelist_default_font; +double system_divelist_default_font_size = -1.0; + +void subsurface_OS_pref_setup(void) +{ + // nothing +} + +bool subsurface_ignore_font(const char *font) +{ + // there are no old default fonts that we would want to ignore + Q_UNUSED(font); + return false; +} + +void subsurface_user_info(struct user_info *user) +{ + // We use of at least libgit2-0.20 + Q_UNUSED(user); +} + +static const char *system_default_path_append(const char *append) +{ + // Qt appears to find a working path for us - let's just go with that + QString path = QStandardPaths::standardLocations(QStandardPaths::DataLocation).first(); + + if (append) + path += QString("/%1").arg(append); + + return copy_qstring(path); +} + +const char *system_default_directory(void) +{ + static const char *path = NULL; + if (!path) + path = system_default_path_append(NULL); + return path; +} + +const char *system_default_filename(void) +{ + static const char *filename = "subsurface.xml"; + static const char *path = NULL; + if (!path) + path = system_default_path_append(filename); + return path; +} + +int enumerate_devices(device_callback_t callback, void *userdata, int dc_type) +{ + // we can't read from devices on iOS + Q_UNUSED(callback) + Q_UNUSED(userdata) + Q_UNUSED(dc_type) + return -1; +} + +/* NOP wrappers to comform with windows.c */ +int subsurface_rename(const char *path, const char *newpath) +{ + return rename(path, newpath); +} + +int subsurface_open(const char *path, int oflags, mode_t mode) +{ + return open(path, oflags, mode); +} + +FILE *subsurface_fopen(const char *path, const char *mode) +{ + return fopen(path, mode); +} + +void *subsurface_opendir(const char *path) +{ + return (void *)opendir(path); +} + +int subsurface_access(const char *path, int mode) +{ + return access(path, mode); +} + +int subsurface_stat(const char* path, struct stat* buf) +{ + return stat(path, buf); +} + +struct zip *subsurface_zip_open_readonly(const char *path, int flags, int *errorp) +{ + return zip_open(path, flags, errorp); +} + +int subsurface_zip_close(struct zip *zip) +{ + return zip_close(zip); +} + +/* win32 console */ +void subsurface_console_init(void) +{ + /* NOP */ +} + +void subsurface_console_exit(void) +{ + /* NOP */ +} + +bool subsurface_user_is_root() +{ + return false; +} +} diff --git a/packaging/ios/Subsurface-mobile/Subsurface-mobile.pro b/packaging/ios/Subsurface-mobile/Subsurface-mobile.pro index c43f13930..2a97bf33f 100644 --- a/packaging/ios/Subsurface-mobile/Subsurface-mobile.pro +++ b/packaging/ios/Subsurface-mobile/Subsurface-mobile.pro @@ -37,7 +37,7 @@ SOURCES += ../../../subsurface-mobile-main.cpp \ ../../../core/windowtitleupdate.cpp \ ../../../core/file.c \ ../../../core/subsurfacestartup.c \ - ../../../core/macos.c \ + ../../../core/ios.cpp \ ../../../core/profile.c \ ../../../core/device.c \ ../../../core/dive.c \ |