diff --git a/src/include/66/service.h b/src/include/66/service.h index 186ddd32afdc926d156b7e4e6a840dca75976a97..c57f5eedc14f55e05ad707deadd603dce889bb79 100644 --- a/src/include/66/service.h +++ b/src/include/66/service.h @@ -32,11 +32,10 @@ struct resolve_service_addon_path_s { uint32_t home ; // string, /var/lib/66 or /home/user/.66 uint32_t frontend ; // string, /home/<user>/.66/service or /etc/66/service or /usr/lib/66/service - uint32_t tree ; // string, /var/lib/66/system/treename - uint32_t status ; //string, /var/lib/66/system/treename/servicedirs/svc/service_name/state/status + uint32_t status ; //string, /var/lib/66/system/service/svc/service_name/state/status } ; -#define RESOLVE_SERVICE_ADDON_PATH_ZERO { 0,0,0,0 } +#define RESOLVE_SERVICE_ADDON_PATH_ZERO { 0,0,0 } typedef struct resolve_service_addon_dependencies_s resolve_service_addon_dependencies_t, *resolve_service_addon_dependencies_t_ref ; struct resolve_service_addon_dependencies_s @@ -97,11 +96,11 @@ typedef struct resolve_service_addon_live_s resolve_service_addon_live_t, *resol struct resolve_service_addon_live_s { uint32_t livedir ; // string, /run/66 - uint32_t scandir ; // string, /run/66/state/uid/service_name/scandir/service_name -> /var/lib/66/system/treename/svc/service -> /run/66/scandir/uid - uint32_t statedir ; // string, /run/66/state/uid/service_name/state -> /var/lib/66/system/treename/svc/service/state - uint32_t eventdir ; // string, /run/66/state/uid/service_name/event -> /var/lib/66/system/treename/svc/service/event - uint32_t notifdir ; // string, /run/66/state/uid/service_name/notif -> /var/lib/66/system/treename/svc/service/notif - uint32_t supervisedir ; // string, /run/66/state/uid/service_name/supervise -> /var/lib/66/system/treename/svc/service/supervise + uint32_t scandir ; // string, /run/66/state/uid/service_name/scandir/service_name -> /var/lib/66/system/service/svc/service_name -> /run/66/scandir/uid + uint32_t statedir ; // string, /run/66/state/uid/service_name/state -> /var/lib/66/system/service/svc/service_name/state + uint32_t eventdir ; // string, /run/66/state/uid/service_name/event -> /var/lib/66/system/service/svc/service_name/event + uint32_t notifdir ; // string, /run/66/state/uid/service_name/notif -> /var/lib/66/system/service/svc/service_name/notif + uint32_t supervisedir ; // string, /run/66/state/uid/service_name/supervise -> /var/lib/66/system/service/svc/service_name/supervise uint32_t fdholderdir ; // string, /run/66/state/uid/service_name/scandir/fdholder uint32_t oneshotddir ; // string, /run/66/state/uid/service_name/scandir/oneshotd } ; @@ -223,7 +222,6 @@ enum resolve_service_enum_e // path E_RESOLVE_SERVICE_HOME, E_RESOLVE_SERVICE_FRONTEND, - E_RESOLVE_SERVICE_TREE, E_RESOLVE_SERVICE_STATUS, // dependencies @@ -294,56 +292,7 @@ enum resolve_service_enum_e } ; -typedef struct resolve_service_master_s resolve_service_master_t, *resolve_service_master_t_ref ; -struct resolve_service_master_s -{ - uint32_t salen ; - stralloc sa ; - - uint32_t name ; - - uint32_t classic ; - uint32_t bundle ; - uint32_t oneshot ; - uint32_t module ; - uint32_t enabled ; - uint32_t disabled ; - uint32_t contents ; - - uint32_t nclassic ; - uint32_t nbundle ; - uint32_t noneshot ; - uint32_t nmodule ; - uint32_t nenabled ; - uint32_t ndisabled ; - uint32_t ncontents ; -} ; -#define RESOLVE_SERVICE_MASTER_ZERO { 0,STRALLOC_ZERO,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } - -typedef enum resolve_service_master_enum_e resolve_service_master_enum_t, *resolve_service_master_enum_t_ref; -enum resolve_service_master_enum_e -{ - E_RESOLVE_SERVICE_MASTER_NAME = 0, - E_RESOLVE_SERVICE_MASTER_CLASSIC, - E_RESOLVE_SERVICE_MASTER_BUNDLE, - E_RESOLVE_SERVICE_MASTER_ONESHOT, - E_RESOLVE_SERVICE_MASTER_MODULE, - E_RESOLVE_SERVICE_MASTER_ENABLED, - E_RESOLVE_SERVICE_MASTER_DISABLED, - E_RESOLVE_SERVICE_MASTER_CONTENTS, - E_RESOLVE_SERVICE_MASTER_NCLASSIC, - E_RESOLVE_SERVICE_MASTER_NBUNDLE, - E_RESOLVE_SERVICE_MASTER_NONESHOT, - E_RESOLVE_SERVICE_MASTER_NMODULE, - E_RESOLVE_SERVICE_MASTER_NENABLED, - E_RESOLVE_SERVICE_MASTER_NDISABLED, - E_RESOLVE_SERVICE_MASTER_NCONTENTS, - E_RESOLVE_SERVICE_MASTER_ENDOFKEY -} ; - extern resolve_field_table_t resolve_service_field_table[] ; -extern resolve_field_table_t resolve_service_master_field_table[] ; - extern int service_cmp_basedir(char const *dir) ; extern int service_endof_dir(char const *dir, char const *name) ; @@ -360,15 +309,6 @@ extern int service_resolve_write(resolve_service_t *res) ; extern int service_resolve_write_cdb(cdbmaker *c, resolve_service_t *sres) ; extern void service_enable_disable(graph_t *g, char const *base, char const *sv, uint8_t action) ; -/** Master */ -extern int service_resolve_master_copy(resolve_service_master_t *dst, resolve_service_master_t *mres) ; -extern int service_resolve_master_create(char const *base, char const *treename) ; -extern int service_resolve_master_get_field_tosa(stralloc *sa, resolve_service_master_t *mres, resolve_service_master_enum_t field) ; -extern int service_resolve_master_modify_field(resolve_service_master_t *mres, uint8_t field, char const *data) ; -extern int service_resolve_master_read_cdb(cdb *c, resolve_service_master_t *tres) ; -extern int service_resolve_master_write(graph_t *graph, char const *dest) ; -extern int service_resolve_master_write_cdb(cdbmaker *c, resolve_service_master_t *mres) ; - /** Graph */ extern void service_graph_g(char const *alist, size_t alen, graph_t *graph, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint32_t flag) ; extern void service_graph_collect(graph_t *g, char const *alist, size_t alen, resolve_service_t *ares, unsigned int *areslen, ssexec_t *info, uint32_t flag) ; diff --git a/src/lib66/resolve/resolve_check_g.c b/src/lib66/resolve/resolve_check_g.c index 5598d2c5fe76fdb6f9ec894ff6826493a8f013a1..664cc9f26851ba6e50a7090978d9b7601f5ce476 100644 --- a/src/lib66/resolve/resolve_check_g.c +++ b/src/lib66/resolve/resolve_check_g.c @@ -30,7 +30,7 @@ int resolve_check_g(resolve_wrapper_t *wres, char const *base, char const *name) char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + 1] ; - if (wres->type == DATA_SERVICE || wres->type == DATA_SERVICE_MASTER) { + if (wres->type == DATA_SERVICE) { auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name) ; diff --git a/src/lib66/resolve/resolve_get_field_tosa.c b/src/lib66/resolve/resolve_get_field_tosa.c index 51fa494d4fbf89e3195261bfa854a3668e833d32..2b1a2b949b9f8673370a24ebf0b8729009ed7007 100644 --- a/src/lib66/resolve/resolve_get_field_tosa.c +++ b/src/lib66/resolve/resolve_get_field_tosa.c @@ -32,12 +32,6 @@ int resolve_get_field_tosa(stralloc *sa, resolve_wrapper_t_ref wres, uint8_t fie return service_resolve_get_field_tosa(sa, res, field) ; - } else if (wres->type == DATA_SERVICE_MASTER) { - - resolve_service_master_t_ref res = (resolve_service_master_t *)wres->obj ; - - return service_resolve_master_get_field_tosa(sa, res, field) ; - } else if (wres->type == DATA_TREE) { resolve_tree_t_ref res = (resolve_tree_t *)wres->obj ; diff --git a/src/lib66/resolve/resolve_get_field_tosa_g.c b/src/lib66/resolve/resolve_get_field_tosa_g.c index 08fedd32ddb7e5c6dc23f663b514ab418e84d7df..2bd7413f6cb8bc38bdc41a7557ed9d20c4b1fc53 100644 --- a/src/lib66/resolve/resolve_get_field_tosa_g.c +++ b/src/lib66/resolve/resolve_get_field_tosa_g.c @@ -36,7 +36,6 @@ int resolve_get_field_tosa_g(stralloc *sa, char const *base, char const *name, u int e = 0 ; resolve_service_t res = RESOLVE_SERVICE_ZERO ; - resolve_service_master_t mres = RESOLVE_SERVICE_MASTER_ZERO ; resolve_tree_t tres = RESOLVE_TREE_ZERO ; resolve_tree_master_t tmres = RESOLVE_TREE_MASTER_ZERO ; resolve_wrapper_t_ref wres = 0 ; @@ -45,10 +44,6 @@ int resolve_get_field_tosa_g(stralloc *sa, char const *base, char const *name, u wres = resolve_set_struct(data_type, &res) ; - } else if (data_type == DATA_SERVICE_MASTER) { - - wres = resolve_set_struct(data_type, &mres) ; - } else if (data_type == DATA_TREE) { wres = resolve_set_struct(data_type, &tres) ; diff --git a/src/lib66/resolve/resolve_modify_field.c b/src/lib66/resolve/resolve_modify_field.c index 101dbe50d95d36fe086463722cd76fd0cdfcc023..ac3fc5071efe09ded36a848781c948e2075da177 100644 --- a/src/lib66/resolve/resolve_modify_field.c +++ b/src/lib66/resolve/resolve_modify_field.c @@ -32,14 +32,6 @@ int resolve_modify_field(resolve_wrapper_t_ref wres, uint8_t field, char const * return service_resolve_modify_field(res, field, by) ; - } else if (wres->type == DATA_SERVICE_MASTER) { - - resolve_service_master_t_ref res = (resolve_service_master_t *)wres->obj ; - - log_trace("modify field ", resolve_service_master_field_table[field].field," of resolve Master file of services with value: ", by) ; - - return service_resolve_master_modify_field(res, field, by) ; - } else if (wres->type == DATA_TREE) { resolve_tree_t_ref res = (resolve_tree_t *)wres->obj ; diff --git a/src/lib66/resolve/resolve_read_cdb.c b/src/lib66/resolve/resolve_read_cdb.c index 43dde9d204baaf0808c287443b8ccaca14994430..36df6e973c3f9de5e437415a07cb72e927f97135 100644 --- a/src/lib66/resolve/resolve_read_cdb.c +++ b/src/lib66/resolve/resolve_read_cdb.c @@ -46,11 +46,6 @@ int resolve_read_cdb(resolve_wrapper_t *wres, char const *file) if (!service_resolve_read_cdb(&c, ((resolve_service_t *)wres->obj))) goto err ; - } else if (wres->type == DATA_SERVICE_MASTER) { - - if (!service_resolve_master_read_cdb(&c, ((resolve_service_master_t *)wres->obj))) - goto err ; - } else if (wres->type == DATA_TREE){ if (!tree_resolve_read_cdb(&c, ((resolve_tree_t *)wres->obj))) diff --git a/src/lib66/resolve/resolve_read_g.c b/src/lib66/resolve/resolve_read_g.c index d7167779ddba98a2b8671cb5822a5f8525c2e166..2ea787d96877e54cf8103c768f93f6323f803449 100644 --- a/src/lib66/resolve/resolve_read_g.c +++ b/src/lib66/resolve/resolve_read_g.c @@ -32,7 +32,7 @@ int resolve_read_g(resolve_wrapper_t *wres, char const *base, char const *name) char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + namelen + 1] ; - if (wres->type == DATA_SERVICE || wres->type == DATA_SERVICE_MASTER) { + if (wres->type == DATA_SERVICE) { auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name) ; diff --git a/src/lib66/resolve/resolve_remove_g.c b/src/lib66/resolve/resolve_remove_g.c index ae12d424fbe1ce63907579a92aafb076281c662c..64aeb014aef2710b49069f935d97c50f2cedba4a 100644 --- a/src/lib66/resolve/resolve_remove_g.c +++ b/src/lib66/resolve/resolve_remove_g.c @@ -32,7 +32,7 @@ void resolve_remove_g(char const *base, char const *name, uint8_t data_type) size_t namelen = strlen(name) ; char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + namelen + 1] ; - if (data_type == DATA_SERVICE || data_type == DATA_SERVICE_MASTER) { + if (data_type == DATA_SERVICE) { auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name) ; diff --git a/src/lib66/resolve/resolve_write_cdb.c b/src/lib66/resolve/resolve_write_cdb.c index 2f6d88d7de251f9319d5f73c245edf064169ee3e..4ece9f147b7da0e8a581b214b92ef88b4737eda2 100644 --- a/src/lib66/resolve/resolve_write_cdb.c +++ b/src/lib66/resolve/resolve_write_cdb.c @@ -56,11 +56,6 @@ int resolve_write_cdb(resolve_wrapper_t *wres, char const *file) if (!service_resolve_write_cdb(&c, ((resolve_service_t *)wres->obj))) goto err ; - } else if (wres->type == DATA_SERVICE_MASTER) { - - if (!service_resolve_master_write_cdb(&c, ((resolve_service_master_t *)wres->obj))) - goto err ; - } else if (wres->type == DATA_TREE) { if (!tree_resolve_write_cdb(&c, ((resolve_tree_t *)wres->obj))) diff --git a/src/lib66/resolve/resolve_write_g.c b/src/lib66/resolve/resolve_write_g.c index e0441575bffa4e5ee0dc9ec8a3f4bb3dff676ba2..ca225ce730dbb69e61dac1ab12599a49c225b57d 100644 --- a/src/lib66/resolve/resolve_write_g.c +++ b/src/lib66/resolve/resolve_write_g.c @@ -29,7 +29,7 @@ int resolve_write_g(resolve_wrapper_t *wres, char const *base, char const *name) char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + 1] ; - if (wres->type == DATA_SERVICE || wres->type == DATA_SERVICE_MASTER) { + if (wres->type == DATA_SERVICE) { auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name) ; diff --git a/src/lib66/service/deps-lib/deps b/src/lib66/service/deps-lib/deps index 26051bc8acaf966fc3664475e06776b24d4e8457..7c95830e872611c71b4c8ea2ab8ab0598ac1de74 100644 --- a/src/lib66/service/deps-lib/deps +++ b/src/lib66/service/deps-lib/deps @@ -11,16 +11,8 @@ service_resolve_array_free.o service_resolve_array_search.o service_resolve_copy.o service_resolve_get_field_tosa.o -service_resolve_master_copy.o -service_resolve_master_create.o -service_resolve_master_get_field_tosa.o -service_resolve_master_modify_field.o -service_resolve_master_read_cdb.o -service_resolve_master_write.o -service_resolve_master_write_cdb.o service_resolve_modify_field.o service_resolve_read_cdb.o -service_resolve_sort_bytype.o service_resolve_write.o service_resolve_write_cdb.o -loblibs diff --git a/src/lib66/service/service_resolve_master_copy.c b/src/lib66/service/service_resolve_master_copy.c deleted file mode 100644 index 967913298e1c0a5fa48c40ed5c0871cdaf8dcfc2..0000000000000000000000000000000000000000 --- a/src/lib66/service/service_resolve_master_copy.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * service_resolve_master_copy.c - * - * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> - * - * All rights reserved. - * - * This file is part of Obarun. It is subject to the license terms in - * the LICENSE file found in the top-level directory of this - * distribution. - * This file may not be copied, modified, propagated, or distributed - * except according to the terms contained in the LICENSE file. - */ - -#include <stddef.h> - -#include <oblibs/log.h> - -#include <skalibs/stralloc.h> - -#include <66/service.h> - -int service_resolve_master_copy(resolve_service_master_t *dst, resolve_service_master_t *mres) -{ - log_flow() ; - - stralloc_free(&dst->sa) ; - - size_t len = mres->sa.len - 1 ; - dst->salen = mres->salen ; - - if (!stralloc_catb(&dst->sa,mres->sa.s,len) || - !stralloc_0(&dst->sa)) - return 0 ; - - dst->name = mres->name ; - dst->classic = mres->classic ; - dst->bundle = mres->bundle ; - dst->oneshot = mres->oneshot ; - dst->module = mres->module ; - dst->enabled = mres->enabled ; - dst->disabled = mres->disabled ; - dst->contents = mres->contents ; - - dst->nclassic = mres->nclassic ; - dst->nbundle = mres->nbundle ; - dst->noneshot = mres->noneshot ; - dst->nmodule = mres->nmodule ; - dst->nenabled = mres->nenabled ; - dst->ndisabled = mres->ndisabled ; - dst->ncontents = mres->ncontents ; - - return 1 ; - -} diff --git a/src/lib66/service/service_resolve_master_create.c b/src/lib66/service/service_resolve_master_create.c deleted file mode 100644 index a17eb177b4c3c51612629e0866f7f2484e3ffa8a..0000000000000000000000000000000000000000 --- a/src/lib66/service/service_resolve_master_create.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * service_resolve_master_create.c - * - * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> - * - * All rights reserved. - * - * This file is part of Obarun. It is subject to the license terms in - * the LICENSE file found in the top-level directory of this - * distribution. - * This file may not be copied, modified, propagated, or distributed - * except according to the terms contained in the LICENSE file./ - */ - -#include <string.h> - -#include <oblibs/log.h> -#include <oblibs/string.h> - -#include <66/constants.h> -#include <66/resolve.h> -#include <66/service.h> - -int service_resolve_master_create(char const *base, char const *treename) -{ - - log_flow() ; - - int e = 0 ; - size_t baselen = strlen(base), treelen = strlen(treename) ; - resolve_service_master_t mres = RESOLVE_SERVICE_MASTER_ZERO ; - resolve_wrapper_t_ref wres = resolve_set_struct(DATA_SERVICE_MASTER, &mres) ; - char dst[baselen + SS_SYSTEM_LEN + 1 + treelen + SS_SVDIRS_LEN + 1] ; - - resolve_init(wres) ; - - mres.name = resolve_add_string(wres, SS_MASTER + 1) ; - - auto_strings(dst, base, SS_SYSTEM, "/", treename, SS_SVDIRS) ; - - log_trace("write Master resolve file of services") ; - if (!resolve_write(wres, dst, SS_MASTER + 1)) - goto err ; - - e = 1 ; - - err: - resolve_free(wres) ; - return e ; -} diff --git a/src/lib66/service/service_resolve_master_get_field_tosa.c b/src/lib66/service/service_resolve_master_get_field_tosa.c deleted file mode 100644 index bec58c178a9ed0435928984e93e7070c2dda86a2..0000000000000000000000000000000000000000 --- a/src/lib66/service/service_resolve_master_get_field_tosa.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - * service_resolve_master_get_field_tosa.c - * - * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> - * - * All rights reserved. - * - * This file is part of Obarun. It is subject to the license terms in - * the LICENSE file found in the top-level directory of this - * distribution. - * This file may not be copied, modified, propagated, or distributed - * except according to the terms contained in the LICENSE file./ - */ - -#include <oblibs/log.h> -#include <oblibs/string.h> - -#include <skalibs/stralloc.h> -#include <skalibs/types.h>//UINT_FMT - -#include <66/service.h> - -int service_resolve_master_get_field_tosa(stralloc *sa, resolve_service_master_t *mres, resolve_service_master_enum_t field) -{ - log_flow() ; - - char fmt[UINT32_FMT] ; - char const *str = 0 ; - - switch(field) { - - case E_RESOLVE_SERVICE_MASTER_NAME: - str = mres->sa.s + mres->name ; - break ; - - case E_RESOLVE_SERVICE_MASTER_CLASSIC: - str = mres->sa.s + mres->classic ; - break ; - - case E_RESOLVE_SERVICE_MASTER_BUNDLE: - str = mres->sa.s + mres->bundle ; - break ; - - case E_RESOLVE_SERVICE_MASTER_ONESHOT: - str = mres->sa.s + mres->oneshot ; - break ; - - case E_RESOLVE_SERVICE_MASTER_MODULE: - str = mres->sa.s + mres->module ; - break ; - - case E_RESOLVE_SERVICE_MASTER_ENABLED: - str = mres->sa.s + mres->enabled ; - break ; - - case E_RESOLVE_SERVICE_MASTER_DISABLED: - str = mres->sa.s + mres->disabled ; - break ; - - case E_RESOLVE_SERVICE_MASTER_CONTENTS: - str = mres->sa.s + mres->contents ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NCLASSIC: - fmt[uint32_fmt(fmt,mres->nclassic)] = 0 ; - str = fmt ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NBUNDLE: - fmt[uint32_fmt(fmt,mres->nbundle)] = 0 ; - str = fmt ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NONESHOT: - fmt[uint32_fmt(fmt,mres->noneshot)] = 0 ; - str = fmt ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NMODULE: - fmt[uint32_fmt(fmt,mres->nmodule)] = 0 ; - str = fmt ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NENABLED: - fmt[uint32_fmt(fmt,mres->nenabled)] = 0 ; - str = fmt ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NDISABLED: - fmt[uint32_fmt(fmt,mres->ndisabled)] = 0 ; - str = fmt ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NCONTENTS: - fmt[uint32_fmt(fmt,mres->ncontents)] = 0 ; - str = fmt ; - break ; - - default: - return 0 ; - } - - if (!auto_stra(sa,str)) - return 0 ; - - return 1 ; -} diff --git a/src/lib66/service/service_resolve_master_modify_field.c b/src/lib66/service/service_resolve_master_modify_field.c deleted file mode 100644 index 9a39d8273a5d7197e747cb3452d0cd92f5894bd0..0000000000000000000000000000000000000000 --- a/src/lib66/service/service_resolve_master_modify_field.c +++ /dev/null @@ -1,150 +0,0 @@ -/* - * service_resolve_master_modify_field.c - * - * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> - * - * All rights reserved. - * - * This file is part of Obarun. It is subject to the license terms in - * the LICENSE file found in the top-level directory of this - * distribution. - * This file may not be copied, modified, propagated, or distributed - * except according to the terms contained in the LICENSE file./ - */ - -#include <stdint.h> -#include <stdlib.h> - -#include <oblibs/log.h> - -#include <skalibs/types.h> - -#include <66/tree.h> -#include <66/resolve.h> - -#include <66/service.h> - -resolve_field_table_t resolve_service_master_field_table[] = { - - [E_RESOLVE_SERVICE_MASTER_NAME] = { .field = "name" }, - [E_RESOLVE_SERVICE_MASTER_CLASSIC] = { .field = "classic" }, - [E_RESOLVE_SERVICE_MASTER_BUNDLE] = { .field = "bundle" }, - [E_RESOLVE_SERVICE_MASTER_ONESHOT] = { .field = "oneshot" }, - [E_RESOLVE_SERVICE_MASTER_MODULE] = { .field = "module" }, - [E_RESOLVE_SERVICE_MASTER_ENABLED] = { .field = "enabled" }, - [E_RESOLVE_SERVICE_MASTER_DISABLED] = { .field = "disabled" }, - [E_RESOLVE_SERVICE_MASTER_CONTENTS] = { .field = "contents" }, - - [E_RESOLVE_SERVICE_MASTER_NCLASSIC] = { .field = "nclassic" }, - [E_RESOLVE_SERVICE_MASTER_NBUNDLE] = { .field = "nbundle" }, - [E_RESOLVE_SERVICE_MASTER_NONESHOT] = { .field = "noneshot" }, - [E_RESOLVE_SERVICE_MASTER_NMODULE] = { .field = "nmodule" }, - [E_RESOLVE_SERVICE_MASTER_NENABLED] = { .field = "nenabled" }, - [E_RESOLVE_SERVICE_MASTER_NDISABLED] = { .field = "ndisabled" }, - [E_RESOLVE_SERVICE_MASTER_NCONTENTS] = { .field = "ncontents" }, - [E_RESOLVE_SERVICE_MASTER_ENDOFKEY] = { .field = 0 }, -} ; - -int service_resolve_master_modify_field(resolve_service_master_t *mres, uint8_t field, char const *data) -{ - log_flow() ; - - uint32_t ifield ; - int e = 0 ; - - resolve_wrapper_t_ref wres = resolve_set_struct(DATA_SERVICE_MASTER, mres) ; - - switch(field) { - - case E_RESOLVE_SERVICE_MASTER_NAME: - mres->name = resolve_add_string(wres,data) ; - break ; - - case E_RESOLVE_SERVICE_MASTER_CLASSIC: - mres->classic = resolve_add_string(wres,data) ; - break ; - - case E_RESOLVE_SERVICE_MASTER_BUNDLE: - mres->bundle = resolve_add_string(wres,data) ; - break ; - - case E_RESOLVE_SERVICE_MASTER_ONESHOT: - mres->oneshot = resolve_add_string(wres,data) ; - break ; - - case E_RESOLVE_SERVICE_MASTER_MODULE: - mres->module = resolve_add_string(wres,data) ; - break ; - - case E_RESOLVE_SERVICE_MASTER_ENABLED: - mres->enabled = resolve_add_string(wres,data) ; - break ; - - case E_RESOLVE_SERVICE_MASTER_DISABLED: - mres->disabled = resolve_add_string(wres,data) ; - break ; - - case E_RESOLVE_SERVICE_MASTER_CONTENTS: - mres->contents = resolve_add_string(wres,data) ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NCLASSIC: - if (!data) - data = "0" ; - if (!uint0_scan(data, &ifield)) goto err ; - mres->nclassic= ifield ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NBUNDLE: - if (!data) - data = "0" ; - if (!uint0_scan(data, &ifield)) goto err ; - mres->nbundle = ifield ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NONESHOT: - if (!data) - data = "0" ; - if (!uint0_scan(data, &ifield)) goto err ; - mres->noneshot = ifield ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NMODULE: - if (!data) - data = "0" ; - if (!uint0_scan(data, &ifield)) goto err ; - mres->nmodule = ifield ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NENABLED: - if (!data) - data = "0" ; - if (!uint0_scan(data, &ifield)) goto err ; - mres->nenabled = ifield ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NDISABLED: - if (!data) - data = "0" ; - if (!uint0_scan(data, &ifield)) goto err ; - mres->ndisabled = ifield ; - break ; - - case E_RESOLVE_SERVICE_MASTER_NCONTENTS: - if (!data) - data = "0" ; - if (!uint0_scan(data, &ifield)) goto err ; - mres->ncontents = ifield ; - break ; - - default: - break ; - } - - e = 1 ; - - err: - free(wres) ; - return e ; - -} diff --git a/src/lib66/service/service_resolve_master_read_cdb.c b/src/lib66/service/service_resolve_master_read_cdb.c deleted file mode 100644 index 234470755a39652bd063d4172866c840ba6dc419..0000000000000000000000000000000000000000 --- a/src/lib66/service/service_resolve_master_read_cdb.c +++ /dev/null @@ -1,102 +0,0 @@ -/* - * service_resolve_master_read_cdb.c - * - * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> - * - * All rights reserved. - * - * This file is part of Obarun. It is subject to the license terms in - * the LICENSE file found in the top-level directory of this - * distribution. - * This file may not be copied, modified, propagated, or distributed - * except according to the terms contained in the LICENSE file./ - */ - -#include <stdint.h> -#include <stdlib.h>//free - -#include <oblibs/log.h> - -#include <skalibs/stralloc.h> -#include <skalibs/cdb.h> - -#include <66/resolve.h> -#include <66/service.h> - -int service_resolve_master_read_cdb(cdb *c, resolve_service_master_t *tres) -{ - log_flow() ; - - stralloc tmp = STRALLOC_ZERO ; - resolve_wrapper_t_ref wres ; - uint32_t x ; - - wres = resolve_set_struct(DATA_SERVICE_MASTER, tres) ; - - resolve_init(wres) ; - - /* name */ - resolve_find_cdb(&tmp,c,"name") ; - tres->name = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; - - /* classic */ - resolve_find_cdb(&tmp,c,"classic") ; - tres->classic = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; - - /* bundle */ - resolve_find_cdb(&tmp,c,"bundle") ; - tres->bundle = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; - - /* oneshot */ - resolve_find_cdb(&tmp,c,"oneshot") ; - tres->oneshot = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; - - /* modules */ - resolve_find_cdb(&tmp,c,"module") ; - tres->module = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; - - /* enabled */ - resolve_find_cdb(&tmp,c,"enabled") ; - tres->enabled = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; - - /* disabled */ - resolve_find_cdb(&tmp,c,"disabled") ; - tres->disabled = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; - - /* contents */ - resolve_find_cdb(&tmp,c,"contents") ; - tres->contents = tmp.len ? resolve_add_string(wres,tmp.s) : 0 ; - - /* nclassic */ - x = resolve_find_cdb(&tmp,c,"nclassic") ; - tres->nclassic = x ; - - /* nbundle */ - x = resolve_find_cdb(&tmp,c,"nbundle") ; - tres->nbundle = x ; - - /* noneshot */ - x = resolve_find_cdb(&tmp,c,"noneshot") ; - tres->noneshot = x ; - - /* nmodule */ - x = resolve_find_cdb(&tmp,c,"nmodule") ; - tres->nmodule = x ; - - /* nenabled */ - x = resolve_find_cdb(&tmp,c,"nenabled") ; - tres->nenabled = x ; - - /* ndisabled */ - x = resolve_find_cdb(&tmp,c,"ndisabled") ; - tres->ndisabled = x ; - - /* ncontents */ - x = resolve_find_cdb(&tmp,c,"ncontents") ; - tres->ncontents = x ; - - free(wres) ; - stralloc_free(&tmp) ; - - return 1 ; -} diff --git a/src/lib66/service/service_resolve_master_write.c b/src/lib66/service/service_resolve_master_write.c deleted file mode 100644 index 4aaa5f9f17c67eb544176d9cb94ccac50f3c1bec..0000000000000000000000000000000000000000 --- a/src/lib66/service/service_resolve_master_write.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - * service_resolve_master_write.c - * - * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> - * - * All rights reserved. - * - * This file is part of Obarun. It is subject to the license terms in - * the LICENSE file found in the top-level directory of this - * distribution. - * This file may not be copied, modified, propagated, or distributed - * except according to the terms contained in the LICENSE file./ - */ - -#include <string.h> - -#include <oblibs/log.h> -#include <oblibs/string.h> -#include <oblibs/types.h> - -#include <skalibs/genalloc.h> - -#include <66/constants.h> -#include <66/resolve.h> -#include <66/graph.h> -#include <66/enum.h> -#include <66/state.h> -#include <66/service.h> - -int service_resolve_master_write(graph_t *graph, char const *dest) -{ - log_flow() ; - - int e = 0 ; - unsigned int pos = 0 ; - - ss_state_t ste = STATE_ZERO ; - resolve_service_master_t mres = RESOLVE_SERVICE_MASTER_ZERO ; - resolve_wrapper_t_ref mwres = resolve_set_struct(DATA_SERVICE_MASTER, &mres) ; - - resolve_service_t res = RESOLVE_SERVICE_ZERO ; - resolve_wrapper_t_ref wres = resolve_set_struct(DATA_SERVICE, &res) ; - - resolve_init(mwres) ; - - - for (; pos < graph->sort_count ; pos++) { - - char *name = graph->data.s + genalloc_s(graph_hash_t,&graph->hash)[graph->sort[pos]].vertex ; - - if (!resolve_check(dest, name) || - !resolve_read(wres, dest, name)) { - log_warnu("read resolve file of: ", dest, name) ; - goto err ; - } - - switch (res.type) { - - case TYPE_CLASSIC: - - mres.classic = resolve_add_string(mwres, name) ; - mres.nclassic++ ; - break ; - - case TYPE_BUNDLE: - - mres.bundle = resolve_add_string(mwres, name) ; - mres.nbundle++ ; - break ; - - case TYPE_ONESHOT: - - mres.oneshot = resolve_add_string(mwres, name) ; - mres.noneshot++ ; - break ; - - case TYPE_MODULE: - - mres.module = resolve_add_string(mwres, name) ; - mres.nmodule++ ; - break ; - - default: - log_warn("unknown type") ; - goto err ; - } - - if (!state_read(&ste, res.sa.s + res.path.home, name)) - log_warnu("read state file of: ", name) ; - - - if (!FLAGS_ISSET(ste.isenabled, STATE_FLAGS_TRUE)) { - - /* disabled */ - mres.disabled = resolve_add_string(mwres, res.sa.s + res.name) ; - mres.ndisabled++ ; - - } else { - /* enabled */ - - mres.enabled = resolve_add_string(mwres, res.sa.s + res.name) ; - mres.nenabled++ ; - } - - mres.contents = resolve_add_string(mwres, res.sa.s + res.name) ; - mres.ncontents++ ; - } - - if (!resolve_write(mwres, dest, SS_MASTER + 1)) - goto err ; - - e = 1 ; - - err: - resolve_free(wres) ; - resolve_free(mwres) ; - return e ; -} - diff --git a/src/lib66/service/service_resolve_master_write_cdb.c b/src/lib66/service/service_resolve_master_write_cdb.c deleted file mode 100644 index 4f8a0cf2bd62d4095e8061eedb5c999add934fe9..0000000000000000000000000000000000000000 --- a/src/lib66/service/service_resolve_master_write_cdb.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * service_resolve_master_write_cdb.c - * - * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> - * - * All rights reserved. - * - * This file is part of Obarun. It is subject to the license terms in - * the LICENSE file found in the top-level directory of this - * distribution. - * This file may not be copied, modified, propagated, or distributed - * except according to the terms contained in the LICENSE file. - */ - -#include <oblibs/log.h> - -#include <skalibs/cdbmake.h> - -#include <66/service.h> -#include <66/resolve.h> - -int service_resolve_master_write_cdb(cdbmaker *c, resolve_service_master_t *mres) -{ - log_flow() ; - - char *str = mres->sa.s ; - - /* name */ - if (!resolve_add_cdb(c,"name",str + mres->name) || - - /* classic */ - !resolve_add_cdb(c,"classic",str + mres->classic) || - - /* bundle */ - !resolve_add_cdb(c,"bundle",str + mres->bundle) || - - /* oneshot */ - !resolve_add_cdb(c,"oneshot",str + mres->oneshot) || - - /* module */ - !resolve_add_cdb(c,"module",str + mres->module) || - - /* enabled */ - !resolve_add_cdb(c,"enabled",str + mres->enabled) || - - /* disabled */ - !resolve_add_cdb(c,"disabled",str + mres->disabled) || - - /* contents */ - !resolve_add_cdb(c,"contents",str + mres->contents) || - - /* nclassic */ - !resolve_add_cdb_uint(c,"nclassic",mres->nclassic) || - - /* nbundle */ - !resolve_add_cdb_uint(c,"nbundle",mres->nbundle) || - - /* noneshot */ - !resolve_add_cdb_uint(c,"noneshot",mres->noneshot) || - - /* nmodule */ - !resolve_add_cdb_uint(c,"nmodule",mres->nmodule) || - - /* nenabled */ - !resolve_add_cdb_uint(c,"nenabled",mres->nenabled) || - - /* ndisabled */ - !resolve_add_cdb_uint(c,"ndisabled",mres->ndisabled) || - - /* ncontents */ - !resolve_add_cdb_uint(c,"ncontents",mres->ncontents)) return 0 ; - - return 1 ; -}