#ifndef TRACKDB_H
#define TRACKDB_H
-struct ev_source;
+#include <pcre.h>
+
+#include "event.h"
+#include "rights.h"
extern const struct cache_type cache_files_type;
extern unsigned long cache_files_hits, cache_files_misses;
/* return a list of tracks containing all of the words given. If you
* ask for only stopwords you get no tracks. */
-void trackdb_rescan(struct ev_source *ev, int recheck);
+void trackdb_rescan(struct ev_source *ev, int recheck,
+ void (*rescanned)(void *ru),
+ void *ru);
/* Start a rescan, if one is not running already */
int trackdb_rescan_cancel(void);
char **trackdb_listusers(void);
int trackdb_confirm(const char *user, const char *confirmation,
rights_type *rightsp);
+int trackdb_readable(void);
typedef void random_callback(struct ev_source *ev,
const char *track);
int trackdb_request_random(struct ev_source *ev,
random_callback *callback);
+void trackdb_add_rescanned(void (*rescanned)(void *ru),
+ void *ru);
+int trackdb_rescan_underway(void);
#endif /* TRACKDB_H */