* @brief Callback fired when requested operation completes.
* @since_tizen 7.0
*
- * @param[in] result Status code (currently unused)
* @param[in] cb_data The user data passed from the callback registration function
- * @remarks Return value from callback is currently unused.
+ * @remarks Callback will be called only when operation succeeds.
*/
-typedef int (*subsession_reply_callback) (int result, void *cb_data);
+typedef void (*subsession_reply_callback) (void *cb_data);
/**
* @brief Request new subsession to be created.
subsession_reply_callback reply_cb = signal_data->client_callback;
void *client_callback_data = signal_data->client_callback_data;
- reply_cb(ret_status, client_callback_data);
+ reply_cb(client_callback_data);
}
static void signal_user_ops_complete_handler(
return TRUE;
}
-int test_reply_adduser_callback_o (int result, void *cb_data) {
+void test_reply_adduser_callback_o (void *cb_data) {
g_atomic_int_inc(&callback_pending_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data *user_data = (test_user_data *)cb_data;
- user_data->callback_result = result;
-
- if (result < 0) {
- return result;
- }
-
- return 0;
+ user_data->callback_result = MAGIC_ADD;
}
-int test_reply_removeuser_callback_o (int result, void *cb_data) {
+void test_reply_removeuser_callback_o (void *cb_data) {
g_atomic_int_inc(&callback_pending_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data *user_data = (test_user_data *)cb_data;
- user_data->callback_result = result;
-
- if (result < 0) {
- return result;
- }
-
- return 0;
+ user_data->callback_result = MAGIC_REMOVE;
}
TEST(subsession_add_remove_user_test, APIAddRemoveUserTest) {
EXPECT_EQ(add_user_res, 0);
EXPECT_EQ(remove_user_res, 0);
- EXPECT_EQ(0, test_add_ud_o.callback_result);
- EXPECT_EQ(0, test_remove_ud_o.callback_result);
-
- //EXPECT_EQ(0,1);
+ EXPECT_EQ(MAGIC_ADD, test_add_ud_o.callback_result);
+ EXPECT_EQ(MAGIC_REMOVE, test_remove_ud_o.callback_result);
}
int callback_adduser_reference;
-int test_reply_adduser_callback (int result, void *cb_data) {
+void test_reply_adduser_callback (void *cb_data) {
g_atomic_int_inc(&callback_adduser_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data_t *user_data = (test_user_data_t *)cb_data;
- user_data->callback_result = result;
-
- if (result < 0) {
- return result;
- }
-
- return 0;
+ user_data->callback_result = MAGIC_ADD;
}
int callback_removeuser_reference;
-int test_reply_removeuser_callback (int result, void *cb_data) {
+void test_reply_removeuser_callback (void *cb_data) {
g_atomic_int_inc(&callback_removeuser_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data_t *user_data = (test_user_data_t *)cb_data;
- user_data->callback_result = result;
-
- return result;
+ user_data->callback_result = MAGIC_REMOVE;
}
//typedef int (*subsession_event_callback) (subsession_event_info info, void *cb_data);
EXPECT_EQ(2, test_add_wait_1_2.user_id);
EXPECT_EQ(test_subsession_uid, test_add_wait_1_2.session_uid);
- EXPECT_EQ(0, test_add_1_2.callback_result);
- EXPECT_EQ(0, test_remove_1_2.callback_result);
+ EXPECT_EQ(MAGIC_ADD, test_add_1_2.callback_result);
+ EXPECT_EQ(MAGIC_REMOVE, test_remove_1_2.callback_result);
}
// Let's test against the owner user.
constexpr int tested_user = 5001;
-int callback(int result, void *data) {
-
- // The add and remove user functions will call this,
- // which will just propagate the result.
- return result;
+void callback(void *data) {
+ // Nothing happens here but the callback cannot be null
}
TEST(subsession_get_user_list_test, APIGetUserListTest) {
int callback_adduser_reference;
-int test_reply_adduser_callback (int result, void *cb_data) {
+void test_reply_adduser_callback (void *cb_data) {
g_atomic_int_inc(&callback_adduser_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data_t *user_data = (test_user_data_t *)cb_data;
- user_data->callback_result = result;
-
- if (result < 0) {
- return result;
- }
-
- return 0;
+ user_data->callback_result = MAGIC_ADD;
}
int callback_removeuser_reference;
-int test_reply_removeuser_callback (int result, void *cb_data) {
+void test_reply_removeuser_callback (void *cb_data) {
g_atomic_int_inc(&callback_removeuser_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data_t *user_data = (test_user_data_t *)cb_data;
- user_data->callback_result = result;
-
- return result;
+ user_data->callback_result = MAGIC_REMOVE;
}
//typedef int (*subsession_event_callback) (subsession_event_info info, void *cb_data);
EXPECT_EQ(-3, test_add_wait_1_2.user_id);
EXPECT_EQ(-1, test_add_wait_1_2.session_uid);
- EXPECT_EQ(0, test_add_1_2.callback_result);
- EXPECT_EQ(0, test_remove_1_2.callback_result);
+ EXPECT_EQ(MAGIC_ADD, test_add_1_2.callback_result);
+ EXPECT_EQ(MAGIC_REMOVE, test_remove_1_2.callback_result);
EXPECT_EQ(rem_add_user_wait_res_1_2, 0);
}
int callback_adduser_reference;
-int test_reply_adduser_callback (int result, void *cb_data) {
+void test_reply_adduser_callback (void *cb_data) {
g_atomic_int_inc(&callback_adduser_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data_t *user_data = (test_user_data_t *)cb_data;
- user_data->callback_result = result;
-
- if (result < 0) {
- return result;
- }
-
- return 0;
+ user_data->callback_result = MAGIC_ADD;
}
int callback_removeuser_reference;
-int test_reply_removeuser_callback (int result, void *cb_data) {
+void test_reply_removeuser_callback (void *cb_data) {
g_atomic_int_inc(&callback_removeuser_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data_t *user_data = (test_user_data_t *)cb_data;
- user_data->callback_result = result;
-
- return result;
+ user_data->callback_result = MAGIC_REMOVE;
}
//typedef int (*subsession_event_callback) (subsession_event_info info, void *cb_data);
EXPECT_EQ(2, test_remove_wait_1_2.user_id);
EXPECT_EQ(test_subsession_uid, test_remove_wait_1_2.session_uid);
- EXPECT_EQ(0, test_add_1_2.callback_result);
- EXPECT_EQ(0, test_remove_1_2.callback_result);
+ EXPECT_EQ(MAGIC_ADD, test_add_1_2.callback_result);
+ EXPECT_EQ(MAGIC_REMOVE, test_remove_1_2.callback_result);
}
#include "test_hlp.hpp"
-int test_switch_callback(int result, void *cb_data) {
+void test_switch_callback(void *cb_data) {
- //std::cout << " test_switch_callback" << std::endl;
test_user_data_cb_t *user_data = (test_user_data_cb_t *)cb_data;
- user_data->callback_result = result;
+ user_data->callback_result = MAGIC_SWITCH;
g_atomic_int_inc(&user_data->callback_reference);
-
- //std::cout << " test_switch_callback end" << std::endl;
- return result;
}
int test_subsession_switch_user_completion_callback(subsession_event_info info, void *cb_data) {
EXPECT_EQ(add_user_res_2, 0);
EXPECT_EQ(remove_user_res_2, 0);
- EXPECT_EQ(0, std::get<add_user_1>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<add_user_2>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<switch_user_to_1>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<switch_user_to_2>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<remove_user_1>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<remove_user_2>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<add_user_1>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<add_user_2>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_SWITCH, std::get<switch_user_to_1>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_SWITCH, std::get<switch_user_to_2>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<remove_user_1>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<remove_user_2>(ud.t).callback_result);
auto &user_data_result = std::get<switch_completion>(ud.t);
EXPECT_EQ(add_user_res_2, 0);
EXPECT_EQ(remove_user_res_2, 0);
- EXPECT_EQ(0, std::get<add_user_1>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<add_user_2>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<switch_user_to_1>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<switch_user_to_2>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<switch_user_to_0>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<remove_user_1>(ud.t).callback_result);
- EXPECT_EQ(0, std::get<remove_user_2>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<add_user_1>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<add_user_2>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<switch_user_to_1>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<switch_user_to_2>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<switch_user_to_0>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<remove_user_1>(ud.t).callback_result);
+ EXPECT_EQ(MAGIC_DEFAULT, std::get<remove_user_2>(ud.t).callback_result);
auto &user_data_result = std::get<switch_wait>(ud.t);
#include <gio/gio.h>
#include <pthread.h>
#include "sessiond.h"
+#include "test_hlp.hpp"
// Test
return TRUE;
}
-int test_reply_adduser_callback (int result, void *cb_data) {
+void test_reply_adduser_callback (void *cb_data) {
g_atomic_int_inc(&callback_adduser_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data *user_data = (test_user_data *)cb_data;
- user_data->callback_result = result;
-
- if (result < 0) {
- return result;
- }
-
- return 0;
+ user_data->callback_result = MAGIC_ADD;
}
-int test_reply_switchuser_callback (int result, void *cb_data) {
+void test_reply_switchuser_callback (void *cb_data) {
g_atomic_int_inc(&callback_switchuser_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data_switch *user_data = (test_user_data_switch *)cb_data;
- user_data->callback_result = result;
-
- if (result < 0) {
- return result;
- }
-
- return 0;
+ user_data->callback_result = MAGIC_SWITCH;
}
-int test_reply_removeuser_callback (int result, void *cb_data) {
+void test_reply_removeuser_callback (void *cb_data) {
g_atomic_int_inc(&callback_removeuser_reference);
if (cb_data == NULL) {
- return -EBADR;
+ return;
}
test_user_data *user_data = (test_user_data *)cb_data;
- user_data->callback_result = result;
-
- if (result < 0) {
- return result;
- }
-
- return 0;
+ user_data->callback_result = MAGIC_REMOVE;
}
TEST(subsession_switch_user_test, APISwitchUserTest) {
EXPECT_EQ(got_current_user, 2);
- EXPECT_EQ(0, test_add_1_1.callback_result);
- EXPECT_EQ(0, test_add_1_2.callback_result);
- EXPECT_EQ(0, test_switch_1_1_to_2.callback_result);
- EXPECT_EQ(0, test_switch_1_2_to_0.callback_result);
- EXPECT_EQ(0, test_remove_1_1.callback_result);
- EXPECT_EQ(0, test_remove_1_2.callback_result);
+ EXPECT_EQ(MAGIC_ADD , test_add_1_1.callback_result);
+ EXPECT_EQ(MAGIC_ADD , test_add_1_2.callback_result);
+ EXPECT_EQ(MAGIC_SWITCH, test_switch_1_1_to_2.callback_result);
+ EXPECT_EQ(MAGIC_SWITCH, test_switch_1_2_to_0.callback_result);
+ EXPECT_EQ(MAGIC_REMOVE, test_remove_1_1.callback_result);
+ EXPECT_EQ(MAGIC_REMOVE, test_remove_1_2.callback_result);
}
return;
}
*/
-int test_reply_callback_default (int result, void *cb_data) {
+
+/* Magic constants set by various callbacks
+ * to verify whether they were called. */
+static constexpr int MAGIC_ADD = 111;
+static constexpr int MAGIC_REMOVE = 222;
+static constexpr int MAGIC_SWITCH = 333;
+static constexpr int MAGIC_DEFAULT = 444;
+
+void test_reply_callback_default (void *cb_data) {
test_user_data_cb_t *user_data = (test_user_data_cb_t *)cb_data;
- user_data->callback_result = result;
+ user_data->callback_result = MAGIC_DEFAULT;
g_atomic_int_inc(&user_data->callback_reference);
-
- return result;
}
template<typename T>