int pid = 0;
int ret = -1;
char* key = NULL;
- char* data = NULL;
+ char* private_data = NULL;
dbus_message_get_args(msg, &err,
DBUS_TYPE_INT32, &pid,
DBUS_TYPE_STRING, &key,
- DBUS_TYPE_STRING, &data,
+ DBUS_TYPE_STRING, &private_data,
DBUS_TYPE_INVALID);
if (dbus_error_is_set(&err)) {
if (pid > 0) {
SLOG(LOG_DEBUG, TAG_VCM, "@@ vc mgr get request set private data : pid(%d) ", pid);
- ret = __vc_mgr_cb_private_data_set(key, data);
+ ret = __vc_mgr_cb_private_data_set(key, private_data);
} else {
SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr get requset set private data : invalid pid ");
}
}
char* temp = (char*)calloc(256, sizeof(char));
+ if (NULL == temp) {
+ SLOG(LOG_ERROR, vc_db_tag(), "[ERROR] Fail to allocate memory");
+ return VC_DB_ERROR_OUT_OF_MEMORY;
+ }
if (0 == strncasecmp(command, fixed, strlen(fixed))) {
strncpy(temp, command + strlen(fixed) + 1, strlen(command) - strlen(fixed) - 1);
SLOG(LOG_WARN, vc_db_tag(), "@@@");
// extract fixed command and remove space in front of '{'
char *tok_ptr = NULL;
temp = strtok_r(src_cmd, "{", &tok_ptr);
- __vc_db_remove_space(&temp);
- *fixed_cmd = strdup(temp);
-
- // merge command with fixed and vfixed
- while (NULL != (temp = strtok_r(NULL, "|", &tok_ptr))) {
+ if (NULL != temp) {
__vc_db_remove_space(&temp);
+ *fixed_cmd = strdup(temp);
- snprintf(merge_cmd, 256, "%s %s", *fixed_cmd, temp);
- dst_cmd = strdup(merge_cmd);
- temp_list = g_slist_append(temp_list, dst_cmd);
- SLOG(LOG_ERROR, vc_db_tag(), "New generated cmd: %s", dst_cmd);
+ // merge command with fixed and vfixed
+ while (NULL != (temp = strtok_r(NULL, "|", &tok_ptr))) {
+ __vc_db_remove_space(&temp);
+
+ snprintf(merge_cmd, 256, "%s %s", *fixed_cmd, temp);
+ dst_cmd = strdup(merge_cmd);
+ temp_list = g_slist_append(temp_list, dst_cmd);
+ SLOG(LOG_ERROR, vc_db_tag(), "New generated cmd: %s", dst_cmd);
+ }
+ } else {
+ *fixed_cmd = strdup(cmd->command);
}
} else if (VC_CMD_FORMAT_VFIXED_AND_FIXED == cmd->format) {
// check string validation
return ECORE_CALLBACK_RENEW;
}
+static void __vcd_dbus_connection_free()
+{
+ if (NULL != g_conn_listener) {
+ dbus_connection_close(g_conn_listener);
+ dbus_connection_unref(g_conn_listener);
+ g_conn_listener = NULL;
+ }
+ if (NULL != g_conn_sender) {
+ dbus_connection_close(g_conn_sender);
+ dbus_connection_unref(g_conn_sender);
+ g_conn_sender = NULL;
+ }
+}
+
int vcd_dbus_open_connection()
{
DBusError err;
if (NULL == g_conn_listener) {
SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to get dbus connection");
+ __vcd_dbus_connection_free();
return VCD_ERROR_OPERATION_FAILED;
}
if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) {
printf("Fail to be primary owner in dbus request.");
SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to be primary owner");
+ __vcd_dbus_connection_free();
return VCD_ERROR_OPERATION_FAILED;
}
if (dbus_error_is_set(&err)) {
SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] dbus_bus_request_name() : %s", err.message);
dbus_error_free(&err);
+ __vcd_dbus_connection_free();
return VCD_ERROR_OPERATION_FAILED;
}
if (dbus_error_is_set(&err)) {
SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] dbus_bus_add_match() : %s", err.message);
dbus_error_free(&err);
+ __vcd_dbus_connection_free();
return VCD_ERROR_OPERATION_FAILED;
}
int fd = 0;
- dbus_connection_get_unix_fd(g_conn_listener, &fd);
+ if (1 != dbus_connection_get_unix_fd(g_conn_listener, &fd)) {
+ SLOG(LOG_ERROR, TAG_VCD, "fail to get fd from dbus ");
+ __vcd_dbus_connection_free();
+ return VCD_ERROR_OPERATION_FAILED;
+ } else {
+ SLOG(LOG_DEBUG, TAG_VCD, "Get fd from dbus : %d", fd);
+ }
+
g_dbus_fd_handler = ecore_main_fd_handler_add(fd, ECORE_FD_READ, (Ecore_Fd_Cb)listener_event_callback, g_conn_listener, NULL, NULL);
if (NULL == g_dbus_fd_handler) {
SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to get fd handler");
+ __vcd_dbus_connection_free();
return VCD_ERROR_OPERATION_FAILED;
}
dbus_error_free(&err);
}
- dbus_connection_close(g_conn_listener);
- dbus_connection_unref(g_conn_listener);
- dbus_connection_close(g_conn_sender);
- dbus_connection_unref(g_conn_sender);
-
- g_conn_listener = NULL;
- g_conn_sender = NULL;
+ __vcd_dbus_connection_free();
return 0;
}
audio_in_destroy(g_audio_h);
audio_channel_e audio_ch;
- audio_sample_type_e audio_type;
+ audio_sample_type_e audio_sample_type;
switch (channel) {
case 1: audio_ch = AUDIO_CHANNEL_MONO; break;
}
switch (type) {
- case VCE_AUDIO_TYPE_PCM_S16_LE: audio_type = AUDIO_SAMPLE_TYPE_S16_LE; break;
- case VCE_AUDIO_TYPE_PCM_U8: audio_type = AUDIO_SAMPLE_TYPE_U8; break;
+ case VCE_AUDIO_TYPE_PCM_S16_LE: audio_sample_type = AUDIO_SAMPLE_TYPE_S16_LE; break;
+ case VCE_AUDIO_TYPE_PCM_U8: audio_sample_type = AUDIO_SAMPLE_TYPE_U8; break;
default:
SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Invalid Audio Type");
return VCD_ERROR_OPERATION_FAILED;
break;
}
- ret = audio_in_create(rate, audio_ch, audio_type, &g_audio_h);
+ ret = audio_in_create(rate, audio_ch, audio_sample_type, &g_audio_h);
if (AUDIO_IO_ERROR_NONE != ret) {
SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Fail to create audio handle : %d", ret);
g_is_valid_audio_in = false;