add_subdirectory(libsessiond)
add_subdirectory(sessiond)
+
+enable_testing()
+
+#set ON if want run libsessiond test
+option(ENABLE_LIB_TESTS "Run libsessiond unit tests after build" OFF)
+if(ENABLE_LIB_TESTS)
+ find_package(GTest REQUIRED)
+ include(CTest)
+ add_subdirectory(libsessiond/test)
+endif(ENABLE_LIB_TESTS)
+
+#set ON if want run sessiond tests
+option(ENABLE_SESSIOND_TESTS "Run sessiond unit tests after build" OFF)
+if(ENABLE_SESSIOND_TESTS)
+ find_package(GTest REQUIRED)
+ include(CTest)
+ add_subdirectory(sessiond/test)
+endif(ENABLE_SESSIOND_TESTS)
--- /dev/null
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: libsessiond
+Description: libsessiond
+Requires: capi-base-common
+Version: @VERSION@
+Libs: -L${libdir} -lsessiond
+Cflags: -I${includedir}
* THE SOFTWARE. */
#pragma once
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <stdint.h>
#include <tizen.h>
-int test();
+typedef int (*reply_callback) (int result, void *cb_data);
+
+int subsession_add_user(int session_uid, int user, reply_callback cb, void *cb_data);
+int subsession_remove_user(int session_uid, int user, reply_callback cb, void *cb_data);
+int subsession_switch_user(int session_uid, int prev_user, int next_user, reply_callback cb, void *cb_data);
+
+//Amd →(REGISTER WAIT CALLBACK)→ Sessiond
+//Amd ←(SIGNAL BROADCAST)← Sessiond
+//Amd →(WAIT DONE)→ Sessiond
+
+typedef int (*add_user_wait_callback) (int session_uid, int user, void *cb_data);
+int subsession_add_user_wait_callback(int session_uid, add_user_wait_callback cb, void *cb_data);
+int subsession_add_user_wait_done(int session_uid, int user);
+
+typedef int (*remove_user_wait_callback) (int session_uid, int user, void *cb_data);
+int subsession_remove_user_wait_callback(int session_uid, remove_user_wait_callback cb, void *cb_data);
+int subsession_remove_user_wait_done(int session_uid, int user);
+
+typedef int (*switch_wait_callback) (int session_uid, uint64_t switch_id, int prev_user, int next_user, void *cb_data);
+int subsession_switch_wait_callback(int session_uid, switch_wait_callback cb, void *cb_data);
+int subsession_switch_wait_done(int session_uid, uint64_t switch_id);
+//Amd →(CALL)→ Sessiond
+
+typedef int (*switch_completion_callback)(int session_uid, uint64_t switch_id);
+int subsession_switch_completion_callback(int session_uid, switch_completion_callback cb, void *cb_data);
+int subsession_get_user_list(int session_uid, int **user_list, int *user_count);
+
+#ifdef __cplusplus
+}
+#endif
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE. */
+
#include "sessiond.h"
-int test() {
- return 42;
+int subsession_add_user(int session_uid, int user, reply_callback cb, void *cb_data) {
+ return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_remove_user(int session_uid, int user, reply_callback cb, void *cb_data) {
+ return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_switch_user(int session_uid, int prev_user, int next_user, reply_callback cb, void *cb_data) {
+
+ return TIZEN_ERROR_ACCOUNT;
+}
+
+//Amd →(REGISTER WAIT CALLBACK)→ Sessiond
+//Amd ←(SIGNAL BROADCAST)← Sessiond
+//Amd →(WAIT DONE)→ Sessiond
+
+int subsession_add_user_wait_callback(int session_uid, add_user_wait_callback cb, void *cb_data) {
+
+ return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_add_user_wait_done(int session_uid, int user) {
+
+ return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_remove_user_wait_callback(int session_uid, remove_user_wait_callback cb, void *cb_data) {
+
+ return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_remove_user_wait_done(int session_uid, int user) {
+
+ return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_switch_wait_callback(int session_uid, switch_wait_callback cb, void *cb_data) {
+
+ return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_switch_wait_done(int session_uid, uint64_t switch_id) {
+
+ return TIZEN_ERROR_ACCOUNT;
+}
+//Amd →(CALL)→ Sessiond
+
+int subsession_switch_completion_callback(int session_uid, switch_completion_callback cb, void *cb_data) {
+
+ return TIZEN_ERROR_ACCOUNT;
+}
+
+int subsession_get_user_list(int session_uid, int **user_list, int *user_count) {
+
+ return TIZEN_ERROR_ACCOUNT;
}
--- /dev/null
+function(add_libsd_mocked_test name wraps)
+
+ message("cmake src dir ====> ${CMAKE_SOURCE_DIR}")
+ set(CMAKE_CXX_STANDARD 20)
+ add_executable(test_${name} test_${name}.cpp)
+ add_library( libsessiond_test STATIC ${CMAKE_SOURCE_DIR}/libsessiond/src/lib.c)
+ include_directories(${CMAKE_SOURCE_DIR}/libsessiond/include ${GTEST_INCLUDE_DIR})
+ target_link_libraries(test_${name} libsessiond_test gtest_main gtest ${wraps})
+ gtest_discover_tests(test_${name})
+
+endfunction(add_libsd_mocked_test)
+
+add_libsd_mocked_test(h_lib "")
--- /dev/null
+#include<iostream>
+#include <gtest/gtest.h>
+
+#include "sessiond.h"
+
+// Test
+TEST(subsession_add_user_test, AddUserTest) {
+ int res = subsession_add_user(0, 0, NULL, NULL);
+ EXPECT_EQ(res,0);
+}
<manifest>
- <request>
- <domain name="_"/>
- </request>
+ <request>
+ <domain name="_"/>
+ </request>
</manifest>
BuildRequires: cmake
BuildRequires: pkgconfig(capi-base-common)
BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(gtest)
%description
TODO
pushd build
%cmake .. -DVERSION=%{version} -DCMAKE_BUILD_TYPE=Release
make %{?jobs:-j%jobs}
+make %{?jobs:-j%jobs} test
popd
cp %{SOURCE1} .
--- /dev/null
+function(add_sd_mocked_test name wraps)
+
+ message("cmake sessiond test src dir ====> ${CMAKE_SOURCE_DIR}")
+ set(CMAKE_CXX_STANDARD 20)
+ add_executable(test_${name} test_${name}.cpp)
+ #uncomment this line when add functions/files to test
+
+ #add_library( sessiond_test STATIC ${CMAKE_SOURCE_DIR}/sessiond/src/files.c)
+
+ #uncomment this line when "include" directory for local includes exists
+ #include_directories(${CMAKE_SOURCE_DIR}/sessiond/include ${GTEST_INCLUDE_DIR})
+
+ #add additional libs here
+ target_link_libraries(test_${name} gtest_main gtest ${wraps})
+ gtest_discover_tests(test_${name})
+
+endfunction(add_sd_mocked_test)
+
+add_sd_mocked_test(one "")
--- /dev/null
+#include<iostream>
+#include <gtest/gtest.h>
+
+// this test will fail
+TEST(test_one, TestOne) {
+ EXPECT_EQ(0,1);
+}