remove event sender interface
authorJosé Bollo <jose.bollo@iot.bzh>
Sun, 29 May 2016 07:58:57 +0000 (09:58 +0200)
committerJosé Bollo <jose.bollo@iot.bzh>
Sun, 29 May 2016 07:58:57 +0000 (09:58 +0200)
Change-Id: I45735ccb4204821caecf89e3fdce08ec0a2471d7
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
include/afb/afb-event-sender-itf.h [deleted file]
include/afb/afb-plugin.h
src/afb-api-so.c

diff --git a/include/afb/afb-event-sender-itf.h b/include/afb/afb-event-sender-itf.h
deleted file mode 100644 (file)
index ad35431..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2016 "IoT.bzh"
- * Author: José Bollo <jose.bollo@iot.bzh>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-struct json_object;
-
-struct afb_event_sender_itf {
-       void (*push)(void *event_sender, const char *name, struct json_object *object);
-};
-
-struct afb_event_sender {
-       const struct afb_event_sender_itf *itf;
-       void *closure;
-};
-
-static inline void afb_event_sender_push(struct afb_event_sender mgr, const char *name, struct json_object *object)
-{
-       return mgr.itf->push(mgr.closure, name, object);
-}
-
index 2b065b0..1eb3475 100644 (file)
@@ -39,7 +39,6 @@
  */
 
 #include <afb/afb-req-itf.h>
-#include <afb/afb-event-sender-itf.h>
 
 /*
  * Definition of the versions of the plugin.
@@ -141,10 +140,10 @@ struct sd_bus;
  * Definition of the facilities provided by the daemon.
  */
 struct afb_daemon_itf {
-       struct afb_event_sender (*get_event_sender)(void *closure);           /* get the event manager */
-       struct sd_event *(*get_event_loop)(void *closure);      /* get the common systemd's event loop */
-       struct sd_bus *(*get_user_bus)(void *closure);          /* get the common systemd's user d-bus */
-       struct sd_bus *(*get_system_bus)(void *closure);        /* get the common systemd's system d-bus */
+       void (*event_broadcast)(void *closure, const char *name, struct json_object *object); /* broadcasts evant 'name' with 'object' */
+       struct sd_event *(*get_event_loop)(void *closure);      /* gets the common systemd's event loop */
+       struct sd_bus *(*get_user_bus)(void *closure);          /* gets the common systemd's user d-bus */
+       struct sd_bus *(*get_system_bus)(void *closure);        /* gets the common systemd's system d-bus */
        void (*vverbose)(void*closure, int level, const char *file, int line, const char *fmt, va_list args);
 };
 
@@ -172,15 +171,6 @@ struct AFB_interface
  */
 extern const struct AFB_plugin *pluginAfbV1Register (const struct AFB_interface *interface);
 
-/*
- * Retrieves the event sender of AFB
- * 'daemon' MUST be the daemon given in interface when activating the plugin.
- */
-static inline struct afb_event_sender afb_daemon_get_event_sender(struct afb_daemon daemon)
-{
-       return daemon.itf->get_event_sender(daemon.closure);
-}
-
 /*
  * Retrieves the common systemd's event loop of AFB
  * 'daemon' MUST be the daemon given in interface when activating the plugin.
@@ -219,7 +209,7 @@ static inline struct sd_bus *afb_daemon_get_system_bus(struct afb_daemon daemon)
  */
 static inline void afb_daemon_broadcast_event(struct afb_daemon daemon, const char *name, struct json_object *object)
 {
-       return afb_event_sender_push(afb_daemon_get_event_sender(daemon), name, object);
+       return daemon.itf->event_broadcast(daemon.closure, name, object);
 }
 
 /*
@@ -237,6 +227,9 @@ static inline void afb_daemon_verbose(struct afb_daemon daemon, int level, const
        va_end(args);
 }
 
+/*
+ * Macros for logging messages
+ */
 #if !defined(NO_PLUGIN_VERBOSE_MACRO)
 # if !defined(NO_PLUGIN_FILE_LINE_INDICATION)
 #  define ERROR(itf,...)   do{if(itf->verbosity>=0)afb_daemon_verbose(itf->daemon,3,__FILE__,__LINE__,__VA_ARGS__);}while(0)
index abe100b..9756b0e 100644 (file)
@@ -30,7 +30,6 @@
 
 #include <afb/afb-plugin.h>
 #include <afb/afb-req-itf.h>
-#include <afb/afb-event-sender-itf.h>
 
 #include "session.h"
 #include "afb-common.h"
@@ -54,7 +53,7 @@ static int api_timeout = 15;
 
 static const char plugin_register_function_v1[] = "pluginAfbV1Register";
 
-static void afb_api_so_event_sender_push(struct api_so_desc *desc, const char *name, struct json_object *object)
+static int afb_api_so_event_broadcast(struct api_so_desc *desc, const char *name, struct json_object *object)
 {
        size_t length;
        char *event;
@@ -65,16 +64,7 @@ static void afb_api_so_event_sender_push(struct api_so_desc *desc, const char *n
        memcpy(event, desc->plugin->v1.prefix, desc->apilength);
        event[desc->apilength] = '/';
        memcpy(event + desc->apilength + 1, name, length + 1);
-       ctxClientEventSend(NULL, event, object);
-}
-
-static const struct afb_event_sender_itf event_sender_itf = {
-       .push = (void*)afb_api_so_event_sender_push
-};
-
-static struct afb_event_sender afb_api_so_get_event_sender(struct api_so_desc *desc)
-{
-       return (struct afb_event_sender){ .itf = &event_sender_itf, .closure = desc };
+       return ctxClientEventSend(NULL, event, object);
 }
 
 static void afb_api_so_vverbose(struct api_so_desc *desc, int level, const char *file, int line, const char *fmt, va_list args)
@@ -90,7 +80,7 @@ static void afb_api_so_vverbose(struct api_so_desc *desc, int level, const char
 }
 
 static const struct afb_daemon_itf daemon_itf = {
-       .get_event_sender = (void*)afb_api_so_get_event_sender,
+       .event_broadcast = (void*)afb_api_so_event_broadcast,
        .get_event_loop = (void*)afb_common_get_event_loop,
        .get_user_bus = (void*)afb_common_get_user_bus,
        .get_system_bus = (void*)afb_common_get_system_bus,