#include <stdbool.h>
#include <inttypes.h>
+#include <stdio.h>
typedef struct Manager Manager;
struct Manager {
uint32_t current_job_id;
+ /* Note that the set of names we know of is allowed to be
+ * incosistent. However the subset of it that is loaded may
+ * not, and the list of jobs may neither. */
+
/* Active jobs and names */
Hashmap *names; /* name string => Name object n:1 */
Hashmap *jobs; /* job id => Job object 1:1 */
/* Jobs to be added resp. removed. */
Hashmap *jobs_to_add; /* Name object => Job object 1:1 */
Set *jobs_to_remove;
+
+ bool dispatching_load_queue:1;
+
+ unsigned n_dependency_depth;
};
Manager* manager_new(void);
int manager_load_name(Manager *m, const char *name, Name **_ret);
int manager_add_job(Manager *m, JobType job, Name *name, JobMode mode, Job **_ret);
+void manager_dump_names(Manager *s, FILE *f);
+void manager_dump_jobs(Manager *s, FILE *f);
+
#endif