Add getting request id 71/178771/1
authorJiyong Min <jiyong.min@samsung.com>
Mon, 14 May 2018 03:57:45 +0000 (12:57 +0900)
committerJiyong Min <jiyong.min@samsung.com>
Mon, 14 May 2018 03:58:43 +0000 (12:58 +0900)
Change-Id: I9e523282d6510a465da1c79a32b3a0da4e069bac

include/media_controller_private.h
src/media_controller_util.c

index 84105ca53eb5540fe2815e6b16e1095c7239a8a3..dc992035b71338c176dd6de8204490acf8b686db 100755 (executable)
@@ -270,6 +270,7 @@ char* mc_util_get_interface_name(const char *type, const char *name);
 int mc_util_make_filter_interface_name(const char *prefix, const char *filter, char **interface_name);
 int mc_util_set_command_available(const char *name, const char *command_type, const char *command);
 int mc_util_get_command_available(const char *name, const char *command_type, const char *command);
+int mc_util_get_request_id(unsigned int *req_id);
 int mc_safe_strtoi(const char *buffer, int *value);
 int mc_safe_strtoull(const char *buffer, unsigned long long *value);
 
index 42964c894b0510e673313e0be5876d54143ea2f6..947750563b8f4bac7a1dd8e7228626950f554c4b 100755 (executable)
@@ -23,6 +23,8 @@
 //#define UNIT_TEST    /* for testsuite */
 #define MAX_NAME_LENGTH 255
 
+static GMutex mutex_req_id;
+
 static void _mc_util_check_valid_name(const char *name, char **valid_name)
 {
        char old_word[MAX_NAME_LENGTH] = {0, };
@@ -174,6 +176,26 @@ int mc_util_get_command_available(const char *name, const char *command_type, co
        return ret;
 }
 
+int mc_util_get_request_id(unsigned int *req_id)
+{
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       static unsigned int request_id = 0;
+
+       mc_retvm_if(req_id == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "invalid parameter");
+
+       g_mutex_lock(&mutex_req_id);
+
+       if (request_id + 1 == UINT_MAX) {
+               request_id = 0;
+       }
+       request_id++;
+       *req_id = request_id;
+
+       g_mutex_unlock(&mutex_req_id);
+
+       return ret;
+}
+
 int mc_safe_strtoi(const char *buffer, int *value)
 {
        char *end = NULL;