diff options
Diffstat (limited to '')
-rw-r--r-- | tracking.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tracking.h b/tracking.h new file mode 100644 index 0000000..e44383e --- /dev/null +++ b/tracking.h @@ -0,0 +1,53 @@ +#ifndef REPREPRO_TRACKING_H +#define REPREPRO_TRACKING_H + + +#ifndef REPREPRO_DATABASE_H +#include "database.h" +#endif +#ifndef REPREPRO_TRACKINGT_H +#include "trackingt.h" +#endif +#ifndef REPREPRO_DISTRIBUTION_H +#include "distribution.h" +#endif + +retvalue tracking_parse(struct distribution *, struct configiterator *); + +/* high-level retrack of the whole distribution */ +retvalue tracking_retrack(struct distribution *, bool /*evenifnotstale*/); + +retvalue tracking_initialize(/*@out@*/trackingdb *, struct distribution *, bool readonly); +retvalue tracking_done(trackingdb, struct distribution *distribution); +retvalue tracking_listdistributions(/*@out@*/struct strlist *); +retvalue tracking_drop(const char *); + +retvalue tracking_reset(trackingdb); +retvalue tracking_rereference(struct distribution *); + +retvalue trackedpackage_addfilekey(trackingdb, struct trackedpackage *, enum filetype, /*@only@*/char * /*filekey*/, bool /*used*/); +retvalue trackedpackage_adddupfilekeys(trackingdb, struct trackedpackage *, enum filetype, const struct strlist * /*filekeys*/, bool /*used*/); +retvalue trackedpackage_removefilekeys(trackingdb, struct trackedpackage *, const struct strlist *); +void trackedpackage_free(struct trackedpackage *); + +retvalue tracking_get(trackingdb, const char * /*sourcename*/, const char * /*version*/, /*@out@*/struct trackedpackage **); +retvalue tracking_getornew(trackingdb, const char * /*name*/, const char * /*version*/, /*@out@*/struct trackedpackage **); +retvalue tracking_save(trackingdb, /*@only@*/struct trackedpackage *); +retvalue tracking_remove(trackingdb, const char * /*sourcename*/, const char * /*version*/); +retvalue tracking_printall(trackingdb); + +retvalue trackingdata_summon(trackingdb, const char *, const char *, struct trackingdata *); +retvalue trackingdata_new(trackingdb, struct trackingdata *); +retvalue trackingdata_switch(struct trackingdata *, const char *, const char *); +struct package; +retvalue trackingdata_insert(struct trackingdata *, enum filetype, const struct strlist * /*filekeys*/, /*@null@*/const struct package * /*oldpackage*/, /*@null@*/const struct strlist * /*oldfilekeys*/); +retvalue trackingdata_remove(struct trackingdata *, const char */*oldsource*/, const char * /*oldversion*/, const struct strlist * /*filekeys*/); +void trackingdata_done(struct trackingdata *); +/* like _done but actually do something */ +retvalue trackingdata_finish(trackingdb, struct trackingdata *); + +/* look at all listed packages and remove everything not needed */ +retvalue tracking_tidyall(trackingdb); + +retvalue tracking_removepackages(trackingdb, struct distribution *, const char * /*sourcename*/, /*@null@*/const char * /*version*/); +#endif /*REPREPRO_TRACKING_H*/ |