summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/dive.h10
-rw-r--r--core/file.c1
-rw-r--r--core/file.h1
-rw-r--r--core/parse.h16
-rw-r--r--desktop-widgets/mainwindow.cpp1
-rw-r--r--desktop-widgets/subsurfacewebservices.cpp3
-rw-r--r--export-html.cpp2
-rw-r--r--mobile-widgets/qmlmanager.cpp1
-rw-r--r--tests/testdivesiteduplication.cpp1
-rw-r--r--tests/testparseperformance.cpp2
-rw-r--r--tests/testprofile.cpp1
11 files changed, 27 insertions, 12 deletions
diff --git a/core/dive.h b/core/dive.h
index 4760305ed..0e93b9671 100644
--- a/core/dive.h
+++ b/core/dive.h
@@ -10,7 +10,6 @@
#include <time.h>
#include <math.h>
#include <zip.h>
-#include <sqlite3.h>
#include <string.h>
#include <sys/stat.h>
#include "divesite.h"
@@ -478,15 +477,6 @@ extern int parse_xml_buffer(const char *url, const char *buf, int size, struct d
extern void parse_xml_exit(void);
extern void set_filename(const char *filename);
-extern int parse_dm4_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
-extern int parse_dm5_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
-extern int parse_shearwater_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
-extern int parse_shearwater_cloud_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
-extern int parse_cobalt_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
-extern int parse_divinglog_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
-extern int parse_dlf_buffer(unsigned char *buffer, size_t size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
-
-extern int parse_file(const char *filename, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
extern int save_dives(const char *filename);
extern int save_dives_logic(const char *filename, bool select_only, bool anonymize);
extern int save_dive(FILE *f, struct dive *dive, bool anonymize);
diff --git a/core/file.c b/core/file.c
index 8a1a1ec1e..2683b1dd6 100644
--- a/core/file.c
+++ b/core/file.c
@@ -17,6 +17,7 @@
#include "git-access.h"
#include "qthelper.h"
#include "import-csv.h"
+#include "parse.h"
/* For SAMPLE_* */
#include <libdivecomputer/parser.h>
diff --git a/core/file.h b/core/file.h
index a570e1330..24c9d47c6 100644
--- a/core/file.h
+++ b/core/file.h
@@ -16,6 +16,7 @@ extern int datatrak_import(struct memblock *mem, struct dive_table *table, struc
extern void ostctools_import(const char *file, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
extern int readfile(const char *filename, struct memblock *mem);
+extern int parse_file(const char *filename, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
extern int try_to_open_zip(const char *filename, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
#ifdef __cplusplus
}
diff --git a/core/parse.h b/core/parse.h
index eb07d9404..8aaef399e 100644
--- a/core/parse.h
+++ b/core/parse.h
@@ -4,6 +4,8 @@
#define MAX_EVENT_NAME 128
+#include <sqlite3.h>
+
typedef union {
struct event event;
char allocation[sizeof(struct event) + MAX_EVENT_NAME];
@@ -68,6 +70,9 @@ struct parser_state {
#define cur_event event_allocation.event
+#ifdef __cplusplus
+extern "C" {
+#endif
void init_parser_state(struct parser_state *state);
void free_parser_state(struct parser_state *state);
@@ -113,4 +118,15 @@ void utf8_string(char *buffer, void *_res);
void add_dive_site(char *ds_name, struct dive *dive, struct parser_state *state);
int atoi_n(char *ptr, unsigned int len);
+int parse_dm4_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
+int parse_dm5_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
+int parse_shearwater_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
+int parse_shearwater_cloud_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
+int parse_cobalt_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
+int parse_divinglog_buffer(sqlite3 *handle, const char *url, const char *buf, int size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
+int parse_dlf_buffer(unsigned char *buffer, size_t size, struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp
index de8ce9b0a..651d77053 100644
--- a/desktop-widgets/mainwindow.cpp
+++ b/desktop-widgets/mainwindow.cpp
@@ -20,6 +20,7 @@
#include "core/color.h"
#include "core/divecomputer.h"
#include "core/divesitehelpers.h"
+#include "core/file.h"
#include "core/gettextfromc.h"
#include "core/git-access.h"
#include "core/import-csv.h"
diff --git a/desktop-widgets/subsurfacewebservices.cpp b/desktop-widgets/subsurfacewebservices.cpp
index 87db7947c..e2c787990 100644
--- a/desktop-widgets/subsurfacewebservices.cpp
+++ b/desktop-widgets/subsurfacewebservices.cpp
@@ -7,11 +7,11 @@
#include "desktop-widgets/command.h"
#include "desktop-widgets/usersurvey.h"
#include "core/divelist.h"
+#include "core/file.h"
#include "desktop-widgets/mapwidget.h"
#include "desktop-widgets/tab-widgets/maintab.h"
#include "core/display.h"
#include "core/membuffer.h"
-#include <errno.h>
#include "core/cloudstorage.h"
#include "core/subsurface-string.h"
@@ -23,6 +23,7 @@
#include <qdesktopservices.h>
#include <QShortcut>
#include <QDebug>
+#include <errno.h>
#ifdef Q_OS_UNIX
#include <unistd.h> // for dup(2)
diff --git a/export-html.cpp b/export-html.cpp
index b0ee229f1..3e116f3cb 100644
--- a/export-html.cpp
+++ b/export-html.cpp
@@ -8,6 +8,8 @@
#include "core/qt-gui.h"
#include "core/qthelper.h"
+#include "core/file.h"
+#include "core/divesite.h"
#include "core/save-html.h"
#include <stdio.h>
#include "git2.h"
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index 3ec06dfe8..b8d83ef5d 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -26,6 +26,7 @@
#include "qt-models/messagehandlermodel.h"
#include "core/divelist.h"
#include "core/device.h"
+#include "core/file.h"
#include "core/qthelper.h"
#include "core/qt-gui.h"
#include "core/git-access.h"
diff --git a/tests/testdivesiteduplication.cpp b/tests/testdivesiteduplication.cpp
index 4b770d311..ae8488eb2 100644
--- a/tests/testdivesiteduplication.cpp
+++ b/tests/testdivesiteduplication.cpp
@@ -2,6 +2,7 @@
#include "testdivesiteduplication.h"
#include "core/dive.h"
#include "core/divesite.h"
+#include "core/file.h"
void TestDiveSiteDuplication::testReadV2()
{
diff --git a/tests/testparseperformance.cpp b/tests/testparseperformance.cpp
index 64625f269..37393f515 100644
--- a/tests/testparseperformance.cpp
+++ b/tests/testparseperformance.cpp
@@ -2,6 +2,7 @@
#include "testparseperformance.h"
#include "core/dive.h"
#include "core/divelist.h"
+#include "core/file.h"
#include "core/git-access.h"
#include "core/settings/qPrefProxy.h"
#include "core/settings/qPrefCloudStorage.h"
@@ -41,7 +42,6 @@ void TestParsePerformance::initTestCase()
QString localCacheDir(get_local_dir(LARGE_TEST_REPO, "git"));
QDir localCacheDirectory(localCacheDir);
QCOMPARE(localCacheDirectory.removeRecursively(), true);
-
}
void TestParsePerformance::init()
diff --git a/tests/testprofile.cpp b/tests/testprofile.cpp
index a093c9fe9..c35312123 100644
--- a/tests/testprofile.cpp
+++ b/tests/testprofile.cpp
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
#include "testprofile.h"
#include "core/dive.h"
+#include "core/file.h"
void TestProfile::testRedCeiling()
{