diff options
20 files changed, 53 insertions, 85 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f841b5de..ebda48f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -157,6 +157,7 @@ IF(ONLY_DEVTOOLS) MESSAGE(WARNING "Only DEVTOOLS are compiled, not the binder!") ELSE() SET(binding_install_dir ${CMAKE_INSTALL_FULL_LIBDIR}/afb) + SET(install_datadir ${CMAKE_INSTALL_FULL_DATADIR}/af-binder) ########################################################################### # activates the monitoring by default diff --git a/bindings/CMakeLists.txt b/bindings/CMakeLists.txt index 35f22897..c4fbdea0 100644 --- a/bindings/CMakeLists.txt +++ b/bindings/CMakeLists.txt @@ -18,5 +18,5 @@ ADD_SUBDIRECTORY(intrinsics) ADD_SUBDIRECTORY(samples) -ADD_SUBDIRECTORY(tutorial) +ADD_SUBDIRECTORY(tutorials) diff --git a/bindings/intrinsics/CMakeLists.txt b/bindings/intrinsics/CMakeLists.txt index 70da19e9..ee981217 100644 --- a/bindings/intrinsics/CMakeLists.txt +++ b/bindings/intrinsics/CMakeLists.txt @@ -27,7 +27,7 @@ SET_TARGET_PROPERTIES(afb-dbus-binding PROPERTIES PREFIX "" LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export.map" ) -TARGET_LINK_LIBRARIES(afb-dbus-binding ${link_libraries}) +TARGET_LINK_LIBRARIES(afb-dbus-binding ${json-c_LDFLAGS} ${libsystemd_LDFLAGS}) INSTALL(TARGETS afb-dbus-binding LIBRARY DESTINATION ${binding_install_dir}) diff --git a/bindings/samples/CMakeLists.txt b/bindings/samples/CMakeLists.txt index 34b364f5..51442684 100644 --- a/bindings/samples/CMakeLists.txt +++ b/bindings/samples/CMakeLists.txt @@ -16,78 +16,18 @@ # limitations under the License. ########################################################################### - -INCLUDE_DIRECTORIES(${include_dirs}) - -################################################## -# AuthLogin -################################################## -ADD_LIBRARY(authLogin MODULE AuthLogin.c) -SET_TARGET_PROPERTIES(authLogin PROPERTIES - PREFIX "" - LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export.map" -) -TARGET_LINK_LIBRARIES(authLogin ${link_libraries}) -INSTALL(TARGETS authLogin - LIBRARY DESTINATION ${binding_install_dir}) - -################################################## -# DemoContext -################################################## -ADD_LIBRARY(demoContext MODULE DemoContext.c) -SET_TARGET_PROPERTIES(demoContext PROPERTIES - PREFIX "" - LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export.map" -) -TARGET_LINK_LIBRARIES(demoContext ${link_libraries}) -INSTALL(TARGETS demoContext - LIBRARY DESTINATION ${binding_install_dir}) - -################################################## -# DemoPost -################################################## -ADD_LIBRARY(demoPost MODULE DemoPost.c) -SET_TARGET_PROPERTIES(demoPost PROPERTIES - PREFIX "" - LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export.map" -) -TARGET_LINK_LIBRARIES(demoPost ${link_libraries}) -INSTALL(TARGETS demoPost - LIBRARY DESTINATION ${binding_install_dir}) - -################################################## -# tic-tac-toe -################################################## -ADD_LIBRARY(tic-tac-toe MODULE tic-tac-toe.c) -SET_TARGET_PROPERTIES(tic-tac-toe PROPERTIES - PREFIX "" - LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export.map" -) -TARGET_LINK_LIBRARIES(tic-tac-toe ${link_libraries}) -INSTALL(TARGETS tic-tac-toe - LIBRARY DESTINATION ${binding_install_dir}) - -################################################## -# hello2 -################################################## -ADD_LIBRARY(hello2 MODULE hello2.c) -SET_TARGET_PROPERTIES(hello2 PROPERTIES - PREFIX "" - LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export.map" -) -TARGET_LINK_LIBRARIES(hello2 ${link_libraries}) -INSTALL(TARGETS hello2 - LIBRARY DESTINATION ${binding_install_dir}) - -################################################## -# hello3 -################################################## -ADD_LIBRARY(hello3 MODULE hello3.c) -SET_TARGET_PROPERTIES(hello3 PROPERTIES - PREFIX "" - LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export.map" -) -TARGET_LINK_LIBRARIES(hello3 ${link_libraries}) -INSTALL(TARGETS hello3 - LIBRARY DESTINATION ${binding_install_dir}) +macro(sample name source) + add_library(${name} MODULE ${source}) + set_target_properties(${name} PROPERTIES PREFIX "" LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export.map") +# target_link_libraries(${name} ${link_libraries}) + target_link_libraries(${name} ${json-c_LDFLAGS} ${CMAKE_THREAD_LIBS_INIT}) + install(TARGETS ${name} LIBRARY DESTINATION ${install_datadir}/bindings/samples) +endmacro(sample) + +sample(authLogin AuthLogin.c) +sample(demoContext DemoContext.c) +sample(demoPost DemoPost.c) +sample(tic-tac-toe tic-tac-toe.c) +sample(hello2 hello2.c) +sample(hello3 hello3.c) diff --git a/bindings/samples/hello3.c b/bindings/samples/hello3.c index af194785..ff7da61a 100644 --- a/bindings/samples/hello3.c +++ b/bindings/samples/hello3.c @@ -913,6 +913,7 @@ static void api (afb_req_t request) } sapi->api = afb_api_new_api(api, apiname, NULL, 1, apipreinit, NULL); if (!sapi->api) { + free(sapi); afb_req_reply_f(request, NULL, "cant-create", "%m"); goto end; } diff --git a/bindings/tutorial/CMakeLists.txt b/bindings/tutorials/CMakeLists.txt index f05fa541..e071d7a9 100644 --- a/bindings/tutorial/CMakeLists.txt +++ b/bindings/tutorials/CMakeLists.txt @@ -17,15 +17,14 @@ ########################################################################### -#INCLUDE_DIRECTORIES(${include_dirs}) - MACRO(tuto num ext) ADD_LIBRARY(tuto-${num} MODULE tuto-${num}.${ext}) SET_TARGET_PROPERTIES(tuto-${num} PROPERTIES PREFIX "" LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export.map" ) - TARGET_LINK_LIBRARIES(tuto-${num} ${link_libraries}) + TARGET_LINK_LIBRARIES(tuto-${num} ${json-c_LDFLAGS}) + install(TARGETS tuto-${num} LIBRARY DESTINATION ${install_datadir}/bindings/tutorials) ENDMACRO(tuto) diff --git a/bindings/tutorial/export.map b/bindings/tutorials/export.map index ee2f4133..ee2f4133 100644 --- a/bindings/tutorial/export.map +++ b/bindings/tutorials/export.map diff --git a/bindings/tutorial/tuto-1.c b/bindings/tutorials/tuto-1.c index 1f58be6c..1f58be6c 100644 --- a/bindings/tutorial/tuto-1.c +++ b/bindings/tutorials/tuto-1.c diff --git a/bindings/tutorial/tuto-2.c b/bindings/tutorials/tuto-2.c index 10797081..10797081 100644 --- a/bindings/tutorial/tuto-2.c +++ b/bindings/tutorials/tuto-2.c diff --git a/bindings/tutorial/tuto-3.cpp b/bindings/tutorials/tuto-3.cpp index 8ad69ef3..8ad69ef3 100644 --- a/bindings/tutorial/tuto-3.cpp +++ b/bindings/tutorials/tuto-3.cpp diff --git a/bindings/tutorial/tuto-4.c b/bindings/tutorials/tuto-4.c index cb909fd0..cb909fd0 100644 --- a/bindings/tutorial/tuto-4.c +++ b/bindings/tutorials/tuto-4.c diff --git a/bindings/tutorial/tuto-5.cpp b/bindings/tutorials/tuto-5.cpp index 458ae7b5..458ae7b5 100644 --- a/bindings/tutorial/tuto-5.cpp +++ b/bindings/tutorials/tuto-5.cpp diff --git a/bindings/tutorial/tuto-app1.c b/bindings/tutorials/tuto-app1.c index 93747cdd..93747cdd 100644 --- a/bindings/tutorial/tuto-app1.c +++ b/bindings/tutorials/tuto-app1.c diff --git a/conf.d/packaging/deb/agl-app-framework-binder.dsc b/conf.d/packaging/deb/agl-app-framework-binder.dsc index 9327ea39..b9c1ef53 100644 --- a/conf.d/packaging/deb/agl-app-framework-binder.dsc +++ b/conf.d/packaging/deb/agl-app-framework-binder.dsc @@ -1,6 +1,6 @@ Format: 1.0 Source: agl-app-framework-binder -Binary: agl-app-framework-binder-bin, agl-app-framework-binder-dev +Binary: agl-app-framework-binder-bin, agl-app-framework-binder-dev, agl-app-framework-binder-samples Architecture: any Version: 2.0-0 Maintainer: unknown <unknown@debian.org> diff --git a/conf.d/packaging/deb/debian.agl-app-framework-binder-samples.install b/conf.d/packaging/deb/debian.agl-app-framework-binder-samples.install new file mode 100644 index 00000000..497004f6 --- /dev/null +++ b/conf.d/packaging/deb/debian.agl-app-framework-binder-samples.install @@ -0,0 +1 @@ +/opt/AGL/share/af-binder/* diff --git a/conf.d/packaging/deb/debian.control b/conf.d/packaging/deb/debian.control index 45e98277..d8dac6f8 100644 --- a/conf.d/packaging/deb/debian.control +++ b/conf.d/packaging/deb/debian.control @@ -24,3 +24,9 @@ Architecture: any Depends: agl-app-framework-binder-bin Description: agl-app-framework-binder-devel +Package: agl-app-framework-binder-samples +Section: libs +Architecture: any +Depends: agl-app-framework-binder-bin +Description: agl-app-framework-binder-samples + diff --git a/conf.d/packaging/rpm/agl-app-framework-binder.spec b/conf.d/packaging/rpm/agl-app-framework-binder.spec index 4f701469..7102e863 100644 --- a/conf.d/packaging/rpm/agl-app-framework-binder.spec +++ b/conf.d/packaging/rpm/agl-app-framework-binder.spec @@ -51,13 +51,19 @@ Summary: AGL app-framework-binder-devel Provides a test agl binder service which can be used to test agl bindings on Linux PC This service is evolving permanently and is only designed as a helper for developper. +%package samples +Requires: %{name} = %{version} +Summary: AGL app-framework-binder-samples +%description samples +Provides sample bindings for testing AGL framework binder + %prep %setup -q -n app-framework-binder-%{version} %build export PKG_CONFIG_PATH=%{_libdir}/pkgconfig -%cmake -DAGL_DEVEL=1 -DINCLUDE_MONITORING=ON" +%cmake -DAGL_DEVEL=1 -DINCLUDE_MONITORING=ON %__make %{?_smp_mflags} @@ -112,6 +118,12 @@ EOF %dir %{_libdir}/pkgconfig %{_libdir}/pkgconfig/*.pc +%files samples +%defattr(-,root,root) +%dir %{_datadir} +%dir %{_datadir}/af-binder +%{_datadir}/af-binder/* + %changelog * Wed Sep 27 2017 Dominig - move to git repo diff --git a/coverage/bin/Makefile b/coverage/bin/Makefile index c0581693..b0914c7d 100644 --- a/coverage/bin/Makefile +++ b/coverage/bin/Makefile @@ -60,7 +60,7 @@ ldflags = -ldl -lrt -lpthread \ cflags = $(ccflags) $(ldflags) -defs = -DAGL_DEVEL \ +defs = -DAGL_DEVEL=1 \ -DWITH_MONITORING_OPTION \ -DAFB_VERSION=\"cov\" \ -DUSE_SIG_MONITOR_DUMPSTACK=1 \ @@ -69,6 +69,12 @@ defs = -DAGL_DEVEL \ -DUSE_SIG_MONITOR_TIMERS=1 \ -DWITH_AFB_HOOK=1 \ -DWITH_AFB_TRACE=1 \ + -DWITH_LEGACY_BINDING_V1=0 \ + -DWITH_LEGACY_BINDING_V2=1 \ + -DWITH_LEGACY_BINDING_VDYN=0 \ + -DWITH_DBUS_TRANSPARENCY=0 \ + -DWITH_SUPERVISION=0 \ + -DWITH_DYNAMIC_BINDING=1 \ -DBINDING_INSTALL_DIR=\"$(shell pwd)/fake\" afb_lib_src = $(shell ls $(srcdir)/*.c | egrep -v '/afs-|/main-|/fdev-epoll.c|/afb-ws-client.c' ) diff --git a/src/afb-wsj1.c b/src/afb-wsj1.c index 33e0d195..4080edf2 100644 --- a/src/afb-wsj1.c +++ b/src/afb-wsj1.c @@ -307,11 +307,13 @@ static struct afb_wsj1_msg *wsj1_msg_make(struct afb_wsj1 *wsj1, char *text, siz /* scan */ n = wsj1_msg_scan(text, items); - if (n < 0) + if (n <= 0) goto bad_header; /* scans code: 2|3|4|5 */ - if (items[0][1] != 1) goto bad_header; + if (items[0][1] != 1) + goto bad_header; + switch (text[items[0][0]]) { case '2': msg->code = CALL; break; case '3': msg->code = RETOK; break; diff --git a/src/sig-monitor.c b/src/sig-monitor.c index f15f214e..70592812 100644 --- a/src/sig-monitor.c +++ b/src/sig-monitor.c @@ -154,7 +154,7 @@ static inline int timeout_create() rc = timer_create(CLOCK_THREAD_CPUTIME_ID, &sevp, &thread_timerid); thread_timer_set = !rc; } - return 0; + return rc; } /* |