remove unused hook support
authorFelix Fietkau <nbd@openwrt.org>
Fri, 4 Jan 2013 16:16:41 +0000 (17:16 +0100)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 4 Jan 2013 16:16:41 +0000 (17:16 +0100)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
delta.c
libuci.c
uci.h

diff --git a/delta.c b/delta.c
index 111321c..1da3b75 100644 (file)
--- a/delta.c
+++ b/delta.c
@@ -433,17 +433,6 @@ int uci_save(struct uci_context *ctx, struct uci_package *p)
        if ((asprintf(&filename, "%s/%s", ctx->savedir, p->e.name) < 0) || !filename)
                UCI_THROW(ctx, UCI_ERR_MEM);
 
-       uci_foreach_element(&ctx->hooks, tmp) {
-               struct uci_hook *hook = uci_to_hook(tmp);
-
-               if (!hook->ops->set)
-                       continue;
-
-               uci_foreach_element(&p->delta, e) {
-                       hook->ops->set(hook->ops, p, uci_to_delta(e));
-               }
-       }
-
        ctx->err = 0;
        UCI_TRAP_SAVE(ctx, done);
        f = uci_open_stream(ctx, filename, SEEK_END, true, true);
index 550eca2..b17cda1 100644 (file)
--- a/libuci.c
+++ b/libuci.c
@@ -56,7 +56,6 @@ struct uci_context *uci_alloc_context(void)
        uci_list_init(&ctx->root);
        uci_list_init(&ctx->delta_path);
        uci_list_init(&ctx->backends);
-       uci_list_init(&ctx->hooks);
        ctx->flags = UCI_FLAG_STRICT | UCI_FLAG_SAVED_DELTA;
 
        ctx->confdir = (char *) uci_confdir;
@@ -210,16 +209,10 @@ int uci_commit(struct uci_context *ctx, struct uci_package **package, bool overw
 int uci_load(struct uci_context *ctx, const char *name, struct uci_package **package)
 {
        struct uci_package *p;
-       struct uci_element *e;
 
        UCI_HANDLE_ERR(ctx);
        UCI_ASSERT(ctx, ctx->backend && ctx->backend->load);
        p = ctx->backend->load(ctx, name);
-       uci_foreach_element(&ctx->hooks, e) {
-               struct uci_hook *h = uci_to_hook(e);
-               if (h->ops->load)
-                       h->ops->load(h->ops, p);
-       }
        if (package)
                *package = p;
 
@@ -238,40 +231,3 @@ int uci_set_backend(struct uci_context *ctx, const char *name)
        ctx->backend = uci_to_backend(e);
        return 0;
 }
-
-int uci_add_hook(struct uci_context *ctx, const struct uci_hook_ops *ops)
-{
-       struct uci_element *e;
-       struct uci_hook *h;
-
-       UCI_HANDLE_ERR(ctx);
-
-       /* check for duplicate elements */
-       uci_foreach_element(&ctx->hooks, e) {
-               h = uci_to_hook(e);
-               if (h->ops == ops)
-                       return UCI_ERR_INVAL;
-       }
-
-       h = uci_alloc_element(ctx, hook, "", 0);
-       h->ops = ops;
-       uci_list_init(&h->e.list);
-       uci_list_add(&ctx->hooks, &h->e.list);
-
-       return 0;
-}
-
-int uci_remove_hook(struct uci_context *ctx, const struct uci_hook_ops *ops)
-{
-       struct uci_element *e;
-
-       uci_foreach_element(&ctx->hooks, e) {
-               struct uci_hook *h = uci_to_hook(e);
-               if (h->ops == ops) {
-                       uci_list_del(&e->list);
-                       uci_free_element(e);
-                       return 0;
-               }
-       }
-       return UCI_ERR_NOTFOUND;
-}
diff --git a/uci.h b/uci.h
index 447ff9e..36c8890 100644 (file)
--- a/uci.h
+++ b/uci.h
@@ -61,7 +61,6 @@ struct uci_list
 };
 
 struct uci_ptr;
-struct uci_hook_ops;
 struct uci_element;
 struct uci_package;
 struct uci_section;
@@ -300,23 +299,6 @@ extern int uci_set_backend(struct uci_context *ctx, const char *name);
  */
 extern bool uci_validate_text(const char *str);
 
-
-/**
- * uci_add_hook: add a uci hook
- * @ctx: uci context
- * @ops: uci hook ops
- *
- * NB: allocated and freed by the caller
- */
-extern int uci_add_hook(struct uci_context *ctx, const struct uci_hook_ops *ops);
-
-/**
- * uci_remove_hook: remove a uci hook
- * @ctx: uci context
- * @ops: uci hook ops
- */
-extern int uci_remove_hook(struct uci_context *ctx, const struct uci_hook_ops *ops);
-
 /**
  * uci_parse_ptr: parse a uci string into a uci_ptr
  * @ctx: uci context
@@ -428,8 +410,6 @@ struct uci_context
        bool internal, nested;
        char *buf;
        int bufsz;
-
-       struct uci_list hooks;
 };
 
 struct uci_package
@@ -506,18 +486,6 @@ struct uci_ptr
        const char *value;
 };
 
-struct uci_hook_ops
-{
-       void (*load)(const struct uci_hook_ops *ops, struct uci_package *p);
-       void (*set)(const struct uci_hook_ops *ops, struct uci_package *p, struct uci_delta *e);
-};
-
-struct uci_hook
-{
-       struct uci_element e;
-       const struct uci_hook_ops *ops;
-};
-
 struct uci_parse_option {
        const char *name;
        enum uci_option_type type;
@@ -593,7 +561,6 @@ struct uci_parse_option {
 #define uci_type_package UCI_TYPE_PACKAGE
 #define uci_type_section UCI_TYPE_SECTION
 #define uci_type_option UCI_TYPE_OPTION
-#define uci_type_hook UCI_TYPE_HOOK
 
 /* element typecasting */
 #ifdef UCI_DEBUG_TYPECAST
@@ -603,7 +570,6 @@ static const char *uci_typestr[] = {
        [uci_type_package] = "package",
        [uci_type_section] = "section",
        [uci_type_option] = "option",
-       [uci_type_hook] = "hook",
 };
 
 static void uci_typecast_error(int from, int to)
@@ -625,7 +591,6 @@ BUILD_CAST(delta)
 BUILD_CAST(package)
 BUILD_CAST(section)
 BUILD_CAST(option)
-BUILD_CAST(hook)
 
 #else
 #define uci_to_backend(ptr) container_of(ptr, struct uci_backend, e)
@@ -633,7 +598,6 @@ BUILD_CAST(hook)
 #define uci_to_package(ptr) container_of(ptr, struct uci_package, e)
 #define uci_to_section(ptr) container_of(ptr, struct uci_section, e)
 #define uci_to_option(ptr)  container_of(ptr, struct uci_option, e)
-#define uci_to_hook(ptr)    container_of(ptr, struct uci_hook, e)
 #endif
 
 /**