summaryrefslogtreecommitdiffstats
path: root/dive.h
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-01-09 14:35:31 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-01-09 15:06:18 -0800
commit6f25713408797bb5563af730ca991bc5ec474e33 (patch)
tree799d7cf822049bc41d33e31c3063e80ce76142b6 /dive.h
parenta92484e4edd7ad2609d9d9e09cdb064e370e745d (diff)
downloadsubsurface-6f25713408797bb5563af730ca991bc5ec474e33.tar.gz
Add more infrastructure for a separate dive table
This will allow us to download the dives from the dive computer into a separate table just for that purpose and not into the main dive_table. I really dislike the code that's in place that dates back to the very earliest code written for Subsurface. Dumping the dives straight into the main dive_table seems really stupid to me. 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 5648f7ed5..d99f90073 100644
--- a/dive.h
+++ b/dive.h
@@ -506,6 +506,13 @@ static inline struct dive *get_dive(int nr)
return dive_table.dives[nr];
}
+static inline struct dive *get_dive_from_table(int nr, struct dive_table *dt)
+{
+ if (nr >= dt->nr || nr < 0)
+ return NULL;
+ return dt->dives[nr];
+}
+
static inline unsigned int number_of_computers(struct dive *dive)
{
unsigned int total_number = 0;
@@ -677,12 +684,15 @@ extern timestamp_t utc_mktime(struct tm *tm);
extern void utc_mkdate(timestamp_t, struct tm *tm);
extern struct dive *alloc_dive(void);
+extern void record_dive_to_table(struct dive *dive, struct dive_table *table);
extern void record_dive(struct dive *dive);
extern void clear_dive(struct dive *dive);
extern void copy_dive(struct dive *s, struct dive *d);
extern void selective_copy_dive(struct dive *s, struct dive *d, struct dive_components what, bool clear);
extern struct dive *clone_dive(struct dive *s);
+extern void clear_table(struct dive_table *table);
+
extern struct sample *prepare_sample(struct divecomputer *dc);
extern void finish_sample(struct divecomputer *dc);