Use structures for generating units
[src/app-framework-main.git] / src / wgtpkg-unit.h
index 4843685..8acc62e 100644 (file)
@@ -18,6 +18,8 @@
 
 
 struct json_object;
+struct wgt_info;
+
 
 enum unitscope {
        unitscope_unknown = 0,
@@ -38,8 +40,25 @@ struct unitdesc {
        size_t name_length;
        const char *content;
        size_t content_length;
+       const char *wanted_by;
+       size_t wanted_by_length;
+};
+
+struct unitconf {
+       const char *installdir;
+       const char *icondir;
+       int port;
+};
+
+struct generatedesc {
+       const struct unitconf *conf;
+       const struct unitdesc *units;
+       int nunits;
 };
 
 extern int unit_generator_on(const char *filename);
 extern void unit_generator_off();
-extern int unit_generator_process(struct json_object *jdesc, int (*process)(void *closure, const struct unitdesc descs[], unsigned count), void *closure);
+extern int unit_generator_process(struct json_object *jdesc, const struct unitconf *conf, int (*process)(void *closure, const struct generatedesc *desc), void *closure);
+extern int unit_install(struct wgt_info *ifo, const struct unitconf *conf);
+extern int unit_uninstall(struct wgt_info *ifo, const struct unitconf *conf);
+