* @retval #SUBSESSION_ERROR_IO_ERROR Internal error occurred
* @retval #SUBSESSION_ERROR_PERMISSION_DENIED Not permitted
* @retval #SUBSESSION_ERROR_NOT_SUPPORTED Not supported
- * @remarks You must free user_list using free()
+ * @remarks You must free user_list using subsession_free_user_list()
*
* subsession_user_t *user_list_ptr;
* int user_count;
* ret = subsession_get_user_list(5001, &user_list_ptr, &user_count);
* ...
- * free(user_list_ptr);
+ * subsession_free_user_list(user_list_ptr);
*
* Also, the user list depends on whether the session ID exists or not. If it
* doesn't, the user list is empty (in particular this is not an error).
*/
int subsession_get_user_list(int session_uid, subsession_user_t **user_list, int *user_count);
+/*
+ * @brief Frees user list returned by the `subsession_switch_user` function
+ * @since_tizen 7.0
+ *
+ * @param[in] user_list Pointer to an array returned by `subsession_get_user_list`
+ */
+void subsession_free_user_list(subsession_user_t *user_list);
+
/**
* @brief Get currently active subsession ID for given session ID
* @since_tizen 7.0
return ret;
}
+EXPORT_API void subsession_free_user_list(subsession_user_t *user_list)
+{
+ if (!user_list)
+ return;
+
+ free(user_list);
+}
+
EXPORT_API int subsession_get_current_user(int session_uid, subsession_user_t user)
{
return_if(session_uid_is_not_valid(session_uid, current_user_ptr_is_null(user)))
};
struct subsession_user_deleter {
- void operator() (subsession_user_t *p) { free(p); }
+ void operator() (subsession_user_t *p) { subsession_free_user_list(p); }
};
void sessiond_started_callback(void)