Integrate clientExample 52/276252/3
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Mon, 13 Jun 2022 11:06:42 +0000 (13:06 +0200)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Mon, 13 Jun 2022 13:12:11 +0000 (15:12 +0200)
Change-Id: I4200e5903e2820652ee26a774e0016508010cf04

CMakeLists.txt
clientExample/CMakeLists.txt
clientExample/app/main.cpp
clientExample/packaging/sessiond_client_example.manifest [deleted file]
clientExample/packaging/sessiond_client_example.spec [deleted file]
packaging/sessiond.spec

index cc38714..79592d3 100644 (file)
@@ -13,6 +13,7 @@ set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
 add_subdirectory(common)
 add_subdirectory(libsessiond)
 add_subdirectory(sessiond)
+add_subdirectory(clientExample)
 
 option(ENABLE_TARGET_TESTS "On target tests" ON)
 if(ENABLE_TARGET_TESTS)
index 179d16b..a5c20fd 100644 (file)
@@ -1,32 +1,12 @@
 cmake_minimum_required(VERSION 3.10)
+project(subsession-client-example)
 
-# set the project name
-project(SessiondTester)
+set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wall -fPIE -Wno-error=shadow -Werror=missing-field-initializers -pthread")
+set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
 
-#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fPIE -Wno-error=shadow -Werror=missing-field-initializers")
-#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fPIE -Wno-error=shadow -Werror=missing-field-initializers")
-
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
-#set(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
 find_package(PkgConfig)
-pkg_check_modules(DEPS REQUIRED IMPORTED_TARGET glib-2.0 gio-2.0 gobject-2.0 libsessiond capi-system-info)
-
-
-SET(requires
-        capi-system-info
-        libsessiond
-        dlog
-        gio-2.0
-        gio-unix-2.0
-        glib-2.0
-)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(${fw_name} REQUIRED ${requires})
-FOREACH(flag ${${fw_name}_CFLAGS})
-    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
+pkg_check_modules(DEPS REQUIRED IMPORTED_TARGET glib-2.0 gio-2.0 gobject-2.0)
 
-# add the executable
-add_executable(SessiondTester app/main.cpp)
-target_link_libraries(SessiondTester PRIVATE PkgConfig::DEPS)
+add_executable(subsession-client-example app/main.cpp)
+target_link_libraries(subsession-client-example PRIVATE PkgConfig::DEPS libsessiond)
+install(TARGETS subsession-client-example)
index f87f254..2c1ee30 100644 (file)
@@ -1,6 +1,7 @@
 #include <iostream>
 #include <gio/gio.h>
 #include <thread>
+#include <cassert>
 #include "sessiond.h"
 
 #define SESSION_UID 5001
@@ -25,16 +26,14 @@ typedef struct {
 } test_user_data_cb_t;
 
 
-int test_subsession_switch_user_completion_callback(subsession_event_info info, void *cb_data) {
+void test_subsession_switch_user_completion_callback(subsession_event_info info, void *cb_data) {
        g_atomic_int_inc(&callbackCount);
        test_user_data_cb_t *user_data = (test_user_data_cb_t *)cb_data;
-       user_data->session_uid = info.switch_user.session_uid;
+       user_data->session_uid = info.session_uid;
        user_data->switch_id = info.switch_user.switch_id;
        user_data->user_id = info.switch_user.next_user;
        user_data->prev_user_id = info.switch_user.prev_user;
        user_data->callback_result = 0;
-
-       return 0;
 }
 
 typedef struct {
@@ -61,45 +60,35 @@ gboolean callback_pending(gpointer data) {
        return TRUE;
 }
 
-int test_reply_adduser_callback (int result, void *cb_data) {
+void test_reply_adduser_callback (int result, void *cb_data) {
+
+       assert(cb_data);
 
        g_atomic_int_inc(&callback_pending_reference);
 
-       if (cb_data == NULL) {
-               return -EBADR;
-       }
        test_user_data *user_data = (test_user_data *)cb_data;
        user_data->callback_result = result;
 
-       if (result < 0) {
-               return result;
-       }
+       if (result < 0)
+               return;
+
        g_mutex_unlock(&mutex);
-       return 0;
 }
 
-int test_reply_removeuser_callback (int result, void *cb_data) {
+void test_reply_removeuser_callback (int result, void *cb_data) {
+
+       assert(cb_data);
 
        g_atomic_int_inc(&callback_pending_reference);
 
-       if (cb_data == NULL) {
-               return -EBADR;
-       }
        test_user_data *user_data = (test_user_data *)cb_data;
        user_data->callback_result = result;
-
-       if (result < 0) {
-               return result;
-       }
-
-       return 0;
 }
 
-int  test_reply_switchuser_callback (int result, void *cb_data){
+void test_reply_switchuser_callback (int result, void *cb_data){
        test_user_data *user_data = (test_user_data *)cb_data;
        user_data->callback_result = result;
        g_mutex_unlock(&mutex);
-       return 0;
 }
 GMainLoop* loop = NULL;
 
@@ -258,4 +247,4 @@ int main(int argc,char *argv[]) {
        g_mutex_clear(&mutex);
        printf("Test program end\n");
        return 0;
-}
\ No newline at end of file
+}
diff --git a/clientExample/packaging/sessiond_client_example.manifest b/clientExample/packaging/sessiond_client_example.manifest
deleted file mode 100644 (file)
index 75b0fa5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<manifest>
-    <request>
-        <domain name="_"/>
-    </request>
-</manifest>
diff --git a/clientExample/packaging/sessiond_client_example.spec b/clientExample/packaging/sessiond_client_example.spec
deleted file mode 100644 (file)
index 2ddfea7..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-Name:      sessiond_client_example
-Summary:   Example client for reference and testing purposes.
-Version:   0.1
-Release:   1
-License:   GNU V3
-Source:    %{name}-%{version}.tar.gz
-BuildRequires: cmake
-BuildRequires: pkgconfig(capi-base-common)
-BuildRequires: pkgconfig(capi-system-info)
-BuildRequires: pkgconfig(gio-2.0)
-BuildRequires: gtest-devel
-BuildRequires: pkgconfig(libsmack)
-BuildRequires: pkgconfig(dlog)
-BuildRequires: pkgconfig(libsessiond)
-
-
-%description
-This package provides a set of tests for libsessiond.
-It can also be used as a reference client application
-and usage example of prevously mentioned libsessiond.
-
-%prep
-%setup -q
-
-%build
-mkdir -p build
-pushd build
-cmake ..
-make
-
-%install
-mkdir -p %{buildroot}%{_bindir}
-install -m 0755 build/SessiondTester %{buildroot}%{_bindir}/SessiondTester
-
-%clean
-%files
-%{_bindir}/SessiondTester
-
-
index 9fcc158..be8303b 100644 (file)
@@ -34,6 +34,11 @@ Group:      Development/Libraries
 Requires:   libsessiond = %{version}-%{release}
 %description -n libsessiond-tests
 
+%package -n subsession-client-example
+Summary:    Example program using libsessiond API
+Group:      Development/Libraries
+%description -n subsession-client-example
+
 %prep
 %setup -q
 
@@ -89,3 +94,8 @@ popd
 %manifest sessiond.manifest
 %license LICENSE.MIT
 %{_bindir}/test_*
+
+%files -n subsession-client-example
+%manifest sessiond.manifest
+%license LICENSE.MIT
+%{_bindir}/subsession-client-example