api: Drop redundant fields from subsession_event_wait_done() and clarify assumed... 11/275911/6
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Mon, 6 Jun 2022 10:29:43 +0000 (12:29 +0200)
committerArkadiusz Nowak <a.nowak3@samsung.com>
Wed, 8 Jun 2022 04:42:11 +0000 (06:42 +0200)
Changes in:
  - public interface header (libsessiond.h) authored by Karol Lewandowski
  - the rest implemented by Michal Bloch

Change-Id: I2d5337f59c868a614674f1b10001dc8c776f6f91

libsessiond/include/sessiond.h
libsessiond/src/lib.c
libsessiond/target_test/test_api_adduserwait.cpp
libsessiond/target_test/test_api_event_wait_done_err.cpp
libsessiond/target_test/test_api_reg_unreg_add_user_wait.cpp
libsessiond/target_test/test_api_removeuserwait.cpp
libsessiond/target_test/test_api_switch_user_wait.cpp

index f9b3994..a9a4498 100644 (file)
@@ -197,10 +197,9 @@ int subsession_switch_user(int session_uid, int next_user, subsession_reply_call
  * @brief Mark registered "wait lock" for specified event as completed
  * @since_tizen 7.0
  *
- * @param[in] session_uid User ID of the session
- * @param[in] event One bit marking which event to mark as done
+ * @param[in] info Event info as passed to subsession_event_callback()
  * @remarks Only client's own "wait lock" can be marked as completed. \n
- * This function should be called from previously registered callback.
+ * This function is assumed to be called from previously registered callback.
  *
  * @return 0 on success, otherwise a negative error value
  * @retval #SUBSESSION_ERROR_NONE Success
@@ -209,7 +208,7 @@ int subsession_switch_user(int session_uid, int next_user, subsession_reply_call
  * @retval #SUBSESSION_ERROR_PERMISSION_DENIED Not permitted
  * @retval #SUBSESSION_ERROR_NOT_SUPPORTED Not supported
  */
-int subsession_event_wait_done(int session_uid, subsession_event_type_e event, subsession_event_info info);
+int subsession_event_wait_done(subsession_event_info info);
 
 /**
  * @brief Get list of all available subsessions for given session ID
index 4ba6fa3..03366d3 100644 (file)
@@ -1128,30 +1128,30 @@ int subsession_switch_wait_done(int session_uid, uint64_t switch_id) {
        return method_call_no_signal(dbus_method_call.SwitchUserDone, params);
 }
 
-EXPORT_API int subsession_event_wait_done(int session_uid, subsession_event_type_e event, subsession_event_info info) {
+EXPORT_API int subsession_event_wait_done(subsession_event_info info) {
        return_if(
-               session_uid_is_not_valid(session_uid)
+               session_uid_is_not_valid(info.session_uid)
        )
-       switch (event) {
+       switch (info.event) {
                case SUBSESSION_ADD_USER_WAIT:
                        return_if(
                                user_id_is_not_valid(info.add_user.user)
                        )
-                       return subsession_add_user_wait_done(session_uid, info.add_user.user);
+                       return subsession_add_user_wait_done(info.session_uid, info.add_user.user);
                        break;
 
                case SUBSESSION_REMOVE_USER_WAIT:
                        return_if(
                                user_id_is_not_valid(info.remove_user.user)
                        )
-                       return subsession_remove_user_wait_done(session_uid, info.remove_user.user);
+                       return subsession_remove_user_wait_done(info.session_uid, info.remove_user.user);
                        break;
 
                case SUBSESSION_SWITCH_USER_WAIT:
                        return_if(
                                switched_user_id_is_not_valid(info.switch_user.switch_id)
                        )
-                       return subsession_switch_wait_done(session_uid, info.switch_user.switch_id);
+                       return subsession_switch_wait_done(info.session_uid, info.switch_user.switch_id);
                        break;
 
                default:
index 057c9d9..5749d05 100644 (file)
@@ -70,7 +70,7 @@ void test_subsession_add_user_wait_callback(subsession_event_info info, void *cb
        user_data->user_id = info.add_user.user;
        user_data->session_uid = info.session_uid;
 
-       user_data->callback_result = subsession_event_wait_done(test_subsession_uid, info.event, info);
+       user_data->callback_result = subsession_event_wait_done(info);
        g_atomic_int_inc(&callback_adduserstarted_reference);
 }
 
index 39f3182..6bf0de7 100644 (file)
@@ -25,62 +25,60 @@ TEST(subsession_event_wait_err_test, FailAtEventWaitBadMask) {
                }
        };
 
+       auto get_info = [&] (int suid, subsession_event_type_e e) {
+               auto tmp = e_info;
+               tmp.event = e;
+               tmp.session_uid = suid;
+               return tmp;
+       };
+
        std::array<res_t, test_actions> results {
                res_t {
-                       subsession_event_wait_done(
+                       subsession_event_wait_done(get_info(
                                subsession_5001::subsession_uid(),
-                               subsession_event_type_e(SUBSESSION_EVENT_ALL),
-                               e_info),
+                               subsession_event_type_e(SUBSESSION_EVENT_ALL))),
                        SUBSESSION_ERROR_INVALID_PARAMETER,
                        "Check if subsession_event_wait_done with  SUBSESSION_EVENT_ALL returns error" },
                res_t {
-                       subsession_event_wait_done(
+                       subsession_event_wait_done(get_info(
                                subsession_5001::subsession_uid(),
-                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_REMOVE_USER_WAIT),
-                               e_info),
+                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_REMOVE_USER_WAIT))),
                        SUBSESSION_ERROR_INVALID_PARAMETER,
                        "Check if subsession_event_wait_done with  SUBSESSION_ADD_USER_WAIT | SUBSESSION_REMOVE_USER_WAIT  returns error" },
 
-               res_t { subsession_event_wait_done(
+               res_t { subsession_event_wait_done(get_info(
                                subsession_5001::subsession_uid(),
-                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_SWITCH_USER_WAIT),
-                               e_info),
+                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_SWITCH_USER_WAIT))),
                        SUBSESSION_ERROR_INVALID_PARAMETER,
                        "Check if subsession_event_wait_done with  SUBSESSION_ADD_USER_WAIT | SUBSESSION_SWITCH_USER_WAIT  returns error" },
-               res_t { subsession_event_wait_done(
+               res_t { subsession_event_wait_done(get_info(
                                subsession_5001::subsession_uid(),
-                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_SWITCH_USER_COMPLETION),
-                               e_info),
+                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_SWITCH_USER_COMPLETION))),
                        SUBSESSION_ERROR_INVALID_PARAMETER,
                        "Check if subsession_event_wait_done with  SUBSESSION_ADD_USER_WAIT | SUBSESSION_SWITCH_USER_COMPLETION  returns error" },
-               res_t { subsession_event_wait_done(
+               res_t { subsession_event_wait_done(get_info(
                                subsession_5001::subsession_uid(),
-                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_REMOVE_USER_WAIT | SUBSESSION_SWITCH_USER_WAIT),
-                               e_info),
+                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_REMOVE_USER_WAIT | SUBSESSION_SWITCH_USER_WAIT))),
                        SUBSESSION_ERROR_INVALID_PARAMETER,
                        "Check if subsession_event_wait_done with  SUBSESSION_ADD_USER_WAIT | SUBSESSION_REMOVE_USER_WAIT | SUBSESSION_SWITCH_USER_WAIT returns error" },
-               res_t { subsession_event_wait_done(
+               res_t { subsession_event_wait_done(get_info(
                                subsession_5001::subsession_uid(),
-                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_REMOVE_USER_WAIT | SUBSESSION_SWITCH_USER_COMPLETION),
-                               e_info),
+                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_REMOVE_USER_WAIT | SUBSESSION_SWITCH_USER_COMPLETION))),
                        SUBSESSION_ERROR_INVALID_PARAMETER,
                        "Check if subsession_event_wait_done with  SUBSESSION_ADD_USER_WAIT | SUBSESSION_REMOVE_USER_WAIT | SUBSESSION_SWITCH_USER_COMPLETION returns error" },
-               res_t { subsession_event_wait_done(
+               res_t { subsession_event_wait_done(get_info(
                                subsession_5001::subsession_uid(),
-                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_SWITCH_USER_WAIT | SUBSESSION_SWITCH_USER_COMPLETION),
-                               e_info),
+                               subsession_event_type_e(SUBSESSION_ADD_USER_WAIT | SUBSESSION_SWITCH_USER_WAIT | SUBSESSION_SWITCH_USER_COMPLETION))),
                        SUBSESSION_ERROR_INVALID_PARAMETER,
                        "Check if subsession_event_wait_done with  SUBSESSION_ADD_USER_WAIT | SUBSESSION_SWITCH_USER_WAIT | SUBSESSION_SWITCH_USER_COMPLETION returns error" },
-               res_t { subsession_event_wait_done(
+               res_t { subsession_event_wait_done(get_info(
                                -(subsession_5001::subsession_uid()),
-                               subsession_event_type_e(SUBSESSION_SWITCH_USER_WAIT),
-                               e_info),
+                               subsession_event_type_e(SUBSESSION_SWITCH_USER_WAIT))),
                        SUBSESSION_ERROR_INVALID_PARAMETER,
                        "Check if subsession_event_wait_done with bad session_uid < 0 value" },
-               res_t { subsession_event_wait_done(
+               res_t { subsession_event_wait_done(get_info(
                                0,
-                               subsession_event_type_e(SUBSESSION_SWITCH_USER_WAIT),
-                               e_info),
+                               subsession_event_type_e(SUBSESSION_SWITCH_USER_WAIT))),
                        SUBSESSION_ERROR_INVALID_PARAMETER,
                        "Check if subsession_event_wait_done with bad session_uid = 0 value" },
        };
index f2491d9..f32a692 100644 (file)
@@ -63,7 +63,7 @@ void test_subsession_add_user_wait_callback(subsession_event_info info, void *cb
        user_data->user_id = info.add_user.user;
        user_data->session_uid = info.session_uid;
 
-       user_data->callback_result = subsession_event_wait_done(test_subsession_uid, info.event, info);
+       user_data->callback_result = subsession_event_wait_done(info);
        g_atomic_int_inc(&callback_adduserstarted_reference);
 }
 
index 265cf9c..890df84 100644 (file)
@@ -65,7 +65,7 @@ void test_subsession_remove_user_wait_callback(subsession_event_info info, void
 
        user_data->callback_result = 0;
 
-       user_data->callback_result = subsession_event_wait_done(test_subsession_uid, info.event, info);
+       user_data->callback_result = subsession_event_wait_done(info);
 
        g_atomic_int_inc(&callback_remove_user_started_reference);
 }
index 7251e35..8b6499c 100644 (file)
@@ -21,7 +21,7 @@ void test_subsession_switch_user_wait_callback(subsession_event_info info, void
        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 = subsession_event_wait_done(test_subsession_uid, info.event, info);
+       user_data->callback_result = subsession_event_wait_done(info);
 
        if (user_data->user_id == TestUser::user_0 || user_data->user_id == TestUser::user_2) {
                g_atomic_int_inc(&user_data->callback_reference);