summaryrefslogtreecommitdiffstats
path: root/dive.h
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2012-11-28 17:11:19 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2012-11-30 13:41:58 -0700
commit4c4dff76835a94c571f97dd0730168738501524e (patch)
tree9947139f905fb2b016b465f536483d24f5ec8b0e /dive.h
parenta79b74ed36f6a52db947ff24761a3fd331c75cdc (diff)
downloadsubsurface-4c4dff76835a94c571f97dd0730168738501524e.tar.gz
Convert Uemis downloader to directly create dives
The initial downloader reused the XML parsing of SDA files that was implemented early in order to support the information extracted from the SDA with the java applet. But creating this intermediary XML file and handing it off to the XML import function always seemed like an ugly way to do things. This became even more obvious when adding more features to the Uemis downloader. This commit completely changes the downloader to instead create dives and record them directly. This also adds support for divespots (which are stored in a seperate database that needs to be queried after the divelog and dive entries have been combined - the Uemis firmware clearly was written by monkeys on crack - oh wait: I'm trusting these same people to get the deco right?). This commit leaves the SDA import capability in the XML parser intact. I'll remove that later. Because of this it actually adds a few lines of code, but the overall change will be a substantial code deletion. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'dive.h')
-rw-r--r--dive.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/dive.h b/dive.h
index 4eb81752f..e03399ec1 100644
--- a/dive.h
+++ b/dive.h
@@ -405,6 +405,16 @@ static inline struct dive *get_dive(int nr)
return dive_table.dives[nr];
}
+static inline struct dive *get_dive_by_diveid(int diveid, int deviceid)
+{
+ int i;
+ for (i = 0; i < dive_table.nr; i++)
+ if (dive_table.dives[i]->dc.diveid == diveid &&
+ dive_table.dives[i]->dc.deviceid == deviceid)
+ return dive_table.dives[i];
+ return NULL;
+}
+
/*
* Iterate over each dive, with the first parameter being the index
* iterator variable, and the second one being the dive one.