summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-03-03 22:29:40 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-04-12 18:19:07 +0300
commitf3e1187e65df8e3fdd989cbee19ee2b9472c6735 (patch)
tree8127944c08d889184c980b1dfd94d611e09357f5
parent7c64822b9b73ef76e2310ff2931f76e29899535e (diff)
downloadsubsurface-f3e1187e65df8e3fdd989cbee19ee2b9472c6735.tar.gz
Cleanup: move parse-function declarations out of "dive.h"
Move the declaration of these functions to "file.h" and "parse.h" according to the translation unit they are defined in. Thus, not all users of "dive.h" have to suck in "sqlite3.h". Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-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()
{