Start handling dive events

Parse them, save them, take them from libdivecomputer.

This doesn't merge them or show them in the profile yet, though.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Linus Torvalds 2011-09-22 18:02:54 -07:00
parent 50c2bb7c71
commit 3a77eb8510
5 changed files with 112 additions and 8 deletions

18
dive.h
View file

@ -142,6 +142,21 @@ struct sample {
int cylinderindex;
};
/*
* Events are currently pretty meaningless. This is
* just based on the random data that libdivecomputer
* gives us. I'm not sure what a real "architected"
* event model would actually look like, but right
* now you can associate a list of events with a dive,
* and we'll do something about it.
*/
struct event {
struct event *next;
duration_t time;
int type, flags, value;
char name[];
};
#define MAX_CYLINDERS (8)
struct dive {
@ -156,6 +171,7 @@ struct dive {
depth_t visibility;
temperature_t airtemp, watertemp;
cylinder_t cylinder[MAX_CYLINDERS];
struct event *events;
int samples, alloc_samples;
struct sample sample[];
};
@ -227,6 +243,8 @@ extern struct dive *try_to_merge(struct dive *a, struct dive *b);
extern void renumber_dives(int nr);
extern void add_event(struct dive *dive, int time, int type, int flags, int value, const char *name);
/* UI related protopypes */
extern void init_ui(int argc, char **argv);