mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: move dive-site-table functions into class
There were a number of free standing functions acting on a dive-site-table. Make them member functions. This allows for shorter names. Use the get_idx() function of the base class, which returns a size_t instead of an int (since that is what the standard, somewhat unfortunately, uses). Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
6b835710bc
commit
76c52c87a3
19 changed files with 87 additions and 99 deletions
|
|
@ -35,26 +35,25 @@ inline int divesite_comp_uuid(const dive_site &ds1, const dive_site &ds2)
|
|||
|
||||
class dive_site_table : public sorted_owning_table<dive_site, &divesite_comp_uuid> {
|
||||
public:
|
||||
put_result register_site(std::unique_ptr<dive_site> site);
|
||||
put_result register_site(std::unique_ptr<dive_site> site); // Creates or changes UUID if duplicate
|
||||
dive_site *get_by_uuid(uint32_t uuid) const;
|
||||
dive_site *alloc_or_get(uint32_t uuid);
|
||||
dive_site *create(const std::string &name);
|
||||
dive_site *create(const std::string &name, const location_t *);
|
||||
dive_site *find_or_create(const std::string &name);
|
||||
dive_site *get_by_name(const std::string &name) const;
|
||||
dive_site *get_by_gps(const location_t *) const;
|
||||
dive_site *get_by_gps_and_name(const std::string &name, const location_t *) const;
|
||||
dive_site *get_by_gps_proximity(const location_t *, int distance) const;
|
||||
void purge_empty();
|
||||
};
|
||||
|
||||
int get_divesite_idx(const struct dive_site *ds, dive_site_table &ds_table);
|
||||
struct dive_site *get_dive_site_by_uuid(uint32_t uuid, dive_site_table &ds_table);
|
||||
struct dive_site *alloc_or_get_dive_site(uint32_t uuid, dive_site_table &ds_table);
|
||||
size_t nr_of_dives_at_dive_site(const struct dive_site &ds);
|
||||
bool is_dive_site_selected(const struct dive_site &ds);
|
||||
struct dive_site *create_dive_site(const std::string &name, dive_site_table &ds_table);
|
||||
struct dive_site *create_dive_site_with_gps(const std::string &name, const location_t *, dive_site_table &ds_table);
|
||||
struct dive_site *get_dive_site_by_name(const std::string &name, dive_site_table &ds_table);
|
||||
struct dive_site *get_dive_site_by_gps(const location_t *, dive_site_table &ds_table);
|
||||
struct dive_site *get_dive_site_by_gps_and_name(const std::string &name, const location_t *, dive_site_table &ds_table);
|
||||
struct dive_site *get_dive_site_by_gps_proximity(const location_t *, int distance, dive_site_table &ds_table);
|
||||
struct dive_site *get_same_dive_site(const struct dive_site &);
|
||||
bool dive_site_is_empty(struct dive_site *ds);
|
||||
void merge_dive_site(struct dive_site *a, struct dive_site *b);
|
||||
unsigned int get_distance(const location_t *loc1, const location_t *loc2);
|
||||
struct dive_site *find_or_create_dive_site_with_name(const std::string &name, dive_site_table &ds_table);
|
||||
void purge_empty_dive_sites(dive_site_table &ds_table);
|
||||
void add_dive_to_dive_site(struct dive *d, struct dive_site *ds);
|
||||
struct dive_site *unregister_dive_from_dive_site(struct dive *d);
|
||||
std::string constructLocationTags(const taxonomy_data &taxonomy, bool for_maintab);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue