mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Cleanup: move tag functions into own translation unit
Make dive.h a bit slimmer. It's only a drop in the bucket - but at least when modifying tag functions not the *whole* application is rebuilt anymore. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
46c69fccb7
commit
6200909ba4
25 changed files with 321 additions and 267 deletions
46
core/dive.h
46
core/dive.h
|
@ -177,52 +177,6 @@ struct sample // BASE TYPE BYTES UNITS RANGE
|
|||
// not calculated when planning a dive
|
||||
}; // Total size of structure: 57 bytes, excluding padding at end
|
||||
|
||||
struct divetag {
|
||||
/*
|
||||
* The name of the divetag. If a translation is available, name contains
|
||||
* the translated tag
|
||||
*/
|
||||
char *name;
|
||||
/*
|
||||
* If a translation is available, we write the original tag to source.
|
||||
* This enables us to write a non-localized tag to the xml file.
|
||||
*/
|
||||
char *source;
|
||||
};
|
||||
|
||||
struct tag_entry {
|
||||
struct divetag *tag;
|
||||
struct tag_entry *next;
|
||||
};
|
||||
|
||||
/*
|
||||
* divetags are only stored once, each dive only contains
|
||||
* a list of tag_entries which then point to the divetags
|
||||
* in the global g_tag_list
|
||||
*/
|
||||
|
||||
extern struct tag_entry *g_tag_list;
|
||||
|
||||
struct divetag *taglist_add_tag(struct tag_entry **tag_list, const char *tag);
|
||||
struct tag_entry *taglist_added(struct tag_entry *original_list, struct tag_entry *new_list);
|
||||
|
||||
/*
|
||||
* Writes all divetags form tag_list into internally allocated buffer
|
||||
* Function returns pointer to allocated buffer
|
||||
* Buffer contains comma separated list of tags names or null terminated string
|
||||
*
|
||||
* NOTE! The returned buffer must be freed once used.
|
||||
*/
|
||||
char *taglist_get_tagstring(struct tag_entry *tag_list);
|
||||
|
||||
/* cleans up a list: removes empty tags and duplicates */
|
||||
void taglist_cleanup(struct tag_entry **tag_list);
|
||||
|
||||
void taglist_init_global();
|
||||
void taglist_free(struct tag_entry *tag_list);
|
||||
struct tag_entry *taglist_copy(struct tag_entry *s);
|
||||
bool taglist_contains(struct tag_entry *tag_list, const char *tag);
|
||||
|
||||
struct extra_data {
|
||||
const char *key;
|
||||
const char *value;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue