Update date of copyright notices
[src/app-framework-binder.git] / src / afb-api.h
index 6dfbf02..60e95b1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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");
@@ -19,6 +19,7 @@
 
 struct afb_xreq;
 struct afb_apiset;
+struct json_object;
 
 struct afb_api_itf
 {
@@ -27,12 +28,19 @@ 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)
+