From 98f5843474dcec55827279b6f42007341c171ae0 Mon Sep 17 00:00:00 2001 From: Manuel Bachmann Date: Mon, 21 Dec 2015 06:57:05 +0100 Subject: Switch to a plugin model Each API now compiles to a ".so" file, which gets searched for in the "${libdir}/afb" directory at startup. We can now load an arbitrary number of plugins (> 10). Signed-off-by: Manuel Bachmann --- plugins/samples/CMakeLists.txt | 11 +++++++++++ plugins/samples/HelloWorld.c | 4 ++-- plugins/samples/SamplePost.c | 4 ++-- 3 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 plugins/samples/CMakeLists.txt (limited to 'plugins/samples') diff --git a/plugins/samples/CMakeLists.txt b/plugins/samples/CMakeLists.txt new file mode 100644 index 00000000..ef5b449e --- /dev/null +++ b/plugins/samples/CMakeLists.txt @@ -0,0 +1,11 @@ +INCLUDE_DIRECTORIES(${include_dirs}) + +ADD_LIBRARY(helloWorld-api MODULE HelloWorld.c) +SET_TARGET_PROPERTIES(helloWorld-api PROPERTIES PREFIX "") +INSTALL(TARGETS helloWorld-api + LIBRARY DESTINATION ${plugin_install_dir}) + +ADD_LIBRARY(samplePost-api MODULE SamplePost.c) +SET_TARGET_PROPERTIES(samplePost-api PROPERTIES PREFIX "") +INSTALL(TARGETS samplePost-api + LIBRARY DESTINATION ${plugin_install_dir}) diff --git a/plugins/samples/HelloWorld.c b/plugins/samples/HelloWorld.c index 4117c26a..5638b427 100644 --- a/plugins/samples/HelloWorld.c +++ b/plugins/samples/HelloWorld.c @@ -84,11 +84,11 @@ STATIC AFB_restapi pluginApis[]= { }; -PUBLIC AFB_plugin *helloWorldRegister () { +PUBLIC AFB_plugin *pluginRegister () { AFB_plugin *plugin = malloc (sizeof (AFB_plugin)); plugin->type = AFB_PLUGIN_JSON; plugin->info = "Application Framework Binder Service"; plugin->prefix= "dbus"; plugin->apis = pluginApis; return (plugin); -}; \ No newline at end of file +}; diff --git a/plugins/samples/SamplePost.c b/plugins/samples/SamplePost.c index 85485015..223f74e8 100644 --- a/plugins/samples/SamplePost.c +++ b/plugins/samples/SamplePost.c @@ -165,7 +165,7 @@ STATIC AFB_restapi pluginApis[]= { {NULL} }; -PUBLIC AFB_plugin *samplePostRegister () { +PUBLIC AFB_plugin *pluginRegister () { AFB_plugin *plugin = malloc (sizeof (AFB_plugin)); plugin->type = AFB_PLUGIN_JSON; plugin->info = "Application Framework Binder Service"; @@ -174,4 +174,4 @@ PUBLIC AFB_plugin *samplePostRegister () { plugin->handle= (void*) "What ever you want"; return (plugin); -}; \ No newline at end of file +}; -- cgit 1.2.3-korg