Update copyright dates
[src/app-framework-binder.git] / src / afb-api.h
index 3f2e7f1..70bf3c3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016, 2017, 2018 "IoT.bzh"
+ * Copyright (C) 2015-2020 "IoT.bzh"
  * Author: José Bollo <jose.bollo@iot.bzh>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -24,24 +24,28 @@ struct json_object;
 struct afb_api_itf
 {
        void (*call)(void *closure, struct afb_xreq *xreq);
-       int (*service_start)(void *closure, int share_session, int onneed, struct afb_apiset *apiset);
+       int (*service_start)(void *closure);
+#if WITH_AFB_HOOK
        void (*update_hooks)(void *closure);
-       int (*get_verbosity)(void *closure);
-       void (*set_verbosity)(void *closure, int level);
-       struct json_object *(*describe)(void *closure);
+#endif
+       int (*get_logmask)(void *closure);
+       void (*set_logmask)(void *closure, int level);
+       void (*describe)(void *closure, void (*describecb)(void *, struct json_object *), void *clocb);
        void (*unref)(void *closure);
 };
 
-struct afb_api
+struct afb_api_item
 {
        void *closure;
        struct afb_api_itf *itf;
        const void *group;
 };
 
-extern int afb_api_is_valid_name(const char *name, int hookable);
+extern int afb_api_is_valid_name(const char *name);
+
+static inline int afb_api_is_public(const char *name)
+{
+       return *name != '.';
+}
 
-#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)