Dive sites: prepare for dive site ref-counting

Add a dive site table to each dive site to keep track of dives
that have been added to a dive site. Add two functions to add
dives to / remove dives from dive sites.

Since dive sites now contain a dive table, the order of includes
had to be changed: "divesite.h" now includes "dive.h" and not
vice-versa. This caused some include churn.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-03-04 23:20:29 +01:00 committed by Dirk Hohndel
parent f2cdca7bcc
commit c22fd9f4fd
38 changed files with 75 additions and 29 deletions

View file

@ -12,7 +12,6 @@
#include <zip.h>
#include <string.h>
#include <sys/stat.h>
#include "divesite.h"
#include "units.h"
@ -289,6 +288,8 @@ typedef struct trip_table {
} trip_table_t;
struct picture;
struct dive_site;
struct dive_site_table;
struct dive {
int number;
bool notrip; /* Don't autogroup this dive to a trip */
@ -747,12 +748,12 @@ extern void average_max_depth(struct diveplan *dive, int *avg_depth, int *max_de
* Note: we have to use the typedef "dive_table_t" instead of "struct dive_table",
* because MOC removes the "struct", but dive_table is already the name of a global
* variable, leading to compilation errors. Likewise for "struct trip_table" and
* "struct dive_site_table". */
* "struct dive_site_table" (defined in "divesite.h"). */
#include <QObject>
Q_DECLARE_METATYPE(struct dive *);
Q_DECLARE_METATYPE(struct dive_trip *);
Q_DECLARE_METATYPE(dive_table_t *);
Q_DECLARE_METATYPE(trip_table_t *);
Q_DECLARE_METATYPE(dive_site_table_t *);
#endif