From 6f25713408797bb5563af730ca991bc5ec474e33 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Fri, 9 Jan 2015 14:35:31 -0800 Subject: 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 --- dive.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'dive.h') 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); -- cgit v1.2.3-70-g09d2