/*
- * 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");
int broadcast(json_object *object) const;
int push(json_object *object) const;
- void drop();
+ void unref();
+ void addref();
const char *name() const;
};
bool has_permission(const char *permission) const;
char *get_application_id() const;
+
+ int get_uid() const;
};
/*************************************************************************/
inline int event::broadcast(json_object *object) const { return afb_event_broadcast(event_, object); }
inline int event::push(json_object *object) const { return afb_event_push(event_, object); }
-inline void event::drop() { afb_event_drop(event_); invalidate(); }
+inline void event::unref() { afb_event_unref(event_); invalidate(); }
+inline void event::addref() { afb_event_addref(event_); }
inline const char *event::name() const { return afb_event_name(event_); }
/* args */
return req_.itf->get_application_id(req_.closure);
}
+inline int req::get_uid() const
+{
+ return req_.itf->get_uid(req_.closure);
+}
+
/* commons */
inline struct sd_event *get_event_loop()
{ return afb_daemon_get_event_loop_v2(); }
return r;
}
-const afb_binding_v2 binding(const char *name, const struct afb_verb_v2 *verbs, const char *info = nullptr, int (*init)() = nullptr, const char *specification = nullptr, void (*onevent)(const char*, struct json_object*) = nullptr, bool noconcurrency = false, int (*preinit)() = nullptr)
+constexpr afb_binding_v2 binding(const char *name, const struct afb_verb_v2 *verbs, const char *info = nullptr, int (*init)() = nullptr, const char *specification = nullptr, void (*onevent)(const char*, struct json_object*) = nullptr, bool noconcurrency = false, int (*preinit)() = nullptr)
{
afb_binding_v2 r = { 0, 0, 0, 0, 0, 0, 0, 0 };
r.api = name;