api: Add subsession-specific error codes for use in the API 03/274703/1
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Mon, 25 Apr 2022 12:34:27 +0000 (14:34 +0200)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Fri, 6 May 2022 09:53:43 +0000 (09:53 +0000)
Additionally, move data types to the beginning of the header file
for readability.

Change-Id: Ie30cecf6a89ce56a13820ff95112bad715870d81

libsessiond/include/sessiond.h

index 6866cd14f80fc71187229d73719cee5c5022e524..9a08b31528980c18a73acbcdb137b166fd653277 100644 (file)
@@ -28,6 +28,52 @@ extern "C" {
 #include <stdint.h>
 #include <tizen.h>
 
+/**
+ * @brief Enumeration for error codes of subsession routines.
+ * @since_tizen 7.0
+ */
+typedef enum {
+       SUBSESSION_ERROR_NONE                      = TIZEN_ERROR_NONE,              /**< Successful */
+       SUBSESSION_ERROR_INVALID_PARAMETER         = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
+       SUBSESSION_ERROR_IO_ERROR                  = TIZEN_ERROR_IO_ERROR,          /**< I/O error */
+       SUBSESSION_ERROR_OUT_OF_MEMORY             = TIZEN_ERROR_OUT_OF_MEMORY,     /**< Out of memory */
+       SUBSESSION_ERROR_ALREADY_EXITS             = TIZEN_ERROR_FILE_EXISTS,       /**< Resource already registered */
+       SUBSESSION_ERROR_NOT_AVAILABLE             = TIZEN_ERROR_NO_SUCH_DEVICE,    /**< Resource unavailable */
+       SUBSESSION_ERROR_RESOURCE_BUSY             = TIZEN_ERROR_RESOURCE_BUSY,     /**< Resource busy */
+       SUBSESSION_ERROR_PERMISSION_DENIED         = TIZEN_ERROR_PERMISSION_DENIED, /**< Permission denied */
+       SUBSESSION_ERROR_NOT_SUPPORTED             = TIZEN_ERROR_NOT_SUPPORTED,     /**< Not supported */
+} subsession_error_e;
+
+typedef enum {
+       SUBSESSION_ADD_USER_WAIT                   = 1 << 0,
+       SUBSESSION_REMOVE_USER_WAIT                = 1 << 1,
+       SUBSESSION_SWITCH_USER_WAIT                = 1 << 2,
+       SUBSESSION_SWITCH_USER_COMPLETION          = 1 << 3,
+       SUBSESSION_EVENT_ALL                       = ~0,
+} subsession_event_type_e;
+
+typedef union subsession_event_info {
+       struct add_user {
+               subsession_event_type_e event;
+               int session_uid;
+               int user;
+       } add_user;
+
+       struct remove_user {
+               subsession_event_type_e event;
+               int session_uid;
+               int user;
+       } remove_user;
+
+       struct switch_user {
+               subsession_event_type_e event;
+               int session_uid;
+               uint64_t switch_id;
+               int prev_user;
+               int next_user;
+       } switch_user;
+} subsession_event_info;
+
 typedef int (*subsession_reply_callback) (int result, void *cb_data);
 int subsession_add_user(int session_uid, int user, subsession_reply_callback cb, void *cb_data);
 int subsession_remove_user(int session_uid, int user, subsession_reply_callback cb, void *cb_data);
@@ -44,35 +90,6 @@ int subsession_switch_wait_done(int session_uid, uint64_t switch_id);
 int subsession_get_user_list(int session_uid, int **user_list, int *user_count);
 int subsession_get_current_user(int session_uid, int *user);
 
-typedef enum {
-               SUBSESSION_ADD_USER_WAIT = 0x01,
-               SUBSESSION_REMOVE_USER_WAIT = 0x02,
-               SUBSESSION_SWITCH_USER_WAIT = 0x04,
-               SUBSESSION_SWITCH_USER_COMPLETION = 0x08,
-               SUBSESSION_EVENT_ALL = 0xFF,
-} subsession_event_type_e;
-
-typedef union subsession_event_info {
-       struct add_user {
-                       subsession_event_type_e event;
-                       int session_uid;
-                       int user;
-               } add_user;
-
-               struct remove_user {
-                       subsession_event_type_e event;
-                       int session_uid;
-                       int user;
-               } remove_user;
-
-               struct switch_user {
-                       subsession_event_type_e event;
-                               int session_uid;
-                               uint64_t switch_id;
-                               int prev_user;
-                               int next_user;
-               } switch_user;
-} subsession_event_info;
 
 typedef int (*subsession_event_callback) (subsession_event_info info, void *cb_data);
 int subsession_register_event_callback(int session_uid, subsession_event_type_e event_bits, subsession_event_callback cb, void *cb_data);