/*
- * Copyright (C) 2016, 2017 "IoT.bzh"
+ * Copyright (C) 2016-2019 "IoT.bzh"
* Author: José Bollo <jose.bollo@iot.bzh>
*
* Licensed under the Apache License, Version 2.0 (the "License");
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);
void (*update_hooks)(void *closure);
- int (*get_verbosity)(void *closure);
- void (*set_verbosity)(void *closure, int level);
+ int (*get_logmask)(void *closure);
+ void (*set_logmask)(void *closure, int level);
struct json_object *(*describe)(void *closure);
+ 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)