mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Add dive site data structure
This leaves location and gps coordinates in the struct dive to allow a step by step migration. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
9edb7811ef
commit
dcfda29da6
4 changed files with 52 additions and 0 deletions
1
dive.h
1
dive.h
|
@ -319,6 +319,7 @@ struct dive {
|
|||
bool downloaded;
|
||||
timestamp_t when;
|
||||
char *location;
|
||||
uint32_t dive_site_uuid;
|
||||
char *notes;
|
||||
char *divemaster, *buddy;
|
||||
int rating;
|
||||
|
|
2
divesite.c
Normal file
2
divesite.c
Normal file
|
@ -0,0 +1,2 @@
|
|||
/* divesite.c */
|
||||
#include "divesite.h"
|
47
divesite.h
Normal file
47
divesite.h
Normal file
|
@ -0,0 +1,47 @@
|
|||
#ifndef DIVESITE_H
|
||||
#define DIVESITE_H
|
||||
|
||||
#include "units.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
struct dive_site
|
||||
{
|
||||
uint32_t uuid;
|
||||
char *name;
|
||||
degrees_t latitude, longitude;
|
||||
char *description;
|
||||
char *notes;
|
||||
};
|
||||
|
||||
struct dive_site_table {
|
||||
int nr, allocated;
|
||||
struct dive_site **dive_sites;
|
||||
};
|
||||
|
||||
extern struct dive_site_table dive_site_table;
|
||||
|
||||
static inline struct dive_site *get_dive_site(int nr)
|
||||
{
|
||||
if (nr >= dive_site_table.nr || nr < 0)
|
||||
return NULL;
|
||||
return dive_site_table.dive_sites[nr];
|
||||
}
|
||||
|
||||
static inline struct dive_site *get_dive_site_by_uuid(uint32_t uuid)
|
||||
{
|
||||
for (int i = 0; i < dive_site_table.nr; i++)
|
||||
if (get_dive_site(i)->uuid == uuid)
|
||||
return get_dive_site(i);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* there could be multiple sites of the same name - return the first one */
|
||||
static inline struct dive_site *get_dive_site_by_name(const char *name)
|
||||
{
|
||||
for (int i = 0; i < dive_site_table.nr; i++)
|
||||
if (get_dive_site(i)->name == name)
|
||||
return get_dive_site(i);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#endif // DIVESITE_H
|
|
@ -29,6 +29,7 @@ HEADERS = \
|
|||
display.h \
|
||||
dive.h \
|
||||
divelist.h \
|
||||
divesite.h \
|
||||
file.h \
|
||||
gettextfromc.h \
|
||||
gettext.h \
|
||||
|
@ -119,6 +120,7 @@ SOURCES = \
|
|||
device.c \
|
||||
dive.c \
|
||||
divelist.c \
|
||||
divesite.c \
|
||||
equipment.c \
|
||||
file.c \
|
||||
gettextfromc.cpp \
|
||||
|
|
Loading…
Reference in a new issue