summaryrefslogtreecommitdiffstats
path: root/core/import-shearwater.c
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-02-28 22:45:17 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-04-12 18:19:07 +0300
commit37146c5742503becf75468fb07aab56011cb9101 (patch)
tree666e4d609b3d9b882082fcc258d6d153c6c68fa5 /core/import-shearwater.c
parent926b6895bbce7cc539ca4d0c3a425876dfa33d6b (diff)
downloadsubsurface-37146c5742503becf75468fb07aab56011cb9101.tar.gz
Parser: parse into custom dive site table
To extend the undo system to dive sites, the importers and downloaders must not parse directly into the global dive site table. Instead, pass a dive_site_table argument to parse into. For now, always pass the global dive_site_table so that this commit should not cause any functional change. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/import-shearwater.c')
-rw-r--r--core/import-shearwater.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/import-shearwater.c b/core/import-shearwater.c
index b4815d960..285b5034d 100644
--- a/core/import-shearwater.c
+++ b/core/import-shearwater.c
@@ -438,7 +438,7 @@ static int shearwater_cloud_dive(void *param, int columns, char **data, char **c
}
int parse_shearwater_buffer(sqlite3 *handle, const char *url, const char *buffer, int size,
- struct dive_table *table, struct trip_table *trips)
+ struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites)
{
UNUSED(buffer);
UNUSED(size);
@@ -450,6 +450,7 @@ int parse_shearwater_buffer(sqlite3 *handle, const char *url, const char *buffer
init_parser_state(&state);
state.target_table = table;
state.trips = trips;
+ state.sites = sites;
state.sql_handle = handle;
// So far have not seen any sample rate in Shearwater Desktop
@@ -469,7 +470,7 @@ int parse_shearwater_buffer(sqlite3 *handle, const char *url, const char *buffer
}
int parse_shearwater_cloud_buffer(sqlite3 *handle, const char *url, const char *buffer, int size,
- struct dive_table *table, struct trip_table *trips)
+ struct dive_table *table, struct trip_table *trips, struct dive_site_table *sites)
{
UNUSED(buffer);
UNUSED(size);
@@ -481,6 +482,7 @@ int parse_shearwater_cloud_buffer(sqlite3 *handle, const char *url, const char *
init_parser_state(&state);
state.target_table = table;
state.trips = trips;
+ state.sites = sites;
state.sql_handle = handle;
char get_dives[] = "select l.number,strftime('%s', DiveDate),location||' / '||site,buddy,notes,imperialUnits,maxDepth,maxTime,startSurfacePressure,computerSerial,computerModel,d.diveId,l.sampleRateMs FROM dive_details AS d JOIN dive_logs AS l ON d.diveId=l.diveId";