#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"
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;
}
}
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);
}
}
struct json_object *o;
o = afb_apiset_describe(main_apiset, name);
- if (o || afb_apiset_has(main_apiset, name))
+ if (o || afb_apiset_has(main_apiset, name, 0))
json_object_object_add(resu, name, o);
}
if (add) {
rc = afb_trace_add(req, add, trace);
if (rc)
- return;
+ goto end;
}
if (drop) {
rc = afb_trace_drop(req, drop, trace);
if (rc)
- return;
+ goto end;
}
afb_req_success(req, NULL, NULL);
+end:
+ afb_apiset_update_hooks(main_apiset, NULL);
+ afb_evt_update_hooks();
}