afb-apiset: Refactor and clean
[src/app-framework-binder.git] / src / afb-monitor.c
index 4bedc49..4423310 100644 (file)
@@ -28,6 +28,7 @@
 #include "afb-apiset.h"
 #include "afb-api-so-v2.h"
 #include "afb-ditf.h"
+#include "afb-evt.h"
 #include "afb-xreq.h"
 #include "afb-trace.h"
 #include "verbose.h"
@@ -65,28 +66,28 @@ static int decode_verbosity(struct json_object *v)
        int level = -1;
 
        if (!wrap_json_unpack(v, "i", &level)) {
-               level = level < 0 ? 0 : level > 3 ? 3 : level;
+               level = level < Verbosity_Level_Error ? Verbosity_Level_Error : level > Verbosity_Level_Debug ? Verbosity_Level_Debug : level;
        } else if (!wrap_json_unpack(v, "s", &s)) {
                switch(*s&~' ') {
                case 'D':
                        if (!strcasecmp(s, _debug_))
-                               level = 3;
+                               level = Verbosity_Level_Debug;
                        break;
                case 'I':
                        if (!strcasecmp(s, _info_))
-                               level = 2;
+                               level = Verbosity_Level_Info;
                        break;
                case 'N':
                        if (!strcasecmp(s, _notice_))
-                               level = 1;
+                               level = Verbosity_Level_Notice;
                        break;
                case 'W':
                        if (!strcasecmp(s, _warning_))
-                               level = 1;
+                               level = Verbosity_Level_Warning;
                        break;
                case 'E':
                        if (!strcasecmp(s, _error_))
-                               level = 0;
+                               level = Verbosity_Level_Error;
                        break;
                }
        }
@@ -114,7 +115,7 @@ static void set_verbosity_to(const char *name, int level)
        if (!name || !name[0])
                verbosity = level;
        else if (name[0] == '*' && !name[1])
-               afb_apiset_enum(main_apiset, set_verbosity_to_all_cb, (void*)(intptr_t)level);
+               afb_apiset_enum(main_apiset, 1, set_verbosity_to_all_cb, (void*)(intptr_t)level);
        else
                afb_apiset_set_verbosity(main_apiset, name, level);
 }
@@ -154,10 +155,11 @@ static void set_verbosity(struct json_object *spec)
 static struct json_object *encode_verbosity(int level)
 {
        switch(level) {
-       case 0: return json_object_new_string(_error_);
-       case 1: return json_object_new_string(_notice_);
-       case 2: return json_object_new_string(_info_);
-       case 3: return json_object_new_string(_debug_);
+       case Verbosity_Level_Error:     return json_object_new_string(_error_);
+       case Verbosity_Level_Warning:   return json_object_new_string(_warning_);
+       case Verbosity_Level_Notice:    return json_object_new_string(_notice_);
+       case Verbosity_Level_Info:      return json_object_new_string(_info_);
+       case Verbosity_Level_Debug:     return json_object_new_string(_debug_);
        default: return json_object_new_int(level);
        }
 }
@@ -187,7 +189,7 @@ static void get_verbosity_of(struct json_object *resu, const char *name)
        if (!name || !name[0])
                json_object_object_add(resu, "", encode_verbosity(verbosity));
        else if (name[0] == '*' && !name[1])
-               afb_apiset_enum(main_apiset, get_verbosity_of_all_cb, resu);
+               afb_apiset_enum(main_apiset, 1, get_verbosity_of_all_cb, resu);
        else {
                l = afb_apiset_get_verbosity(main_apiset, name);
                if (l >= 0)
@@ -241,7 +243,7 @@ static void get_one_api(struct json_object *resu, const char *name, struct json_
        struct json_object *o;
 
        o = afb_apiset_describe(main_apiset, name);
-       if (o || afb_apiset_has(main_apiset, name))
+       if (o || afb_apiset_lookup(main_apiset, name, 1))
                json_object_object_add(resu, name, o);
 }
 
@@ -283,7 +285,7 @@ static struct json_object *get_apis(struct json_object *spec)
        } else if (json_object_is_type(spec, json_type_string)) {
                get_one_api(resu, json_object_get_string(spec), NULL);
        } else if (json_object_get_boolean(spec)) {
-               afb_apiset_enum(main_apiset, get_apis_of_all_cb, resu);
+               afb_apiset_enum(main_apiset, 1, get_apis_of_all_cb, resu);
        }
        return resu;
 }
@@ -355,5 +357,6 @@ static void f_trace(struct afb_req req)
        afb_req_success(req, NULL, NULL);
 end:
        afb_apiset_update_hooks(main_apiset, NULL);
+       afb_evt_update_hooks();
 }