/*
- * Copyright (C) 2016, 2017 "IoT.bzh"
+ * Copyright (C) 2016, 2017, 2018 "IoT.bzh"
* Author: José Bollo <jose.bollo@iot.bzh>
*
* Licensed under the Apache License, Version 2.0 (the "License");
struct afb_xreq;
struct afb_apiset;
+struct json_object;
struct afb_api_itf
{
void (*update_hooks)(void *closure);
int (*get_verbosity)(void *closure);
void (*set_verbosity)(void *closure, int level);
+ struct json_object *(*describe)(void *closure);
};
struct afb_api
{
void *closure;
struct afb_api_itf *itf;
+ const void *group;
};
-extern int afb_api_is_valid_name(const char *name);
+extern int afb_api_is_valid_name(const char *name, int hookable);
+
+#define AFB_API_UNHOOKABLE_PREFIX_CHAR '$'
+#define AFB_API_UNHOOKABLE_PREFIX_STRING "$"
+#define afb_api_is_hookable(api) ((api)[0] != AFB_API_UNHOOKABLE_PREFIX_CHAR)
+