percent[0] = '\0';
comp_command_t *cmd = g_new0(comp_command_t, 1);
- cmd->command = g_strdup(COMP_REQ_SEND_DATA);
+ cmd->command = COMP_REQ_SEND_DATA;
cmd->uuid = g_strdup(uuid_dev);
if (strchr(ip, ':')) /* IPv6 Adress */
LOG_ERR("[Request Create Group] to %s", uuid);
comp_command_t *cmd = g_new0(comp_command_t, 1);
- cmd->command = g_strdup(COMP_REQ_CREATE_GROUP);
+ cmd->command = COMP_REQ_CREATE_GROUP;
cmd->uuid = g_strdup(uuid);
cmd->arg1 = g_strdup(group_name);
LOG_ERR("[Request Invite] to %s", uuid);
comp_command_t *cmd = g_new0(comp_command_t, 1);
- cmd->command = g_strdup(COMP_REQ_INVITE_DEVICE);
+ cmd->command = COMP_REQ_INVITE_DEVICE;
cmd->uuid = g_strdup(uuid);
cmd->arg1 = g_strdup(group_name);
cmd->arg2 = g_strdup(target_uuid);
LOG_ERR("[Request Eject] to %s", uuid);
comp_command_t *cmd = g_new0(comp_command_t, 1);
- cmd->command = g_strdup(COMP_REQ_EJECT_DEVICE);
+ cmd->command = COMP_REQ_EJECT_DEVICE;
cmd->uuid = g_strdup(uuid);
cmd->arg1 = g_strdup(group_name);
cmd->arg2 = g_strdup(target_uuid);
LOG_ERR("[Request Delete Group] to %s", uuid);
comp_command_t *cmd = g_new0(comp_command_t, 1);
- cmd->command = g_strdup(COMP_REQ_DELETE_GROUP);
+ cmd->command = COMP_REQ_DELETE_GROUP;
cmd->uuid = g_strdup(uuid);
cmd->arg1 = g_strdup(group_name);
int last_get_result;
+#define CASE_TO_STR(x) case x: return #x;
+
+static const char *command2string(comp_request_type_e command)
+{
+ switch (command) {
+ CASE_TO_STR(COMP_REQ_SEND_DATA)
+ CASE_TO_STR(COMP_REQ_CREATE_GROUP)
+ CASE_TO_STR(COMP_REQ_INVITE_DEVICE)
+ CASE_TO_STR(COMP_REQ_EJECT_DEVICE)
+ CASE_TO_STR(COMP_REQ_DELETE_GROUP)
+ default:
+ return "Unknown Command";
+ }
+}
+
+static comp_request_type_e string2command(char *command)
+{
+ if (g_strcmp0(command, "COMP_REQ_SEND_DATA") == 0)
+ return COMP_REQ_SEND_DATA;
+ else if (g_strcmp0(command, "COMP_REQ_CREATE_GROUP") == 0)
+ return COMP_REQ_CREATE_GROUP;
+ else if (g_strcmp0(command, "COMP_REQ_INVITE_DEVICE") == 0)
+ return COMP_REQ_INVITE_DEVICE;
+ else if (g_strcmp0(command, "COMP_REQ_EJECT_DEVICE") == 0)
+ return COMP_REQ_EJECT_DEVICE;
+ else if (g_strcmp0(command, "COMP_REQ_DELETE_GROUP") == 0)
+ return COMP_REQ_DELETE_GROUP;
+ else
+ return COMP_REQ_UNKNOWN_COMMAND;
+}
+
int comp_iot_initialize()
{
char *device_id = NULL;
return;
if (IOTCON_ERROR_NONE == ret && query) {
- char *command;
+ char *cmd;
char *arg = NULL;
int result;
+ comp_request_type_e command;
+
+ iotcon_query_lookup(query, "CMD", &cmd);
- iotcon_query_lookup(query, "CMD", &command);
+ command = string2command(cmd);
- if (strcmp(command, COMP_REQ_CREATE_GROUP) == 0) {
+ if (command == COMP_REQ_CREATE_GROUP) {
LOG_DEBUG("Request create group");
char *group_name;
iotcon_query_lookup(query, "name", &group_name);
result = comp_group_create(group_name);
arg = g_strdup(group_name);
- } else if (strcmp(command, COMP_REQ_INVITE_DEVICE) == 0) {
+ } else if (command == COMP_REQ_INVITE_DEVICE) {
LOG_DEBUG("Request invite");
char *group_name;
char *uuid;
result = comp_group_invite(group_name, uuid, "12341234");
arg = g_strdup(uuid);
- } else if (strcmp(command, COMP_REQ_EJECT_DEVICE) == 0) {
+ } else if (command == COMP_REQ_EJECT_DEVICE) {
LOG_DEBUG("Request eject");
char *group_name;
char *uuid;
result = comp_group_dismiss(group_name, uuid);
arg = g_strdup(uuid);
- } else if (strcmp(command, COMP_REQ_DELETE_GROUP) == 0) {
+ } else if (command == COMP_REQ_DELETE_GROUP) {
LOG_DEBUG("Request delete group");
arg = g_strdup("DELETED");
- } else {
+ } else if (command == COMP_REQ_SEND_DATA) {
#ifdef SUPPORT_BASE64_ENCODING
int payload_len;
char *data = NULL;
LOG_DEBUG("Receive Data = %s", data);
arg = g_strdup(data);
#endif
+ } else {
+ LOG_ERR("Unknown request command");
}
- notify_request_result(command, arg, result);
+ notify_request_result(cmd, arg, result);
free(arg);
}
g_source_remove(cmd->tid);
}
- if (cmd->command) {
- g_free(cmd->command);
- cmd->command = NULL;
- }
if (cmd->uuid) {
g_free(cmd->uuid);
cmd->uuid = NULL;
return IOTCON_FUNC_CONTINUE;
}
- iotcon_query_add(query, "CMD", cmd->command);
- LOG_DEBUG("CMD = %s", cmd->command);
+ iotcon_query_add(query, "CMD", command2string(cmd->command));
+ LOG_DEBUG("CMD = %s", command2string(cmd->command));
- if (strcmp(cmd->command, COMP_REQ_CREATE_GROUP) == 0) { //request create group
+ if (cmd->command == COMP_REQ_CREATE_GROUP) { //request create group
iotcon_query_add(query, "name", cmd->arg1);
- } else if (strcmp(cmd->command, COMP_REQ_INVITE_DEVICE) == 0) { //request invite
+ } else if (cmd->command == COMP_REQ_INVITE_DEVICE) { //request invite
iotcon_query_add(query, "name", cmd->arg1);
iotcon_query_add(query, "id", cmd->arg2);
iotcon_query_add(query, "PIN", cmd->arg3);
- } else if (strcmp(cmd->command, COMP_REQ_EJECT_DEVICE) == 0) { //request eject
+ } else if (cmd->command == COMP_REQ_EJECT_DEVICE) { //request eject
iotcon_query_add(query, "name", cmd->arg1);
iotcon_query_add(query, "id", cmd->arg2);
- } else if (strcmp(cmd->command, COMP_REQ_DELETE_GROUP) == 0) { //request delete group
+ } else if (cmd->command == COMP_REQ_DELETE_GROUP) { //request delete group
iotcon_query_add(query, "name", cmd->arg1);
} else { /* Send Data */
#ifdef SUPPORT_BASE64_ENCODING
char* b64Buf = g_malloc0(b64BufSize);
if (NULL == b64Buf) {
iotcon_remote_resource_destroy(resource_clone);
- _clear_user_data(cmd);
+ _clear_user_data(cmd);
return IOTCON_FUNC_CONTINUE;
}
b64Encode((const char *)cmd->arg1, cmd->arg1_len, b64Buf, b64BufSize, &outSize);
LOG_ERR("iotcon_set_timeout: Failed %s", get_error_message(ret));
}
- if (cmd && (g_strcmp0(cmd->command, COMP_REQ_CREATE_GROUP) == 0 ||
- g_strcmp0(cmd->command, COMP_REQ_SEND_DATA) == 0))
+ if (cmd && (cmd->command == COMP_REQ_CREATE_GROUP ||
+ cmd->command == COMP_REQ_SEND_DATA))
ret = iotcon_find_resource(cmd->host,
IOTCON_CONNECTIVITY_IP | IOTCON_CONNECTIVITY_PREFER_UDP,
query, _found_resource, user_data);