return 0;
}
-*/
int vcdc_send_manager_pid(int manager_pid)
{
DBusError err;
DBusMessage* msg = NULL;
- /* Send to client */
+ // Send to client
msg = dbus_message_new_signal(
VC_CLIENT_SERVICE_OBJECT_PATH,
VC_CLIENT_SERVICE_INTERFACE,
return 0;
}
-
-int vcdc_send_error_signal_to_manager(int manager_pid, int reason, char *err_msg)
-{
- SLOG(LOG_ERROR, TAG_VCD, "@@ Send error signal to manager");
-
- if (0 != __dbus_check()) {
- return VCD_ERROR_OPERATION_FAILED;
- }
-
- int daemon_pid;
- DBusError err;
- dbus_error_init(&err);
-
- DBusMessage* msg = NULL;
-
- msg = dbus_message_new_signal(
- VC_MANAGER_SERVICE_OBJECT_PATH,
- VC_MANAGER_SERVICE_INTERFACE,
- VCD_MANAGER_METHOD_ERROR);
-
- if (NULL == msg) {
- SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Message is NULL");
- return VCD_ERROR_OUT_OF_MEMORY;
- }
-
- char *temp_msg = NULL;
- if (NULL == err_msg) {
- SLOG(LOG_WARN, TAG_VCD, "[Dbus ERROR] Input parameter is NULL");
- temp_msg = strdup("#NULL");
- } else {
- temp_msg = strdup(err_msg);
- }
-
- daemon_pid = getpid();
- dbus_message_append_args(msg, DBUS_TYPE_INT32, &reason, DBUS_TYPE_INT32, &daemon_pid, DBUS_TYPE_STRING, &temp_msg, DBUS_TYPE_INVALID);
-
- if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) {
- SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to Send");
- if (NULL != temp_msg) {
- free(temp_msg);
- temp_msg = NULL;
- }
- return VCD_ERROR_OPERATION_FAILED;
- } else {
- SLOG(LOG_INFO, TAG_VCD, "@@ Send error signal to manager : reason(%d), Error Msg(%s)", reason, temp_msg);
- dbus_connection_flush(g_conn_sender);
- }
-
- dbus_message_unref(msg);
- if (NULL != temp_msg) {
- free(temp_msg);
- temp_msg = NULL;
- }
-
- return 0;
-}
+*/
int vcdc_send_error_signal(int reason, char *err_msg)
{
*/
/*
->>>>>>> Replace IPC (VCC) from dbus to tidl
int vcdc_send_feedback_streaming(int pid, int utt_id, vc_feedback_event_e event, char* buffer, int len)
{
SLOG(LOG_INFO, TAG_VCD, "[Dbus] Send TTS feedback streaming : pid(%d), utt_id(%d), feedback event(%d), buffer(%p), length(%d)", pid, utt_id, event, buffer, len);
/**
* TIDL functions for VC client
*/
-
static void __vc_create_cb(rpc_port_stub_vc_context_h context, void *user_data)
{
SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_create_cb");
char *sender = NULL;
- rpc_port_stub_SamsungAIAppPort_context_get_sender(context, &sender);
+ rpc_port_stub_vc_context_get_sender(context, &sender);
if (!sender) {
SLOG(LOG_ERROR, TAG_VCD, "[TIDL ERROR] Sender is NULL");
return ;
*mgr_pid = vcd_client_manager_get_pid();
if (VCD_ERROR_NONE == ret) {
- SLOG(LOG_INFO, TAG_VCD, "[IN] vcd initialize : pid(%d) daemon_pid(%d)", pid, daemon_pid);
+ SLOG(LOG_INFO, TAG_VCD, "[IN] vcd initialize : pid(%d) daemon_pid(%d)", pid, *daemon_pid);
} else {
- SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to vcd initialize : pid(%d) daemon_pid(%d) ret(%d)", pid, daemon_pid, ret);
+ SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to vcd initialize : pid(%d) daemon_pid(%d) ret(%d)", pid, *daemon_pid, ret);
}
return ret;
if (VCD_ERROR_NONE == ret) {
SLOG(LOG_INFO, TAG_VCD, "[IN] vcd request dialog : pid(%d), disp_text(%s), utt_text(%s), continuous(%d)", pid, disp_text, utt_text, continuous);
} else {
- SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to vcd request dialog : pid(%d), disp_text(%s), utt_text(%s), continuous(%d), ret(%d)", pid, disp_text, utt_text, continuous, ret(%d));
+ SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to vcd request dialog : pid(%d), disp_text(%s), utt_text(%s), continuous(%d), ret(%d)", pid, disp_text, utt_text, continuous, ret);
}
return ret;
int ret = VCD_ERROR_OPERATION_FAILED;
- ret = vcd_server_is_system_command_valid(pid, &is_sys_cmd_valid);
+ ret = vcd_server_is_system_command_valid(pid, (int*)is_sys_cmd_valid);
if (VCD_ERROR_NONE == ret) {
SLOG(LOG_INFO, TAG_VCD, "[IN] vcd check system command is valid : pid(%d), is_sys_cmd_valid(%d)", pid, *is_sys_cmd_valid);
} else {
static int __vc_auth_enable_cb(rpc_port_stub_vc_context_h context, int pid, int mgr_pid, void *user_data)
{
- SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_auth_enable_cb");
+ SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_auth_enable_cb. Send a request to vc_mgr");
+
+ // int ret = VCD_ERROR_OPERATION_FAILED;
+ // ret = vcdc_send_request_auth_enable(pid);
+ // if (VCD_ERROR_NONE == ret) {
+ // SLOG(LOG_INFO, TAG_VCD, "[SUCCESS] Send request auth enable. pid(%d), mgr_pid(%d)", pid, mgr_pid);
+ // } else {
+ // SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to send request auth enable. ret(%d), pid(%d), mgr_pid(%d)", ret, pid, mgr_pid);
+ // }
+
+ // return ret;
+ return VCD_ERROR_NONE;
}
static int __vc_auth_disable_cb(rpc_port_stub_vc_context_h context, int pid, int mgr_pid, void *user_data)
{
- SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_auth_disable_cb");
+ SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_auth_disable_cb. Send a request to vc_mgr");
+
+ // int ret = VCD_ERROR_OPERATION_FAILED;
+ // ret = vcdc_send_request_auth_disable(pid);
+ // if (VCD_ERROR_NONE == ret) {
+ // SLOG(LOG_INFO, TAG_VCD, "[SUCCESS] Send request auth disable. pid(%d), mgr_pid(%d)", pid, mgr_pid);
+ // } else {
+ // SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to send request auth disable. ret(%d), pid(%d), mgr_pid(%d)", ret, pid, mgr_pid);
+ // }
+
+ // return ret;
+
+ return VCD_ERROR_NONE;
}
static int __vc_auth_start_cb(rpc_port_stub_vc_context_h context, int pid, int mgr_pid, void *user_data)
{
- SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_auth_start_cb");
+ SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_auth_start_cb. Send a request to vc_mgr");
+
+ // int ret = VCD_ERROR_OPERATION_FAILED;
+ // ret = vcdc_send_request_auth_start(pid);
+ // if (VCD_ERROR_NONE == ret) {
+ // SLOG(LOG_INFO, TAG_VCD, "[SUCCESS] Send request auth start. pid(%d), mgr_pid(%d)", pid, mgr_pid);
+ // } else {
+ // SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to send request auth start. ret(%d), pid(%d), mgr_pid(%d)", ret, pid, mgr_pid);
+ // }
+
+ // return ret;
+
+ return VCD_ERROR_NONE;
}
static int __vc_auth_stop_cb(rpc_port_stub_vc_context_h context, int pid, int mgr_pid, void *user_data)
{
- SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_auth_stop_cb");
+ SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_auth_stop_cb. Send a request to vc_mgr");
+
+ // int ret = VCD_ERROR_OPERATION_FAILED;
+ // ret = vcdc_send_request_auth_stop(pid);
+ // if (VCD_ERROR_NONE == ret) {
+ // SLOG(LOG_INFO, TAG_VCD, "[SUCCESS] Send request auth stop. pid(%d), mgr_pid(%d)", pid, mgr_pid);
+ // } else {
+ // SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to send request auth stop. ret(%d), pid(%d), mgr_pid(%d)", ret, pid, mgr_pid);
+ // }
+
+ // return ret;
+
+ return VCD_ERROR_NONE;
}
static int __vc_auth_cancel_cb(rpc_port_stub_vc_context_h context, int pid, int mgr_pid, void *user_data)
{
- SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_auth_cancel_cb");
+ SLOG(LOG_INFO, TAG_VCD, "[TIDL] __vc_auth_cancel_cb. Send a request to vc_mgr");
+
+ // int ret = VCD_ERROR_OPERATION_FAILED;
+ // ret = vcdc_send_request_auth_cancel(pid);
+ // if (VCD_ERROR_NONE == ret) {
+ // SLOG(LOG_INFO, TAG_VCD, "[SUCCESS] Send request auth cancel. pid(%d), mgr_pid(%d)", pid, mgr_pid);
+ // } else {
+ // SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to send request auth cancel. ret(%d), pid(%d), mgr_pid(%d)", ret, pid, mgr_pid);
+ // }
+
+ // return ret;
+
+ return VCD_ERROR_NONE;
}
static int __vc_request_tts_cb(rpc_port_stub_vc_context_h context, int pid, const char *text, const char *lang, bool to_vcm, int *utt_id, void *user_data)
int ret = VCD_ERROR_OPERATION_FAILED;
- ret = vcd_server_request_tts(pid, text, lang, to_vcm, &utt_id);
+ ret = vcd_server_request_tts(pid, text, lang, to_vcm, utt_id);
if (VCD_ERROR_NONE == ret) {
SLOG(LOG_INFO, TAG_VCD, "[IN] vcd request tts : pid(%d), text(%s), language(%s), to_vcm(%d)", pid, text, lang, to_vcm);
} else {
int ret = VCD_ERROR_OPERATION_FAILED;
- ret = vcd_server_get_tts_audio_format(pid, &rate, &channel, &audio_type);
+ ret = vcd_server_get_tts_audio_format(pid, rate, channel, audio_type);
if (VCD_ERROR_NONE == ret) {
SLOG(LOG_INFO, TAG_VCD, "[IN] vcd get tts audio format : pid(%d), rate(%d), channel(%d), audio_type(%d)", pid, *rate, *channel, *audio_type);
} else {
return VCD_ERROR_NONE;
}
+int vcdc_send_manager_pid(int manager_pid)
+{
+ // send signal to all pid
+
+ // get all pids
+ int* client_list = NULL;
+ int client_count = 0;
+ int ret = -1;
+ ret = vcd_client_get_ipc_list(&client_list, &client_count);
+ if (0 != ret || 0 == client_count) {
+ SLOG(LOG_WARN, TAG_VCD, "[WARNING] There is no client");
+ return VCD_ERROR_NONE;
+ }
+
+ client_ipc_info_s* info;
+ int pid = -1;
+ bundle* bundle_data;
+ char pid_char[10] = {0};
+ char mgrpid_char[10] = {0};
+ for (int i = 0 ; i < client_count ; i++) {
+ pid = client_list[i];
+
+ info = vcd_client_get_ipc_info(pid);
+ if (NULL == info) {
+ SLOG(LOG_ERROR, TAG_VCD, "[TIDL ERROR] Fail to get ipc info. pid(%d)", pid);
+ continue;
+ }
+
+ bundle_data = bundle_create();
+ if (NULL == bundle_data) {
+ SLOG(LOG_ERROR, TAG_VCD, "[TIDL ERROR] Fail to create bundle data");
+ continue;
+ }
+
+ SLOG(LOG_INFO, TAG_VCD, "[TIDL] Send manager pid(%d) to app(%d)", manager_pid, pid);
+
+ snprintf(pid_char, 10, "%d", pid);
+ snprintf(mgrpid_char, 10, "%d", manager_pid);
+
+ bundle_add_str(bundle_data, VC_BUNDLE_METHOD, VCD_METHOD_SEND_MANAGER_PID);
+ bundle_add_str(bundle_data, VC_BUNDLE_PID, pid_char);
+ bundle_add_str(bundle_data, VC_BUNDLE_MANAGER_PID, mgrpid_char);
+
+ rpc_port_stub_vc_notify_cb_invoke(info->notify_cb, pid, bundle_data);
+
+ bundle_free(bundle_data);
+ }
+
+ return VCD_ERROR_NONE;
+}
+
int vcdc_send_feedback_streaming(int pid, int utt_id, vc_feedback_event_e event, char* buffer, int len)
{
if (NULL == buffer || 0 >= len) {