aboutsummaryrefslogtreecommitdiffstats
path: root/core/qthelper.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/qthelper.h')
-rw-r--r--core/qthelper.h66
1 files changed, 51 insertions, 15 deletions
diff --git a/core/qthelper.h b/core/qthelper.h
index c5aef1dd1..f86b5499b 100644
--- a/core/qthelper.h
+++ b/core/qthelper.h
@@ -2,19 +2,25 @@
#ifndef QTHELPER_H
#define QTHELPER_H
-#include <QMultiMap>
-#include <QString>
#include <stdint.h>
#include "dive.h"
#include "divelist.h"
+
+// 1) Types
+
+enum inertgas {N2, HE};
+
+// 2) Functions visible only to C++ parts
+
+#ifdef __cplusplus
+
+#include <QMultiMap>
+#include <QString>
#include <QTranslator>
#include <QDir>
-
QString weight_string(int weight_in_grams);
QString distance_string(int distanceInMeters);
bool gpsHasChanged(struct dive *dive, struct dive *master, const QString &gps_text, bool *parsed_out = 0);
-extern "C" const char *printGPSCoords(int lat, int lon);
-extern "C" const char *get_current_date();
QList<int> getDivesInTrip(dive_trip_t *trip);
QString get_gas_string(struct gasmix gas);
QString get_divepoint_gas_string(struct dive *d, const divedatapoint& dp);
@@ -28,7 +34,6 @@ void hashPicture(struct picture *picture);
QString localFilePath(const QString originalFilename);
QString fileFromHash(const char *hash);
void learnHash(struct picture *picture, QByteArray hash);
-extern "C" void cache_picture(struct picture *picture);
weight_t string_to_weight(const char *str);
depth_t string_to_depth(const char *str);
pressure_t string_to_pressure(const char *str);
@@ -38,17 +43,48 @@ int getCloudURL(QString &filename);
bool parseGpsText(const QString &gps_text, double *latitude, double *longitude);
QByteArray getCurrentAppState();
void setCurrentAppState(QByteArray state);
-extern "C" bool in_planner();
-extern "C" enum deco_mode decoMode();
-extern "C" void subsurface_mkdir(const char *dir);
void init_proxy();
QString getUUID();
QStringList imageExtensionFilters();
char *intdup(int index);
-extern "C" int parse_seabear_header(const char *filename, char **params, int pnr);
-enum inertgas {N2, HE};
-extern "C" double cache_value(int tissue, int timestep, enum inertgas gas);
-extern "C" void cache_insert(int tissue, int timestep, enum inertgas gas, double value);
-extern "C" void lock_planner();
-extern "C" void unlock_planner();
+#endif
+
+// 3) Functions visible to C and C++
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+const char *printGPSCoords(int lat, int lon);
+bool in_planner();
+bool getProxyString(char **buffer);
+bool canReachCloudServer();
+void updateWindowTitle();
+void subsurface_mkdir(const char *dir);
+char *get_file_name(const char *fileName);
+void copy_image_and_overwrite(const char *cfileName, const char *path, const char *cnewName);
+char *hashstring(const char *filename);
+bool picture_exists(struct picture *picture);
+char *move_away(const char *path);
+const char *local_file_path(struct picture *picture);
+void savePictureLocal(struct picture *picture, const char *data, int len);
+void cache_picture(struct picture *picture);
+char *cloud_url();
+char *hashfile_name_string();
+char *picturedir_string();
+const char *subsurface_user_agent();
+enum deco_mode decoMode();
+int parse_seabear_header(const char *filename, char **params, int pnr);
+const char *get_current_date();
+double cache_value(int tissue, int timestep, enum inertgas gas);
+void cache_insert(int tissue, int timestep, enum inertgas gas, double value);
+void print_qt_versions();
+void lock_planner();
+void unlock_planner();
+
+#ifdef __cplusplus
+}
+#endif
+
+
#endif // QTHELPER_H