#include #include #include #include struct collection { sd_bus_slot *slot; char *root, *path; int locked; char *alias, *label; uint64_t created, modified; LIST_ENTRY(collection) dlist; }; LIST_HEAD(collection_dlist, collection); void collection_free(struct collection *c); int collection_new(sd_bus *bus, struct sqlite3 *db, struct collection **p, const char *alias, const char *label, const char *root); int collection_root_make(const char *label, const char *alias, char **root); int collection_alias_search(struct collection_dlist *collections, const char *alias, struct collection **collection); int collection_db_alias_read(sd_bus *bus, struct sqlite3 *db, struct collection **p, const char *alias);