summaryrefslogtreecommitdiffstats
path: root/pool.h
blob: a346c486bc2dcd72863fcb81ab8ae8c1f2dfd530 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef REPREPRO_POOL_H
#define REPREPRO_POOL_H

#ifndef REPREPRO_ERROR_H
#include "error.h"
#endif
#ifndef REPREPRO_DATABASE_H
#include "database.h"
#endif

extern bool pool_havedereferenced;

/* called from references.c to note the file lost a reference */
retvalue pool_dereferenced(const char *);
/* called from files.c to note the file was added or forgotten */
retvalue pool_markadded(const char *);
retvalue pool_markdeleted(const char *);

/* Remove all files that lost their last reference, or only count them */
retvalue pool_removeunreferenced(bool /*delete*/);

/* Delete all added files that are not used, or only count them */
void pool_tidyadded(bool deletenew);

/* delete and forget a single file */
retvalue pool_delete(const char *);

/* notify outhook of new files */
void pool_sendnewfiles(void);

/* free all memory, to make valgrind happier */
void pool_free(void);
#endif