diff options
author | José Bollo <jose.bollo@iot.bzh> | 2016-10-11 17:07:16 +0200 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2017-01-26 21:40:08 +0100 |
commit | 1d4de11a907e41c06063a2cd5028dc4101690f50 (patch) | |
tree | 69af98bbe6512cdbcab33267574c131f85ffd597 /src/wgtpkg-unit.h | |
parent | bfc9c138b1a9e87f9d387e2f900c14807c9da9b9 (diff) |
Prepare the Integration with systemd
This is an intermediate commit providing
basic functionnalities for setting up
integration of the framework with systemd.
- file afm-unit.conf is a mustache template
- translation of config.xml to json object
- mustache (extended) application of the json to the template
- post processing of the result for extracting unit files
This processing is currently available as a test
(and a tool) and will be integrated after more
developement, test and validation.
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/wgtpkg-unit.h')
-rw-r--r-- | src/wgtpkg-unit.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/wgtpkg-unit.h b/src/wgtpkg-unit.h new file mode 100644 index 0000000..4843685 --- /dev/null +++ b/src/wgtpkg-unit.h @@ -0,0 +1,45 @@ +/* + Copyright 2016, 2017 IoT.bzh + + author: José Bollo <jose.bollo@iot.bzh> + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + + +struct json_object; + +enum unitscope { + unitscope_unknown = 0, + unitscope_system, + unitscope_user +}; + +enum unittype { + unittype_unknown = 0, + unittype_service, + unittype_socket +}; + +struct unitdesc { + enum unitscope scope; + enum unittype type; + const char *name; + size_t name_length; + const char *content; + size_t content_length; +}; + +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); |