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);
//#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, };
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;