From: sooyeon Date: Wed, 29 Jun 2022 01:51:11 +0000 (+0900) Subject: Remove files and codes related to DBus X-Git-Tag: submit/tizen/20220801.042437~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F67%2F278967%2F1;p=platform%2Fcore%2Fuifw%2Fvoice-control.git Remove files and codes related to DBus Change-Id: I48d11a36f6551c9169d576218b9b56660de85489 Signed-off-by: sooyeon --- diff --git a/CMakeLists.txt b/CMakeLists.txt index aca3b41..daa639f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,7 +47,7 @@ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/include") INCLUDE(FindPkgConfig) pkg_check_modules(pkgs REQUIRED aul buxton2 capi-appfw-app-control capi-appfw-app-manager capi-base-common capi-media-audio-io capi-media-sound-manager ecore-wl2 - capi-system-info cynara-client cynara-session dbus-1 db-util dlog ecore glib-2.0 json-glib-1.0 libgum libtzplatform-config libxml-2.0 sqlite3 vconf gmock bundle rpc-port + capi-system-info cynara-client cynara-session db-util dlog ecore glib-2.0 json-glib-1.0 libgum libtzplatform-config libxml-2.0 sqlite3 vconf gmock bundle rpc-port ) @@ -71,10 +71,6 @@ INSTALL(FILES ${CMAKE_SOURCE_DIR}/voice-control.info DESTINATION ${TZ_SYS_RO_SHA ## config ## INSTALL(FILES ${CMAKE_SOURCE_DIR}/vc-config.xml DESTINATION ${TZ_SYS_RO_SHARE}/voice/vc/1.0) -INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.voice.vcserver.service DESTINATION ${TZ_SYS_RO_SHARE}/dbus-1/services) - -INSTALL(FILES ${CMAKE_SOURCE_DIR}/vc-server.conf DESTINATION /etc/dbus-1/session.d) - ## vc_getengine ## IF("${ARCH}" MATCHES "^arm.*") INSTALL(PROGRAMS ${CMAKE_SOURCE_DIR}/bin/armv7l/vc_getengine DESTINATION ${TZ_SYS_BIN}) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index b5ddb82..17a0edd 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -2,7 +2,6 @@ SET(SRCS vc.c vc_data.cpp vc_client.c -# vc_dbus.c vc_tidl.c vc_proxy.c ../common/vc_cmd_db.c @@ -15,7 +14,6 @@ SET(SRCS ) SET(SETTING_SRCS -# vc_setting_dbus.c vc_setting_tidl.c vc_setting_proxy.c vc_setting.c @@ -46,7 +44,6 @@ SET(MANAGER_SRCS vc_mgr_tidl.c vc_mgr_proxy.c vc_mgr_stub.c - vc_mgr_dbus.c ../common/vc_cmd_db.c ../common/vc_command.c ../common/vc_command_util.c diff --git a/client/vc.c b/client/vc.c index 4dbb113..dd7be5a 100644 --- a/client/vc.c +++ b/client/vc.c @@ -30,7 +30,6 @@ #include "vc_command.h" #include "vc_config_mgr.h" #include "vc_data.h" -// #include "vc_dbus.h" #include "vc_tidl.h" #include "vc_info_parser.h" #include "vc_json_parser.h" diff --git a/client/vc_dbus.c b/client/vc_dbus.c deleted file mode 100644 index 05e5bed..0000000 --- a/client/vc_dbus.c +++ /dev/null @@ -1,1998 +0,0 @@ -/* -* Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -#include "vc_command.h" -#include "vc_dbus.h" -#include "vc_main.h" - -static pthread_mutex_t g_dbus_mutex = PTHREAD_MUTEX_INITIALIZER; - -static int g_waiting_time = 3000; -static int g_waiting_short_time = 200; -static bool g_is_connection_opened = false; - -static Ecore_Fd_Handler* g_fd_handler = NULL; - -static DBusConnection* g_conn_sender = NULL; -static DBusConnection* g_conn_listener = NULL; - -extern int __vc_cb_error(int reason, int daemon_pid, char* msg); - -extern int __vc_cb_error_to_app(int pid, int reason, char* msg); - -extern void __vc_cb_result(); - -extern int __vc_cb_service_state(int state); - -extern int __vc_cb_manager_pid(int manager_pid); - -extern int __vc_cb_tts_streaming(int utt_id, vc_feedback_event_e event, char* buffer, int len); - -extern int __vc_cb_utterance_status(int utt_id, int utt_status); - -//LCOV_EXCL_START -static Eina_Bool listener_event_callback(void* data, Ecore_Fd_Handler *fd_handler) -{ - if (NULL == g_conn_listener) return ECORE_CALLBACK_RENEW; - - dbus_connection_read_write_dispatch(g_conn_listener, 50); - - while (1) { - DBusMessage* msg = NULL; - msg = dbus_connection_pop_message(g_conn_listener); - - /* loop again if we haven't read a message */ - if (NULL == msg) { - break; - } - - DBusError err; - dbus_error_init(&err); - - char if_name[64] = {0, }; - snprintf(if_name, 64, "%s", VC_CLIENT_SERVICE_INTERFACE); - - if (dbus_message_is_method_call(msg, if_name, VCD_METHOD_HELLO)) { - SLOG(LOG_DEBUG, TAG_VCC, "@@@ Get Hello"); - int pid = 0; - int response = -1; - - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (pid > 0) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc get hello : pid(%d) ", pid); - response = 1; - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc get hello : invalid pid "); - } - - DBusMessage* reply = NULL; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &response, DBUS_TYPE_INVALID); - - if (!dbus_connection_send(g_conn_listener, reply, NULL)) - SLOG(LOG_ERROR, TAG_VCC, "@@ vc get hello : fail to send reply"); - else - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc get hello : result(%d)", response); - - dbus_connection_flush(g_conn_listener); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc get hello : fail to create reply message"); - } - - SLOG(LOG_DEBUG, TAG_VCC, "@@@"); - } /* VCD_METHOD_HELLO */ - - else if (dbus_message_is_signal(msg, if_name, VCD_METHOD_SET_SERVICE_STATE)) { - int state = 0; - - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &state, DBUS_TYPE_INVALID); - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Get arguments error (%s)", err.message); - dbus_error_free(&err); - } - - SLOG(LOG_DEBUG, TAG_VCC, "@@ state changed : %d", state); - - __vc_cb_service_state(state); - - } /* VCD_METHOD_SET_SERVICE_STATE */ - - else if (dbus_message_is_method_call(msg, if_name, VCD_METHOD_RESULT)) { - SLOG(LOG_DEBUG, TAG_VCC, "@@@ Get Client Result"); - - __vc_cb_result(); - - SLOG(LOG_DEBUG, TAG_VCC, "@@@"); - - } /* VCD_METHOD_RESULT */ - else if (dbus_message_is_signal(msg, if_name, VCD_METHOD_SEND_MANAGER_PID)) { - int manager_pid = 0; - - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &manager_pid, DBUS_TYPE_INVALID); - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Get arguments error (%s)", err.message); - dbus_error_free(&err); - } - - SLOG(LOG_DEBUG, TAG_VCC, "@@ manager pid is changed : %d", manager_pid); - - __vc_cb_manager_pid(manager_pid); - - } /* VCD_METHOD_SEND_MANAGER_PID */ - - else if (dbus_message_is_signal(msg, if_name, VCD_METHOD_ERROR)) { - SLOG(LOG_DEBUG, TAG_VCC, "@@@ Get Error"); - int reason; - int daemon_pid; - char* err_msg; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &reason, - DBUS_TYPE_INT32, &daemon_pid, - DBUS_TYPE_STRING, &err_msg, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc Get Error message : Get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc Get Error message : reason(%d), daemon_pid(%d), msg(%s)", reason, daemon_pid, err_msg); - __vc_cb_error(reason, daemon_pid, err_msg); - } - - SLOG(LOG_DEBUG, TAG_VCC, "@@@"); - } /* VCD_METHOD_ERROR */ - - else if (dbus_message_is_signal(msg, if_name, VCD_METHOD_ERROR_TO_APP)) { - SLOG(LOG_DEBUG, TAG_VCC, "@@@ Get Error and send to client app"); - int pid; - int reason; - char* err_msg; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &reason, - DBUS_TYPE_STRING, &err_msg, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc Get Error message : Get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc Get Error message : reason(%d), pid(%d), msg(%s)", reason, pid, err_msg); - __vc_cb_error_to_app(pid, reason, err_msg); - } - - SLOG(LOG_DEBUG, TAG_VCC, "@@@"); - } /* VCD_METHOD_ERROR_TO_APP */ - - else if (dbus_message_is_method_call(msg, if_name, VCD_METHOD_FEEDBACK_STREAMING)) { - SLOG(LOG_INFO, TAG_VCC, "@@@ Get TTS feedback streaming"); - int utt_id; - vc_feedback_event_e event; - char* buffer = NULL; - int len; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &utt_id, - DBUS_TYPE_INT32, &event, - DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE, - &buffer, &len, - DBUS_TYPE_INVALID); - - __vc_cb_tts_streaming(utt_id, event, buffer, len); - - SLOG(LOG_INFO, TAG_VCC, "@@@"); - } /* VCD_METHOD_FEEDBACK_STREAMING */ - - else if (dbus_message_is_method_call(msg, if_name, VC_MANAGER_METHOD_UTTERANCE_STATUS)) { - SLOG(LOG_INFO, TAG_VCC, "@@@ Get TTS utterance status streaming"); - int utt_id; - int utt_status; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &utt_id, - DBUS_TYPE_INT32, &utt_status, - DBUS_TYPE_INVALID); - - __vc_cb_utterance_status(utt_id, utt_status); - - SLOG(LOG_INFO, TAG_VCC, "@@@"); - } /* VC_MANAGER_METHOD_UTTERANCE_STATUS */ - - else if (dbus_message_is_signal(msg, "org.freedesktop.DBus", "NameOwnerChanged")) { - SLOG(LOG_DEBUG, TAG_VCC, "@@@ Owner Changed"); - DBusError err; - dbus_error_init(&err); - /* remove a rule for daemon error */ - char rule_err[256] = {0, }; - snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", VC_SERVER_SERVICE_INTERFACE); - dbus_bus_remove_match(g_conn_listener, rule_err, &err); - dbus_connection_flush(g_conn_listener); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "Match Error (%s)", err.message); - dbus_error_free(&err); - } - - __vc_cb_error(VC_ERROR_SERVICE_RESET, -1, "Daemon Reset"); - SLOG(LOG_DEBUG, TAG_VCC, "@@@"); - } /* NameOwnerChanged */ - - else { - const char* sender = dbus_message_get_sender(msg); - const char* destination = dbus_message_get_destination(msg); - const char* path = dbus_message_get_path(msg); - const char* interf = dbus_message_get_interface(msg); - const char* member = dbus_message_get_member(msg); - int type = dbus_message_get_type(msg); - SLOG(LOG_ERROR, TAG_VCC, "[INFO] Message is NOT valid, sender(%s), destination(%s), path(%s), interface(%s), member(%s), type(%d)", sender, destination, path, interf, member, type); - dbus_message_unref(msg); - break; - } - - /* free the message */ - dbus_message_unref(msg); - } /* while(1) */ - - return ECORE_CALLBACK_PASS_ON; -} -//LCOV_EXCL_STOP - -static void __vc_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 vc_dbus_open_connection() -{ - pthread_mutex_lock(&g_dbus_mutex); - - if (NULL != g_conn_sender && NULL != g_conn_listener) { - SLOG(LOG_WARN, TAG_VCC, "already existed connection "); //LCOV_EXCL_LINE - pthread_mutex_unlock(&g_dbus_mutex); - return 0; - } - - DBusError err; - int ret; - - /* initialize the error value */ - dbus_error_init(&err); - - /* connect to the DBUS system bus, and check for errors */ - g_conn_sender = dbus_bus_get_private(DBUS_BUS_SESSION, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "Dbus Connection Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - - if (NULL == g_conn_sender) { - SLOG(LOG_ERROR, TAG_VCC, "Fail to get dbus connection "); //LCOV_EXCL_LINE - pthread_mutex_unlock(&g_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } - - dbus_connection_set_exit_on_disconnect(g_conn_sender, false); - - g_conn_listener = dbus_bus_get_private(DBUS_BUS_SESSION, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "Dbus Connection Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - - if (NULL == g_conn_listener) { - SLOG(LOG_ERROR, TAG_VCC, "Fail to get dbus connection "); //LCOV_EXCL_LINE - __vc_dbus_connection_free(); - pthread_mutex_unlock(&g_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } - - dbus_connection_set_exit_on_disconnect(g_conn_listener, false); - - int pid = getpid(); - - char service_name[64]; - memset(service_name, '\0', 64); - snprintf(service_name, 64, "%s%d", VC_CLIENT_SERVICE_NAME, pid); - - SLOG(LOG_DEBUG, TAG_VCC, "service name is %s", service_name); - - /* register our name on the bus, and check for errors */ - ret = dbus_bus_request_name(g_conn_listener, service_name, DBUS_NAME_FLAG_REPLACE_EXISTING, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "Name Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - - if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) { - SLOG(LOG_ERROR, TAG_VCC, "fail dbus_bus_request_name()"); //LCOV_EXCL_LINE - __vc_dbus_connection_free(); - pthread_mutex_unlock(&g_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } - - if (NULL != g_fd_handler) { - SLOG(LOG_WARN, TAG_VCC, "The handler already exists."); //LCOV_EXCL_LINE - __vc_dbus_connection_free(); - pthread_mutex_unlock(&g_dbus_mutex); - return VC_ERROR_NONE; - } - - char rule[256] = {0, }; - snprintf(rule, 256, "type='signal',interface='%s'", VC_CLIENT_SERVICE_INTERFACE); - - /* add a rule for which messages we want to see */ - dbus_bus_add_match(g_conn_listener, rule, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "Match Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - __vc_dbus_connection_free(); - pthread_mutex_unlock(&g_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } - - int fd = 0; - if (1 != dbus_connection_get_unix_fd(g_conn_listener, &fd)) { - SLOG(LOG_ERROR, TAG_VCC, "fail to get fd from dbus "); //LCOV_EXCL_LINE - __vc_dbus_connection_free(); - pthread_mutex_unlock(&g_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "Get fd from dbus : %d", fd); - } - - g_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_fd_handler) { - SLOG(LOG_ERROR, TAG_VCC, "fail to get fd handler from ecore "); //LCOV_EXCL_LINE - __vc_dbus_connection_free(); - pthread_mutex_unlock(&g_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } - - g_is_connection_opened = true; - - pthread_mutex_unlock(&g_dbus_mutex); - - SLOG(LOG_INFO, TAG_VCC, "[INFO] vc client dbus connection is opened"); - - return VC_ERROR_NONE; -} - -int vc_dbus_close_connection() -{ - pthread_mutex_lock(&g_dbus_mutex); - - DBusError err; - dbus_error_init(&err); - - if (NULL != g_fd_handler) { - ecore_main_fd_handler_del(g_fd_handler); - g_fd_handler = NULL; - } - - if (NULL != g_conn_listener) { - int pid = getpid(); - - char service_name[64]; - memset(service_name, '\0', 64); - snprintf(service_name, 64, "%s%d", VC_CLIENT_SERVICE_NAME, pid); - - dbus_bus_release_name(g_conn_listener, service_name, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - } - - __vc_dbus_connection_free(); - - g_is_connection_opened = false; - - pthread_mutex_unlock(&g_dbus_mutex); - - SLOG(LOG_INFO, TAG_VCC, "[INFO] vc client dbus connection is closed"); - - return 0; -} - -int vc_dbus_reconnect() -{ - if (!g_conn_sender || !g_conn_listener) { - vc_dbus_close_connection(); - - if (0 != vc_dbus_open_connection()) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to reconnect"); //LCOV_EXCL_LINE - return -1; - } - - SLOG(LOG_DEBUG, TAG_VCC, "[DBUS] Reconnect"); //LCOV_EXCL_LINE - return 0; - } - - bool sender_connected = dbus_connection_get_is_connected(g_conn_sender); - bool listener_connected = dbus_connection_get_is_connected(g_conn_listener); - SLOG(LOG_WARN, TAG_VCC, "[DBUS] Sender(%s) Listener(%s)", - sender_connected ? "Connected" : "Not connected", listener_connected ? "Connected" : "Not connected"); //LCOV_EXCL_LINE - - if (false == sender_connected || false == listener_connected) { - vc_dbus_close_connection(); - - if (0 != vc_dbus_open_connection()) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to reconnect"); //LCOV_EXCL_LINE - return -1; - } - - SLOG(LOG_DEBUG, TAG_VCC, "[DBUS] Reconnect"); //LCOV_EXCL_LINE - } - - return 0; -} - -static int __dbus_check() -{ - if (NULL == g_conn_sender || NULL == g_conn_listener) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] NULL connection"); //LCOV_EXCL_LINE - return vc_dbus_reconnect(); - } - return 0; -} - -int vc_dbus_request_hello() -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - SLOG(LOG_DEBUG, TAG_VCC, "[DBUS] Request vc hello"); //LCOV_EXCL_LINE - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_HELLO); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Request vc hello : Fail to make message"); //LCOV_EXCL_LINE - return VC_ERROR_OPERATION_FAILED; - } - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg = NULL; - int result = 0; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_short_time, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_DEBUG, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - - dbus_message_unref(msg); - - if (NULL != result_msg) { - dbus_message_unref(result_msg); - result = 0; - } else { - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - - -int vc_dbus_request_initialize(int pid, int* mgr_pid, int* service_state, int* daemon_pid) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_INITIALIZE); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc initialize : Fail to make message "); //LCOV_EXCL_LINE - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc initialize : pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - SLOG(LOG_DEBUG, TAG_VCC, "[DEBUG] Receive the reply for initializing"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - return VC_ERROR_OPERATION_FAILED; - } - - if (NULL != result_msg) { - int tmp = -1; - int tmp_service_state = 0; - int tmp_daemon_pid = 0; - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INT32, &tmp, - DBUS_TYPE_INT32, &tmp_service_state, - DBUS_TYPE_INT32, &tmp_daemon_pid, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - - dbus_message_unref(result_msg); - - if (0 == result) { - *mgr_pid = tmp; - *service_state = tmp_service_state; - *daemon_pid = tmp_daemon_pid; - - SLOG(LOG_DEBUG, TAG_VCC, "[DEBUG] Get arguments for initializing"); - - /* add a rule for daemon error */ - char rule[256] = {0, }; - snprintf(rule, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", VC_SERVER_SERVICE_INTERFACE); - if (NULL == g_conn_listener) { - if (g_is_connection_opened) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] g_conn_listener is NULL abnormally"); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCC, "[INFO] g_conn_listener is NULL and DBUS connection was closed"); - return VC_ERROR_NONE; - } - } - dbus_bus_add_match(g_conn_listener, rule, NULL); - - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc initialize : result = %d mgr = %d service = %d daemon_pid = %d", result, *mgr_pid, *service_state, *daemon_pid); //LCOV_EXCL_LINE - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc initialize : result = %d", result); //LCOV_EXCL_LINE - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL "); //LCOV_EXCL_LINE - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -int vc_dbus_request_finalize(int pid) -{ - DBusError err; - dbus_error_init(&err); - - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - /* remove a rule for daemon error */ - char rule_err[256] = {0, }; - snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", VC_SERVER_SERVICE_INTERFACE); - dbus_bus_remove_match(g_conn_listener, rule_err, &err); - dbus_connection_flush(g_conn_listener); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "Match Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_FINALIZE); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc finalize : Fail to make message "); //LCOV_EXCL_LINE - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc finalize : pid(%d)", pid); - } - - dbus_message_append_args(msg, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc finalize : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc finalize : result = %d", result); - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL "); //LCOV_EXCL_LINE - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -//LCOV_EXCL_START -int vc_dbus_request_set_exclusive_command(int pid, bool value) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_SET_EXCLUSIVE_CMD); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc set exclusive command : Fail to make message"); //LCOV_EXCL_LINE - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc set exclusive command : pid(%d)", pid); - } - - int temp = value; - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &temp, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc set exclusive command : result = %d", result); - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc set exclusive command : result = %d", result); - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL"); //LCOV_EXCL_LINE - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} -//LCOV_EXCL_STOP - -int vc_dbus_request_set_command(int pid, vc_cmd_type_e cmd_type) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_SET_COMMAND); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc set command : Fail to make message"); //LCOV_EXCL_LINE - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc set command : pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &cmd_type, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc set command : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc set command : result = %d", result); - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL"); //LCOV_EXCL_LINE - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -int vc_dbus_request_unset_command(int pid, vc_cmd_type_e cmd_type) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_UNSET_COMMAND); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc unset command : Fail to make message"); //LCOV_EXCL_LINE - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc unset command : pid(%d), type(%d)", pid, cmd_type); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &cmd_type, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc unset command : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc unset command : result = %d", result); - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL"); //LCOV_EXCL_LINE - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -int vc_dbus_set_foreground(int pid, bool value) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg = NULL; - int tmp_value = 0; - - tmp_value = (int)value; - - msg = dbus_message_new_signal( - VC_MANAGER_SERVICE_OBJECT_PATH, - VC_MANAGER_SERVICE_INTERFACE, - VCC_MANAGER_METHOD_SET_FOREGROUND); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc set foreground to manager : Fail to make message"); //LCOV_EXCL_LINE - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc set foreground to manager : client pid(%d), value(%s)", pid, tmp_value ? "true" : "false"); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &tmp_value, - DBUS_TYPE_INVALID); - - if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) { - SLOG(LOG_ERROR, TAG_VCC, "[Dbus ERROR] Fail to Send"); //LCOV_EXCL_LINE - dbus_message_unref(msg); - return VC_ERROR_OPERATION_FAILED; - } - - dbus_message_unref(msg); - - msg = NULL; - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_SET_FOREGROUND); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc set foreground to daemon : Fail to make message"); //LCOV_EXCL_LINE - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc set foreground to daemon : client pid(%d), value(%s)", pid, tmp_value ? "true" : "false"); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &tmp_value, - DBUS_TYPE_INVALID); - - dbus_message_set_no_reply(msg, TRUE); - - if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) { - SLOG(LOG_ERROR, TAG_VCC, "[Dbus ERROR] Fail to Send"); //LCOV_EXCL_LINE - dbus_message_unref(msg); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCC, "[Dbus DEBUG] Success to Send"); - dbus_connection_flush(g_conn_sender); - } - - dbus_message_unref(msg); - return 0; -} - -//LCOV_EXCL_START -int vc_dbus_set_server_dialog(int pid, const char* app_id, const char* credential) -{ - if (NULL == g_conn_sender) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] NULL connection"); - if (0 != vc_dbus_reconnect()) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to reconnect"); - } - } - - DBusMessage* msg; - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_SET_SERVER_DIALOG); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc set server dialog : Fail to make message"); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc set server dialog : pid(%d), app_id(%s)", pid, app_id); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_STRING, &app_id, - DBUS_TYPE_STRING, &credential, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc set server dialog : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc set server dialog : result = %d", result); - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} -//LCOV_EXCL_STOP - -int vc_dbus_request_dialog(int pid, const char* disp_text, const char* utt_text, bool continuous) -{ - if (NULL == g_conn_sender) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] NULL connection"); //LCOV_EXCL_LINE - if (0 != vc_dbus_reconnect()) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to reconnect"); //LCOV_EXCL_LINE - } - } - - DBusMessage* msg; - int tmp_continue = 0; - - tmp_continue = (int)continuous; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_DIALOG); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc request dialog to manager : Fail to make message"); //LCOV_EXCL_LINE - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc request dialog to manager : client pid(%d), disp_text(%s), utt_text(%s), continuous(%d)", getpid(), disp_text, utt_text, continuous); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_STRING, &disp_text, - DBUS_TYPE_STRING, &utt_text, - DBUS_TYPE_INT32, &tmp_continue, - DBUS_TYPE_INVALID); - - dbus_message_set_no_reply(msg, TRUE); - - if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) { - SLOG(LOG_ERROR, TAG_VCC, "[Dbus ERROR] Fail to Send"); //LCOV_EXCL_LINE - dbus_message_unref(msg); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCC, "[Dbus DEBUG] Success to Send"); - dbus_connection_flush(g_conn_sender); - } - - dbus_message_unref(msg); - - return 0; - -//LCOV_EXCL_START -/* - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc set command : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc set command : result = %d", result); - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -*/ -//LCOV_EXCL_STOP -} - -int vc_dbus_request_is_system_command_valid(int pid, bool* is_sys_cmd_valid) -{ - if (NULL == g_conn_sender) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] NULL connection"); //LCOV_EXCL_LINE - if (0 != vc_dbus_reconnect()) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to reconnect"); //LCOV_EXCL_LINE - } - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_IS_SYS_COMMAND_VALID); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc is system command valid : Fail to make message"); //LCOV_EXCL_LINE - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc is system command valid : pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - int tmp_sys_cmd = 0; - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INT32, &tmp_sys_cmd, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); //LCOV_EXCL_LINE - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - *is_sys_cmd_valid = (bool)tmp_sys_cmd; - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc is system command valid : result = %d, is_sys_cmd_valid = %d", result, *is_sys_cmd_valid); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc is system command valid : result = %d", result); - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL"); //LCOV_EXCL_LINE - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -//LCOV_EXCL_START -#if 0 -int vc_dbus_request_start(int pid, int silence) -{ - DBusMessage* msg; - - /* create a signal & check for errors */ - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_REQUEST_START); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc start : Fail to make message "); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc start : pid(%d), silence(%d)", pid, silence); - } - - DBusMessageIter args; - dbus_message_iter_init_append(msg, &args); - - /* Append result*/ - dbus_message_iter_append_basic(&args, DBUS_TYPE_INT32, &(pid)); - dbus_message_iter_append_basic(&args, DBUS_TYPE_INT32, &(silence)); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc start : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc start : result = %d", result); - } - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ Result Message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -int vc_dbus_request_stop(int pid) -{ - DBusMessage* msg; - - /* create a signal & check for errors */ - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_REQUEST_STOP); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc stop : Fail to make message "); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc stop : pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc stop : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc stop : result = %d", result); - } - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ Result Message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -int vc_dbus_request_cancel(int pid) -{ - DBusMessage* msg; - - /* create a signal & check for errors */ - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, /* object name of the signal */ - VC_SERVER_SERVICE_INTERFACE, /* interface name of the signal */ - VC_METHOD_REQUEST_CANCEL); /* name of the signal */ - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc cancel : Fail to make message "); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc cancel : pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc cancel : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc cancel : result = %d", result); - } - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ Result Message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} -#endif -//LCOV_EXCL_STOP - -//LCOV_EXCL_START -/* Authority */ -int vc_dbus_request_auth_enable(int pid, int mgr_pid) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - char service_name[64] = {0,}; - char object_path[64] = {0,}; - char target_if_name[128] = {0,}; - - snprintf(service_name, 64, "%s%d", VC_MANAGER_SERVICE_NAME, mgr_pid); - snprintf(object_path, 64, "%s", VC_MANAGER_SERVICE_OBJECT_PATH); - snprintf(target_if_name, 128, "%s%d", VC_MANAGER_SERVICE_INTERFACE, mgr_pid); - - /* create a signal & check for errors */ - msg = dbus_message_new_method_call( - service_name, - object_path, /* object name of the signal */ - target_if_name, /* interface name of the signal */ - VC_METHOD_AUTH_ENABLE); /* name of the signal */ - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc auth enable : Fail to make message "); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc auth enable : pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc auth enable : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc auth enable : result = %d", result); - } - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ Result Message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -int vc_dbus_request_auth_disable(int pid, int mgr_pid) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - char service_name[64] = {0,}; - char object_path[64] = {0,}; - char target_if_name[128] = {0,}; - - snprintf(service_name, 64, "%s%d", VC_MANAGER_SERVICE_NAME, mgr_pid); - snprintf(object_path, 64, "%s", VC_MANAGER_SERVICE_OBJECT_PATH); - snprintf(target_if_name, 128, "%s%d", VC_MANAGER_SERVICE_INTERFACE, mgr_pid); - - /* create a signal & check for errors */ - msg = dbus_message_new_method_call( - service_name, - object_path, /* object name of the signal */ - target_if_name, /* interface name of the signal */ - VC_METHOD_AUTH_DISABLE); /* name of the signal */ - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc auth disable : Fail to make message "); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc auth disable : pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc auth disable : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc auth disable : result = %d", result); - } - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ Result Message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -int vc_dbus_request_auth_start(int pid, int mgr_pid) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - char service_name[64] = {0,}; - char object_path[64] = {0,}; - char target_if_name[128] = {0,}; - - snprintf(service_name, 64, "%s%d", VC_MANAGER_SERVICE_NAME, mgr_pid); - snprintf(object_path, 64, "%s", VC_MANAGER_SERVICE_OBJECT_PATH); - snprintf(target_if_name, 128, "%s%d", VC_MANAGER_SERVICE_INTERFACE, mgr_pid); - - /* create a signal & check for errors */ - msg = dbus_message_new_method_call( - service_name, - object_path, - target_if_name, - VC_METHOD_AUTH_START); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc auth start : Fail to make message "); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc auth start : pid(%d)", pid); - } - - DBusMessageIter args; - dbus_message_iter_init_append(msg, &args); - - /* Append result*/ - dbus_message_iter_append_basic(&args, DBUS_TYPE_INT32, &(pid)); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc auth start : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc auth start : result = %d", result); - } - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ Result Message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -int vc_dbus_request_auth_stop(int pid, int mgr_pid) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - char service_name[64] = {0,}; - char object_path[64] = {0,}; - char target_if_name[128] = {0,}; - - snprintf(service_name, 64, "%s%d", VC_MANAGER_SERVICE_NAME, mgr_pid); - snprintf(object_path, 64, "%s", VC_MANAGER_SERVICE_OBJECT_PATH); - snprintf(target_if_name, 128, "%s%d", VC_MANAGER_SERVICE_INTERFACE, mgr_pid); - - /* create a signal & check for errors */ - msg = dbus_message_new_method_call( - service_name, - object_path, - target_if_name, - VC_METHOD_AUTH_STOP); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc auth stop : Fail to make message "); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc auth stop : pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc auth stop : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc auth stop : result = %d", result); - } - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ Result Message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -int vc_dbus_request_auth_cancel(int pid, int mgr_pid) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - char service_name[64] = {0,}; - char object_path[64] = {0,}; - char target_if_name[128] = {0,}; - - snprintf(service_name, 64, "%s%d", VC_MANAGER_SERVICE_NAME, mgr_pid); - snprintf(object_path, 64, "%s", VC_MANAGER_SERVICE_OBJECT_PATH); - snprintf(target_if_name, 128, "%s%d", VC_MANAGER_SERVICE_INTERFACE, mgr_pid); - - /* create a signal & check for errors */ - msg = dbus_message_new_method_call( - service_name, - object_path, /* object name of the signal */ - target_if_name, /* interface name of the signal */ - VC_METHOD_AUTH_CANCEL); /* name of the signal */ - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc auth cancel : Fail to make message "); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc auth cancel : pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc auth cancel : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc auth cancel : result = %d", result); - } - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ Result Message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} -//LCOV_EXCL_STOP - -int vc_dbus_request_tts(int pid, const char* text, const char* language, bool to_vcm, int* utt_id) -{ - if (NULL == g_conn_sender) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] NULL connection"); - if (0 != vc_dbus_reconnect()) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to reconnect"); - } - } - - DBusMessage* msg; - int tmp_to_vcm = 0; - - tmp_to_vcm = (int)to_vcm; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_REQUEST_TTS); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc request tts to manager : Fail to make message"); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc request tts to manager : client pid(%d), disp_text(%s), utt_text(%s), continuous(%d)", pid, text, language, to_vcm); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_STRING, &text, - DBUS_TYPE_STRING, &language, - DBUS_TYPE_INT32, &tmp_to_vcm, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - int tmp_utt_id = -1; - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INT32, &tmp_utt_id, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - *utt_id = tmp_utt_id; - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc request tts : result = %d, utt_id = %d", result, *utt_id); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc request tts : result = %d", result); - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; - - return 0; -} - -int vc_dbus_cancel_tts(int pid, int utt_id) -{ - if (NULL == g_conn_sender) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] NULL connection"); - if (0 != vc_dbus_reconnect()) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to reconnect"); - } - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_CANCEL_TTS); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc cancel tts to manager : Fail to make message"); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc cancel tts to manager : client pid(%d), utt_id(%d)", pid, utt_id); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &utt_id, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc cancel tts : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc cancel tts : result = %d", result); - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; - - return 0; -} - -int vc_dbus_get_tts_audio_format(int pid, int* rate, vc_audio_channel_e* channel, vc_audio_type_e* audio_type) -{ - if (NULL == g_conn_sender) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] NULL connection"); - if (0 != vc_dbus_reconnect()) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to reconnect"); - } - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_GET_TTS_AUDIO_FORMAT); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc get tts audio format : Fail to make message"); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc get tts audio format : client pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - int tmp_rate; - int tmp_channel; - int tmp_audio_type; - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INT32, &tmp_rate, - DBUS_TYPE_INT32, &tmp_channel, - DBUS_TYPE_INT32, &tmp_audio_type, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCC, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - if (0 == result) { - *rate = tmp_rate; - *channel = tmp_channel; - *audio_type = tmp_audio_type; - SLOG(LOG_DEBUG, TAG_VCC, "@@ vc get tts audio format : result = %d, rate = %d, channel = %d, audio_type = %d", result, *rate, *channel, *audio_type); - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ vc get tts audio format : result = %d", result); - } - } else { - SLOG(LOG_ERROR, TAG_VCC, "@@ Result message is NULL"); - vc_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; - - return 0; -} - diff --git a/client/vc_dbus.h b/client/vc_dbus.h deleted file mode 100644 index 5d13712..0000000 --- a/client/vc_dbus.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -* Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -#ifndef __VC_DBUS_H_ -#define __VC_DBUS_H_ - -#include "voice_control_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -int vc_dbus_open_connection(); - -int vc_dbus_close_connection(); - - -int vc_dbus_request_hello(); - -int vc_dbus_request_initialize(int pid, int* mgr_pid, int* service_state, int* daemon_pid); - -int vc_dbus_request_finalize(int pid); - -int vc_dbus_request_set_exclusive_command(int pid, bool value); - -int vc_dbus_request_set_command(int pid, vc_cmd_type_e cmd_type); - -int vc_dbus_request_unset_command(int pid, vc_cmd_type_e cmd_type); - -int vc_dbus_set_foreground(int pid, bool value); - -int vc_dbus_set_server_dialog(int pid, const char* app_id, const char* credential); - -int vc_dbus_request_dialog(int pid, const char* disp_text, const char* utt_text, bool continuous); - -int vc_dbus_request_is_system_command_valid(int pid, bool* is_sys_cmd_valid); - -#if 0 -int vc_dbus_request_start(int pid, int silence); - -int vc_dbus_request_stop(int pid); - -int vc_dbus_request_cancel(int pid); -#endif - -/* Authority */ -int vc_dbus_request_auth_enable(int pid, int mgr_pid); - -int vc_dbus_request_auth_disable(int pid, int mgr_pid); - -int vc_dbus_request_auth_start(int pid, int mgr_pid); - -int vc_dbus_request_auth_stop(int pid, int mgr_pid); - -int vc_dbus_request_auth_cancel(int pid, int mgr_pid); - -/* tts feedback */ - -int vc_dbus_request_tts(int pid, const char* text, const char* language, bool to_vcm, int* utt_id); - -int vc_dbus_cancel_tts(int pid, int utt_id); - -int vc_dbus_get_tts_audio_format(int pid, int* rate, vc_audio_channel_e* channel, vc_audio_type_e* audio_type); - -#ifdef __cplusplus -} -#endif - -#endif /* __VC_DBUS_H_ */ diff --git a/client/vc_mgr.c b/client/vc_mgr.c index 2a31598..1203bf6 100644 --- a/client/vc_mgr.c +++ b/client/vc_mgr.c @@ -32,7 +32,6 @@ #include "vc_main.h" #include "vc_mgr_client.h" #include "vc_mgr_tidl.h" -#include "vc_mgr_dbus.h" #include "vc_mgr_data.h" #include "vc_mgr_player.h" #include "voice_control.h" @@ -47,7 +46,6 @@ static Ecore_Timer* g_send_hello_timer = NULL; static Ecore_Timer* g_request_init_timer = NULL; -static int g_dbus_send_hello_count = 0; static int g_tidl_send_hello_count = 0; static Ecore_Timer* g_m_set_volume_timer = NULL; @@ -331,11 +329,6 @@ static void __vc_mgr_internal_unprepare() SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to request finalize : %s", __vc_mgr_get_error_code(ret)); } - ret = vc_mgr_dbus_request_finalize(g_vc_m->handle); - if (0 != ret) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to request dbus finalize : %s", __vc_mgr_get_error_code(ret)); - } - vc_mgr_client_set_internal_state(g_vc_m, VC_INTERNAL_STATE_NONE); return; } @@ -580,7 +573,6 @@ int vc_mgr_prepare(void) } if (NULL == g_send_hello_timer) { - g_dbus_send_hello_count = 0; g_tidl_send_hello_count = 0; SLOG(LOG_INFO, TAG_VCM, "[DEBUG] Create a new timer for preparation"); ecore_thread_main_loop_begin(); @@ -4251,7 +4243,7 @@ int vc_mgr_send_utterance_status(int pid, int utt_id, vc_tts_utterance_status_e return VC_ERROR_INVALID_STATE; } - int ret = vc_mgr_dbus_send_utterance_status(pid, utt_id, utt_status); + int ret = vc_mgr_tidl_send_utterance_status(pid, utt_id, utt_status); if (0 != ret) SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to send utterance status : %s", __vc_mgr_get_error_code(ret)); else diff --git a/client/vc_mgr_dbus.c b/client/vc_mgr_dbus.c deleted file mode 100644 index c59a3d9..0000000 --- a/client/vc_mgr_dbus.c +++ /dev/null @@ -1,794 +0,0 @@ -/* -* Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -#include "vc_main.h" -#include "vc_mgr_client.h" -#include "vc_mgr_dbus.h" -#include "vc_command.h" - - -static pthread_mutex_t g_m_dbus_mutex = PTHREAD_MUTEX_INITIALIZER; - -static int g_m_waiting_short_time = 200; -static bool g_is_connection_opened = false; - -static Ecore_Fd_Handler* g_m_fd_handler = NULL; - -static DBusConnection* g_m_conn_sender = NULL; -static DBusConnection* g_m_conn_listener = NULL; - -extern int __vc_mgr_cb_error(int reason, int daemon_pid, char* msg); - -extern int __vc_mgr_cb_set_foreground(int pid, bool value); - -extern int __vc_mgr_cb_private_data_requested(const char* key, char** data); - -/* for TTS feedback */ -extern int __vc_mgr_cb_feedback_streaming(int pid, int utt_id, vc_feedback_event_e event, char* buffer, int len); - -/* Authority */ -extern int __vc_mgr_request_auth_enable(int pid); - -extern int __vc_mgr_request_auth_disable(int pid); - -extern int __vc_mgr_request_auth_start(int pid); - -extern int __vc_mgr_request_auth_stop(int pid); - -extern int __vc_mgr_request_auth_cancel(int pid); - -// TODO: remove listener event callback -static Eina_Bool vc_mgr_listener_event_callback(void* data, Ecore_Fd_Handler *fd_handler) -{ - if (NULL == g_m_conn_listener) return ECORE_CALLBACK_RENEW; - - dbus_connection_read_write_dispatch(g_m_conn_listener, 50); - - while (1) { - DBusMessage* msg = NULL; - msg = dbus_connection_pop_message(g_m_conn_listener); - - /* loop again if we haven't read a message */ - if (NULL == msg) { - break; - } - - /* SLOG(LOG_DEBUG, TAG_VCM, "[DEBUG] Message is arrived"); */ - - DBusError err; - dbus_error_init(&err); - - char if_name[64] = {0, }; - snprintf(if_name, 64, "%s", VC_MANAGER_SERVICE_INTERFACE); - - if (dbus_message_is_signal(msg, if_name, VCC_MANAGER_METHOD_SET_FOREGROUND)) { - SLOG(LOG_INFO, TAG_VCM, "@@@ Set foreground"); - int pid = 0; - int value = 0; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &value, - DBUS_TYPE_INVALID); - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Get arguments error (%s)", err.message); - dbus_error_free(&err); - } - - SLOG(LOG_INFO, TAG_VCM, "@@ foreground changed : pid(%d) value(%s)", pid, value ? "true" : "false"); - - __vc_mgr_cb_set_foreground(pid, (bool)value); - SLOG(LOG_DEBUG, TAG_VCM, "@@@"); - } /* VCC_MANAGER_METHOD_SET_FOREGROUND */ - - else if (dbus_message_is_method_call(msg, if_name, VCD_MANAGER_METHOD_GET_PRIVATE_DATA)) { - SLOG(LOG_INFO, TAG_VCM, "@@@ Get request get private data"); - int pid = 0; - int ret = -1; - char* key = NULL; - char* temp = NULL; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_STRING, &key, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (pid > 0) { - SLOG(LOG_INFO, TAG_VCM, "@@ vc mgr get request get private data : pid(%d) ", pid); - ret = __vc_mgr_cb_private_data_requested(key, &temp); - } else { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr get request get private data : invalid pid "); - } - - DBusMessage *reply = NULL; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_STRING, &temp, DBUS_TYPE_INVALID); - - if (!dbus_connection_send(g_m_conn_listener, reply, NULL)) - SLOG(LOG_ERROR, TAG_VCM, "@@ vc get request get private data : fail to send reply"); - else - SLOG(LOG_INFO, TAG_VCM, "@@ vc get request get private data : result(%d)", ret); - - dbus_connection_flush(g_m_conn_listener); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr get request get private data : fail to create reply message"); - } - - if (NULL != temp) free(temp); - - SLOG(LOG_DEBUG, TAG_VCM, "@@@"); - } /* VCD_MANAGER_METHOD_GET_PRIVATE_DATA */ - - /* Authority */ - else if (dbus_message_is_method_call(msg, if_name, VC_METHOD_AUTH_ENABLE)) { - SLOG(LOG_INFO, TAG_VCM, "@@@ Get request auth enable"); - int pid; - int ret = 0; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth enable : Get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCM, "@@ vc mgr request auth enable : pid(%d)", pid); - ret = __vc_mgr_request_auth_enable(pid); - } - - DBusMessage *reply = NULL; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INVALID); - if (!dbus_connection_send(g_m_conn_listener, reply, NULL)) - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth enable : fail to send reply"); - else - SLOG(LOG_INFO, TAG_VCM, "@@ vc mgr request auth enable : ret(%d)", ret); - dbus_connection_flush(g_m_conn_listener); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth enable : fail to create reply message"); - } - - SLOG(LOG_DEBUG, TAG_VCM, "@@@"); - } /* VC_METHOD_AUTH_ENABLE */ - - else if (dbus_message_is_method_call(msg, if_name, VC_METHOD_AUTH_DISABLE)) { - SLOG(LOG_INFO, TAG_VCM, "@@@ Get request auth disable"); - int pid; - int ret = 0; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth disable : Get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCM, "@@ vc mgr request auth disable : pid(%d)", pid); - ret = __vc_mgr_request_auth_disable(pid); - } - - DBusMessage *reply = NULL; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INVALID); - if (!dbus_connection_send(g_m_conn_listener, reply, NULL)) - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth disable : fail to send reply"); - else - SLOG(LOG_INFO, TAG_VCM, "@@ vc mgr request auth disable : ret(%d)", ret); - dbus_connection_flush(g_m_conn_listener); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth disable : fail to create reply message"); - } - - SLOG(LOG_DEBUG, TAG_VCM, "@@@"); - } /* VC_METHOD_AUTH_DISABLE */ - - else if (dbus_message_is_method_call(msg, if_name, VC_METHOD_AUTH_START)) { - SLOG(LOG_INFO, TAG_VCM, "@@@ Get request auth start"); - int pid; - int ret = 0; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth start : Get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCM, "@@ vc mgr request auth start : pid(%d)", pid); - ret = __vc_mgr_request_auth_start(pid); - } - - DBusMessage *reply = NULL; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INVALID); - if (!dbus_connection_send(g_m_conn_listener, reply, NULL)) - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth start : fail to send reply"); - else - SLOG(LOG_INFO, TAG_VCM, "@@ vc mgr request auth start : ret(%d)", ret); - dbus_connection_flush(g_m_conn_listener); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth start : fail to create reply message"); - } - - SLOG(LOG_DEBUG, TAG_VCM, "@@@"); - } /* VC_METHOD_AUTH_START */ - - else if (dbus_message_is_method_call(msg, if_name, VC_METHOD_AUTH_STOP)) { - SLOG(LOG_INFO, TAG_VCM, "@@@ Get request auth stop"); - int pid; - int ret = 0; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth stop : Get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCM, "@@ vc mgr request auth stop : pid(%d)", pid); - ret = __vc_mgr_request_auth_stop(pid); - } - - DBusMessage *reply = NULL; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INVALID); - if (!dbus_connection_send(g_m_conn_listener, reply, NULL)) - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth stop : fail to send reply"); - else - SLOG(LOG_INFO, TAG_VCM, "@@ vc mgr request auth stop : ret(%d)", ret); - dbus_connection_flush(g_m_conn_listener); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth stop : fail to create reply message"); - } - - SLOG(LOG_DEBUG, TAG_VCM, "@@@"); - } /* VC_METHOD_AUTH_STOP */ - - else if (dbus_message_is_method_call(msg, if_name, VC_METHOD_AUTH_CANCEL)) { - SLOG(LOG_INFO, TAG_VCM, "@@@ Get request auth cancel"); - int pid; - int ret = 0; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth cancel : Get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCM, "@@ vc mgr request auth cancel : pid(%d)", pid); - ret = __vc_mgr_request_auth_cancel(pid); - } - - DBusMessage *reply = NULL; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INVALID); - if (!dbus_connection_send(g_m_conn_listener, reply, NULL)) - SLOG(LOG_ERROR, TAG_VCM, "@@ vc request auth cancel : fail to send reply"); - else - SLOG(LOG_INFO, TAG_VCM, "@@ vc request auth cancel : ret(%d)", ret); - dbus_connection_flush(g_m_conn_listener); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr request auth cancel : fail to create reply message"); - } - - SLOG(LOG_DEBUG, TAG_VCM, "@@@"); - } /* VC_METHOD_AUTH_CANCEL */ - - else if (dbus_message_is_signal(msg, "org.freedesktop.DBus", "NameOwnerChanged")) { - SLOG(LOG_INFO, TAG_VCM, "@@@ Owner Changed"); - /* remove a rule for daemon error */ - DBusError err; - /* initialize the error value */ - dbus_error_init(&err); - char rule_err[256] = {0, }; - snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", VC_SERVER_SERVICE_INTERFACE); - dbus_bus_remove_match(g_m_conn_listener, rule_err, &err); - dbus_connection_flush(g_m_conn_listener); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "Match Error (%s)", err.message); - dbus_error_free(&err); - } - __vc_mgr_cb_error(VC_ERROR_SERVICE_RESET, -1, "Daemon Reset"); - SLOG(LOG_DEBUG, TAG_VCM, "@@@"); - } /* NameOwnerChanged */ - - else { - const char* sender = dbus_message_get_sender(msg); - const char* destination = dbus_message_get_destination(msg); - const char* path = dbus_message_get_path(msg); - const char* interf = dbus_message_get_interface(msg); - const char* member = dbus_message_get_member(msg); - int type = dbus_message_get_type(msg); - SLOG(LOG_ERROR, TAG_VCM, "[INFO] Message is NOT valid, sender(%s), destination(%s), path(%s), interface(%s), member(%s), type(%d)", sender, destination, path, interf, member, type); - dbus_message_unref(msg); - break; - } - - /* free the message */ - dbus_message_unref(msg); - } /* while(1) */ - - return ECORE_CALLBACK_PASS_ON; -} - -static void __vc_mgr_dbus_connection_free() -{ - if (NULL != g_m_conn_listener) { - dbus_connection_close(g_m_conn_listener); - dbus_connection_unref(g_m_conn_listener); - g_m_conn_listener = NULL; - } - if (NULL != g_m_conn_sender) { - dbus_connection_close(g_m_conn_sender); - dbus_connection_unref(g_m_conn_sender); - g_m_conn_sender = NULL; - } -} - -int vc_mgr_dbus_open_connection() -{ - pthread_mutex_lock(&g_m_dbus_mutex); - - if (NULL != g_m_conn_sender && NULL != g_m_conn_listener) { - SLOG(LOG_WARN, TAG_VCM, "already existed connection "); - pthread_mutex_unlock(&g_m_dbus_mutex); - return VC_ERROR_NONE; - } - - DBusError err; - int ret; - - /* initialize the error value */ - dbus_error_init(&err); - - /* connect to the DBUS system bus, and check for errors */ - g_m_conn_sender = dbus_bus_get_private(DBUS_BUS_SESSION, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "Dbus Connection Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL == g_m_conn_sender) { - SLOG(LOG_ERROR, TAG_VCM, "Fail to get dbus connection "); - pthread_mutex_unlock(&g_m_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } - - dbus_connection_set_exit_on_disconnect(g_m_conn_sender, false); - - /* connect to the DBUS system bus, and check for errors */ - g_m_conn_listener = dbus_bus_get_private(DBUS_BUS_SESSION, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "Dbus Connection Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL == g_m_conn_listener) { - SLOG(LOG_ERROR, TAG_VCM, "Fail to get dbus connection "); - __vc_mgr_dbus_connection_free(); - pthread_mutex_unlock(&g_m_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } - - dbus_connection_set_exit_on_disconnect(g_m_conn_listener, false); - - SLOG(LOG_INFO, TAG_VCM, "service name is %s", VC_MANAGER_SERVICE_NAME); - - /* register our name on the bus, and check for errors */ - ret = dbus_bus_request_name(g_m_conn_listener, VC_MANAGER_SERVICE_NAME, DBUS_NAME_FLAG_REPLACE_EXISTING, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "Name Error (%s)", err.message); - dbus_error_free(&err); - } - - if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) { - SLOG(LOG_ERROR, TAG_VCM, "fail dbus_bus_request_name()"); - __vc_mgr_dbus_connection_free(); - pthread_mutex_unlock(&g_m_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } - - if (NULL != g_m_fd_handler) { - SLOG(LOG_WARN, TAG_VCM, "The handler already exists."); - __vc_mgr_dbus_connection_free(); - pthread_mutex_unlock(&g_m_dbus_mutex); - return VC_ERROR_NONE; - } - - char rule[128] = {0, }; - snprintf(rule, 128, "type='signal',interface='%s'", VC_MANAGER_SERVICE_INTERFACE); - - /* add a rule for which messages we want to see */ - dbus_bus_add_match(g_m_conn_listener, rule, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "Match Error (%s)", err.message); - dbus_error_free(&err); - __vc_mgr_dbus_connection_free(); - pthread_mutex_unlock(&g_m_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } - - int fd = 0; - if (1 != dbus_connection_get_unix_fd(g_m_conn_listener, &fd)) { - SLOG(LOG_ERROR, TAG_VCM, "fail to get fd from dbus "); - __vc_mgr_dbus_connection_free(); - pthread_mutex_unlock(&g_m_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCM, "Get fd from dbus : %d", fd); - } - - g_m_fd_handler = ecore_main_fd_handler_add(fd, ECORE_FD_READ, (Ecore_Fd_Cb)vc_mgr_listener_event_callback, g_m_conn_listener, NULL, NULL); - - if (NULL == g_m_fd_handler) { - SLOG(LOG_ERROR, TAG_VCM, "fail to get fd handler from ecore "); - __vc_mgr_dbus_connection_free(); - pthread_mutex_unlock(&g_m_dbus_mutex); - return VC_ERROR_OPERATION_FAILED; - } - - g_is_connection_opened = true; - - pthread_mutex_unlock(&g_m_dbus_mutex); - - SLOG(LOG_INFO, TAG_VCM, "[INFO] manager dbus connection is opened"); - - return VC_ERROR_NONE; -} - -int vc_mgr_dbus_close_connection() -{ - pthread_mutex_lock(&g_m_dbus_mutex); - - DBusError err; - dbus_error_init(&err); - - if (NULL != g_m_fd_handler) { - ecore_main_fd_handler_del(g_m_fd_handler); - g_m_fd_handler = NULL; - } - - if (NULL != g_m_conn_listener) { - int pid = getpid(); - - char service_name[64]; - memset(service_name, '\0', 64); - snprintf(service_name, 64, "%s%d", VC_MANAGER_SERVICE_NAME, pid); - - dbus_bus_release_name(g_m_conn_listener, service_name, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - } - - __vc_mgr_dbus_connection_free(); - - g_is_connection_opened = false; - - pthread_mutex_unlock(&g_m_dbus_mutex); - - SLOG(LOG_INFO, TAG_VCM, "[INFO] manager dbus connection is closed"); - - return VC_ERROR_NONE; -} - -int vc_mgr_dbus_reconnect() -{ - if (!g_m_conn_sender || !g_m_conn_listener) { - vc_mgr_dbus_close_connection(); - - if (0 != vc_mgr_dbus_open_connection()) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to reconnect"); - return -1; - } - - SLOG(LOG_INFO, TAG_VCM, "[DBUS] Reconnect"); - return 0; - } - - bool sender_connected = dbus_connection_get_is_connected(g_m_conn_sender); - bool listener_connected = dbus_connection_get_is_connected(g_m_conn_listener); - - SLOG(LOG_INFO, TAG_VCM, "[DBUS] Sender(%s) Listener(%s)", - sender_connected ? "Connected" : "Not connected", listener_connected ? "Connected" : "Not connected"); - - if (false == sender_connected || false == listener_connected) { - vc_mgr_dbus_close_connection(); - - if (0 != vc_mgr_dbus_open_connection()) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to reconnect"); - return -1; - } - - SLOG(LOG_INFO, TAG_VCM, "[DBUS] Reconnect"); - } - - return 0; -} - -static int __dbus_check() -{ - if (NULL == g_m_conn_sender || NULL == g_m_conn_listener) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] NULL connection"); //LCOV_EXCL_LINE - return vc_mgr_dbus_reconnect(); - } - return 0; -} - -int vc_mgr_dbus_request_hello() -{ - SLOG(LOG_DEBUG, TAG_VCM, "@@ Request vc hello start"); - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_HELLO); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCM, "@@ Request vc hello : Fail to make message"); - return VC_ERROR_OPERATION_FAILED; - } - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg = NULL; - int result = 0; - - result_msg = dbus_connection_send_with_reply_and_block(g_m_conn_sender, msg, g_m_waiting_short_time, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - dbus_message_unref(msg); - - if (NULL != result_msg) { - dbus_message_unref(result_msg); - result = 0; - } else { - result = VC_ERROR_TIMED_OUT; - } - - SLOG(LOG_DEBUG, TAG_VCM, "@@ Request vc hello end"); - return result; -} - -static int __dbus_restore_daemon() -{ - int ret = -1; - int count = 0; - while (0 != ret) { - ret = vc_mgr_dbus_request_hello(); - if (0 != ret) { - if (VC_ERROR_TIMED_OUT != ret) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to restore daemon"); - break; - } else { - SLOG(LOG_WARN, TAG_VCM, "[WARNING] retry restore daemon"); - usleep(10000); - count++; - if (VC_RETRY_COUNT == count) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to request"); - break; - } - } - } else { - SLOG(LOG_ERROR, TAG_VCM, "[SUCCESS] restore daemon"); - } - } - return ret; -} - -int vc_mgr_dbus_request_finalize(int pid) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusError err; - dbus_error_init(&err); - - bool exist = dbus_bus_name_has_owner(g_m_conn_sender, VC_SERVER_SERVICE_NAME, &err); - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - int ret; - if (false == exist) { - ret = __dbus_restore_daemon(); - if (VC_ERROR_NONE != ret) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to restore daemon"); - return VC_ERROR_TIMED_OUT; - } - return VC_ERROR_OPERATION_FAILED; - } - - /* remove a rule for daemon error */ - char rule_err[256] = {0, }; - snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", VC_SERVER_SERVICE_INTERFACE); - dbus_bus_remove_match(g_m_conn_listener, rule_err, &err); - dbus_connection_flush(g_m_conn_listener); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCM, "Match Error (%s)", err.message); - dbus_error_free(&err); - return VC_ERROR_OPERATION_FAILED; - } - - return VC_ERROR_NONE; -} - -static DBusMessage* __get_message(int pid, const char* method, int type) -{ - char service_name[64]; - char object_path[64]; - char target_if_name[128]; - - memset(service_name, '\0', 64); - memset(object_path, '\0', 64); - memset(target_if_name, '\0', 128); - - if (VC_COMMAND_TYPE_FOREGROUND == type || VC_COMMAND_TYPE_BACKGROUND == type) { - snprintf(service_name, 64, "%s%d", VC_CLIENT_SERVICE_NAME, pid); - snprintf(object_path, 64, "%s", VC_CLIENT_SERVICE_OBJECT_PATH); - snprintf(target_if_name, 128, "%s%d", VC_CLIENT_SERVICE_NAME, pid); - } else if (VC_COMMAND_TYPE_WIDGET == type) { - snprintf(service_name, 64, "%s%d", VC_WIDGET_SERVICE_NAME, pid); - snprintf(object_path, 64, "%s", VC_WIDGET_SERVICE_OBJECT_PATH); - snprintf(target_if_name, 128, "%s%d", VC_WIDGET_SERVICE_INTERFACE, pid); - } else { - return NULL; - } - - SLOG(LOG_INFO, TAG_VCM, "[Dbus] Service(%s) object(%s) if(%s)", service_name, object_path, target_if_name); - - return dbus_message_new_method_call(service_name, object_path, target_if_name, method); -} - -// int vc_mgr_dbus_send_result(int pid, int cmd_type, int result_id) -// { -// if (0 != __dbus_check()) { -// return VC_ERROR_OPERATION_FAILED; -// } - -// DBusMessage* msg = NULL; - -// switch (cmd_type) { -// case VC_COMMAND_TYPE_FOREGROUND: -// case VC_COMMAND_TYPE_BACKGROUND: -// msg = __get_message(pid, VCD_METHOD_RESULT, cmd_type); -// break; -// case VC_COMMAND_TYPE_WIDGET: -// msg = __get_message(pid, VCD_WIDGET_METHOD_RESULT, cmd_type); -// break; -// default: -// SLOG(LOG_ERROR, TAG_VCM, "[Dbus ERROR] Command type is NOT valid(%d)", cmd_type); -// return -1; -// } - -// if (NULL == msg) -// SLOG(LOG_ERROR, TAG_VCM, "[Dbus ERROR] Message is NULL"); - -// dbus_message_append_args(msg, DBUS_TYPE_INT32, &result_id, DBUS_TYPE_INVALID); - -// dbus_message_set_no_reply(msg, TRUE); - -// /* send the message and flush the connection */ -// if (1 != dbus_connection_send(g_m_conn_sender, msg, NULL)) { -// SLOG(LOG_ERROR, TAG_VCM, "[Dbus ERROR] Fail to Send"); -// dbus_message_unref(msg); -// return VC_ERROR_OPERATION_FAILED; -// } else { -// SLOG(LOG_INFO, TAG_VCM, "[Dbus] SUCCESS Send"); -// dbus_connection_flush(g_m_conn_sender); -// } - -// dbus_message_unref(msg); -// return 0; -// } - -int vc_mgr_dbus_send_utterance_status(int pid, int utt_id, vc_tts_utterance_status_e utt_status) -{ - if (0 != __dbus_check()) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - msg = __get_message(pid, VC_MANAGER_METHOD_UTTERANCE_STATUS, VC_COMMAND_TYPE_FOREGROUND); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCM, "@@ vc send utterance status : Fail to make message"); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCM, "@@ vc send utterance status : pid(%d), utt_id(%d), utt_status(%d)", pid, utt_id, utt_status); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &utt_id, - DBUS_TYPE_INT32, &utt_status, - DBUS_TYPE_INVALID); - - dbus_message_set_no_reply(msg, TRUE); - - /* send the message and flush the connection */ - if (1 != dbus_connection_send(g_m_conn_sender, msg, NULL)) { - SLOG(LOG_ERROR, TAG_VCM, "[Dbus ERROR] Fail to Send"); - dbus_message_unref(msg); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCM, "[Dbus] SUCCESS Send"); - dbus_connection_flush(g_m_conn_sender); - } - - dbus_message_unref(msg); - return 0; -} \ No newline at end of file diff --git a/client/vc_mgr_dbus.h b/client/vc_mgr_dbus.h deleted file mode 100644 index 4c82e19..0000000 --- a/client/vc_mgr_dbus.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -* Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -#ifndef __VC_DBUS_H_ -#define __VC_DBUS_H_ - -#include "voice_control_manager_internal.h" - - -#ifdef __cplusplus -extern "C" { -#endif - -int vc_mgr_dbus_open_connection(); - -int vc_mgr_dbus_close_connection(); - - -int vc_mgr_dbus_request_hello(); - -int vc_mgr_dbus_request_finalize(int pid); - -int vc_mgr_dbus_send_utterance_status(int pid, int utt_id, vc_tts_utterance_status_e utt_status); - -#ifdef __cplusplus -} -#endif - -#endif /* __VC_DBUS_H_ */ diff --git a/client/vc_setting.c b/client/vc_setting.c index c415a77..1e99383 100644 --- a/client/vc_setting.c +++ b/client/vc_setting.c @@ -17,7 +17,6 @@ #include "vc_config_mgr.h" #include "vc_main.h" -// #include "vc_setting_dbus.h" #include "vc_setting_tidl.h" #include "voice_control_common.h" #include "voice_control_setting.h" diff --git a/client/vc_setting_dbus.c b/client/vc_setting_dbus.c deleted file mode 100644 index c249d40..0000000 --- a/client/vc_setting_dbus.c +++ /dev/null @@ -1,384 +0,0 @@ -/* -* Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -#include "vc_setting_dbus.h" -#include "vc_main.h" - - -static int g_s_waiting_time = 3000; - -static Ecore_Fd_Handler* g_s_fd_handler = NULL; - -static DBusConnection* g_s_conn_sender = NULL; -static DBusConnection* g_s_conn_listener = NULL; - - -static Eina_Bool listener_setting_event_callback(void* data, Ecore_Fd_Handler *fd_handler) -{ - if (NULL == g_s_conn_listener) return ECORE_CALLBACK_RENEW; - - dbus_connection_read_write_dispatch(g_s_conn_listener, 50); - - while (1) { - DBusMessage* msg = NULL; - msg = dbus_connection_pop_message(g_s_conn_listener); - - /* loop again if we haven't read a message */ - if (NULL == msg) { - break; - } - - DBusError err; - dbus_error_init(&err); - - char if_name[64] = {0, }; - snprintf(if_name, 64, "%s", VC_SETTING_SERVICE_INTERFACE); - - if (dbus_message_is_method_call(msg, if_name, VCD_METHOD_HELLO)) { - SLOG(LOG_DEBUG, TAG_VCS, "@@@ Get Hello"); - int pid = 0; - int response = -1; - - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (pid > 0) { - SLOG(LOG_DEBUG, TAG_VCS, "@@ vc get hello : pid(%d) ", pid); - response = 1; - } else { - SLOG(LOG_ERROR, TAG_VCS, "@@ vc get hello : invalid pid "); - } - - DBusMessage* reply = NULL; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &response, DBUS_TYPE_INVALID); - - if (!dbus_connection_send(g_s_conn_listener, reply, NULL)) - SLOG(LOG_ERROR, TAG_VCS, "@@ vc get hello : fail to send reply"); - else - SLOG(LOG_DEBUG, TAG_VCS, "@@ vc get hello : result(%d)", response); - - dbus_connection_flush(g_s_conn_listener); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCS, "@@ vc get hello : fail to create reply message"); - } - - SLOG(LOG_DEBUG, TAG_VCS, "@@@"); - } /* VCD_METHOD_HELLO */ - - else { - SLOG(LOG_DEBUG, TAG_VCS, "Message is NOT valid"); - dbus_message_unref(msg); - break; - } - - /* free the message */ - dbus_message_unref(msg); - } /* while(1) */ - - return ECORE_CALLBACK_PASS_ON; -} - -static void __vc_setting_dbus_connection_free() -{ - if (NULL != g_s_conn_listener) { - dbus_connection_close(g_s_conn_listener); - dbus_connection_unref(g_s_conn_listener); - g_s_conn_listener = NULL; - } - if (NULL != g_s_conn_sender) { - dbus_connection_close(g_s_conn_sender); - dbus_connection_unref(g_s_conn_sender); - g_s_conn_sender = NULL; - } -} - -int vc_setting_dbus_open_connection() -{ - if (NULL != g_s_conn_sender && NULL != g_s_conn_listener) { - SLOG(LOG_WARN, TAG_VCS, "already existed connection "); - return 0; - } - - DBusError err; - int ret; - - /* initialize the error value */ - dbus_error_init(&err); - - /* connect to the DBUS system bus, and check for errors */ - g_s_conn_sender = dbus_bus_get_private(DBUS_BUS_SESSION, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCS, "Dbus Connection Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL == g_s_conn_sender) { - SLOG(LOG_ERROR, TAG_VCS, "Fail to get dbus connection "); - return VC_ERROR_OPERATION_FAILED; - } - - g_s_conn_listener = dbus_bus_get_private(DBUS_BUS_SESSION, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCS, "Dbus Connection Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL == g_s_conn_listener) { - SLOG(LOG_ERROR, TAG_VCS, "Fail to get dbus connection "); - __vc_setting_dbus_connection_free(); - return VC_ERROR_OPERATION_FAILED; - } - - int pid = getpid(); - - char service_name[64]; - memset(service_name, '\0', 64); - snprintf(service_name, 64, "%s%d", VC_SETTING_SERVICE_NAME, pid); - - SLOG(LOG_DEBUG, TAG_VCS, "service name is %s", service_name); - - /* register our name on the bus, and check for errors */ - ret = dbus_bus_request_name(g_s_conn_listener, service_name, DBUS_NAME_FLAG_REPLACE_EXISTING, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCS, "Name Error (%s)", err.message); - dbus_error_free(&err); - } - - if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) { - SLOG(LOG_ERROR, TAG_VCS, "fail dbus_bus_request_name()"); - __vc_setting_dbus_connection_free(); - return -2; - } - - if (NULL != g_s_fd_handler) { - SLOG(LOG_WARN, TAG_VCS, "The handler already exists."); - __vc_setting_dbus_connection_free(); - return 0; - } - - char rule[128] = {0, }; - snprintf(rule, 128, "type='signal',interface='%s'", VC_SETTING_SERVICE_INTERFACE); - - /* add a rule for which messages we want to see */ - dbus_bus_add_match(g_s_conn_listener, rule, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCS, "Match Error (%s)", err.message); - dbus_error_free(&err); - __vc_setting_dbus_connection_free(); - return VC_ERROR_OPERATION_FAILED; - } - - int fd = 0; - if (1 != dbus_connection_get_unix_fd(g_s_conn_listener, &fd)) { - SLOG(LOG_ERROR, TAG_VCS, "fail to get fd from dbus "); - __vc_setting_dbus_connection_free(); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCS, "Get fd from dbus : %d", fd); - } - - g_s_fd_handler = ecore_main_fd_handler_add(fd, ECORE_FD_READ, (Ecore_Fd_Cb)listener_setting_event_callback, g_s_conn_listener, NULL, NULL); - if (NULL == g_s_fd_handler) { - SLOG(LOG_ERROR, TAG_VCS, "fail to get fd handler from ecore "); - __vc_setting_dbus_connection_free(); - return VC_ERROR_OPERATION_FAILED; - } - - return 0; -} - -int vc_setting_dbus_close_connection() -{ - DBusError err; - dbus_error_init(&err); - - if (NULL != g_s_fd_handler) { - ecore_main_fd_handler_del(g_s_fd_handler); - g_s_fd_handler = NULL; - } - - int pid = getpid(); - - char service_name[64]; - memset(service_name, '\0', 64); - snprintf(service_name, 64, "%s%d", VC_SETTING_SERVICE_NAME, pid); - - char rule[128] = {0, }; - snprintf(rule, 128, "type='signal',interface='%s'", VC_SETTING_SERVICE_INTERFACE); - dbus_bus_remove_match(g_s_conn_listener, rule, NULL); - - dbus_bus_release_name(g_s_conn_listener, service_name, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - __vc_setting_dbus_connection_free(); - - return 0; -} - -int vc_setting_dbus_reconnect() -{ - if (!g_s_conn_sender || !g_s_conn_listener) { - vc_setting_dbus_close_connection(); - - if (0 != vc_setting_dbus_open_connection()) { - SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Fail to reconnect"); - return -1; - } - - SLOG(LOG_DEBUG, TAG_VCS, "[DBUS] Reconnect"); - return 0; - } - - bool sender_connected = dbus_connection_get_is_connected(g_s_conn_sender); - bool listener_connected = dbus_connection_get_is_connected(g_s_conn_listener); - SLOG(LOG_WARN, TAG_VCS, "[DBUS] Sender(%s) Listener(%s)", - sender_connected ? "Connected" : "Not connected", listener_connected ? "Connected" : "Not connected"); - - if (false == sender_connected || false == listener_connected) { - vc_setting_dbus_close_connection(); - - if (0 != vc_setting_dbus_open_connection()) { - SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Fail to reconnect"); - return -1; - } - - SLOG(LOG_DEBUG, TAG_VCS, "[DBUS] Reconnect"); - } - - return 0; -} - -int vc_setting_dbus_request_hello() -{ - if (NULL == g_s_conn_sender) { - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_METHOD_HELLO); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCS, "@@ Request vc hello : Fail to make message"); - return VC_ERROR_OPERATION_FAILED; - } - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg = NULL; - int result = 0; - - result_msg = dbus_connection_send_with_reply_and_block(g_s_conn_sender, msg, 500, &err); - - if (dbus_error_is_set(&err)) { - dbus_error_free(&err); - } - - dbus_message_unref(msg); - - if (NULL != result_msg) { - dbus_message_unref(result_msg); - result = 0; - } else { - result = VC_ERROR_TIMED_OUT; - } - - return result; -} - -int vc_setting_dbus_request_set_language(int pid, const char* language) -{ - if (NULL == g_s_conn_sender) { - SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Dbus does not open"); - return VC_ERROR_OPERATION_FAILED; - } - - DBusMessage* msg; - - msg = dbus_message_new_method_call( - VC_SERVER_SERVICE_NAME, - VC_SERVER_SERVICE_OBJECT_PATH, - VC_SERVER_SERVICE_INTERFACE, - VC_SETTING_METHOD_SET_LANGUAGE); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCS, "@@ vc set language : Fail to make message"); - return VC_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCS, "@@ vc set language : pid(%d)", pid); - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_STRING, &language, - DBUS_TYPE_INVALID); - - DBusError err; - dbus_error_init(&err); - - DBusMessage* result_msg; - int result = VC_ERROR_OPERATION_FAILED; - - result_msg = dbus_connection_send_with_reply_and_block(g_s_conn_sender, msg, g_s_waiting_time, &err); - dbus_message_unref(msg); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Dbus Error (%s)", err.message); - dbus_error_free(&err); - } - - if (NULL != result_msg) { - dbus_message_get_args(result_msg, &err, - DBUS_TYPE_INT32, &result, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCS, "@@ Get arguments error (%s)", err.message); - dbus_error_free(&err); - result = VC_ERROR_OPERATION_FAILED; - } - dbus_message_unref(result_msg); - - SLOG(LOG_DEBUG, TAG_VCS, "@@ vcd set language : result = %d", result); - } else { - SLOG(LOG_ERROR, TAG_VCS, "@@ Result message is NULL"); - vc_setting_dbus_reconnect(); - result = VC_ERROR_TIMED_OUT; - } - - return result; -} diff --git a/client/vc_setting_dbus.h b/client/vc_setting_dbus.h deleted file mode 100644 index 3404d4f..0000000 --- a/client/vc_setting_dbus.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -* Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -#ifndef __VC_SETTING_DBUS_H_ -#define __VC_SETTING_DBUS_H_ - - -#ifdef __cplusplus -extern "C" { -#endif - -int vc_setting_dbus_open_connection(); - -int vc_setting_dbus_close_connection(); - -int vc_setting_dbus_request_hello(); - -int vc_setting_dbus_request_set_language(int pid, const char* language); - -#ifdef __cplusplus -} -#endif - -#endif /* __VC_SETTING_DBUS_H_ */ diff --git a/common/vc_main.h b/common/vc_main.h index 00e079a..6b6d400 100644 --- a/common/vc_main.h +++ b/common/vc_main.h @@ -18,7 +18,6 @@ #ifndef __VC_MAIN_H_ #define __VC_MAIN_H_ -#include #include #include #include diff --git a/include/voice-control-engine.pc.in b/include/voice-control-engine.pc.in index d089851..6dd2e26 100644 --- a/include/voice-control-engine.pc.in +++ b/include/voice-control-engine.pc.in @@ -5,7 +5,7 @@ includedir=@INCLUDEDIR@ Name: lib@PROJECT_NAME@_engine Description: Voice control engine header -Requires: glib-2.0 dbus-1 capi-base-common +Requires: glib-2.0 capi-base-common Version: @VERSION@ Libs: -L${libdir} -l@PROJECT_NAME@_engine Cflags: -I${includedir} diff --git a/include/voice-control-manager.pc.in b/include/voice-control-manager.pc.in index 5165ffe..547af8e 100644 --- a/include/voice-control-manager.pc.in +++ b/include/voice-control-manager.pc.in @@ -5,7 +5,7 @@ includedir=@INCLUDEDIR@ Name: lib@PROJECT_NAME@_manager Description: Voice control manager client library -Requires: glib-2.0 dbus-1 capi-base-common +Requires: glib-2.0 capi-base-common Version: @VERSION@ Libs: -L${libdir} -l@PROJECT_NAME@_manager Cflags: -I${includedir} diff --git a/include/voice-control-widget.pc.in b/include/voice-control-widget.pc.in index 308394a..4af9614 100644 --- a/include/voice-control-widget.pc.in +++ b/include/voice-control-widget.pc.in @@ -5,7 +5,7 @@ includedir=@INCLUDEDIR@ Name: lib@PROJECT_NAME@_widget Description: Voice control library for widget -Requires: glib-2.0 dbus-1 capi-base-common +Requires: glib-2.0 capi-base-common Version: @VERSION@ Libs: -L${libdir} -l@PROJECT_NAME@_widget Cflags: -I${includedir} diff --git a/include/voice-control.pc.in b/include/voice-control.pc.in index 8396172..1f96496 100644 --- a/include/voice-control.pc.in +++ b/include/voice-control.pc.in @@ -5,7 +5,7 @@ includedir=@INCLUDEDIR@ Name: lib@PROJECT_NAME@ Description: Voice control client library -Requires: glib-2.0 dbus-1 capi-base-common +Requires: glib-2.0 capi-base-common Version: @VERSION@ Libs: -L${libdir} -l@PROJECT_NAME@ Cflags: -I${includedir} diff --git a/org.tizen.voice.vcserver.service b/org.tizen.voice.vcserver.service deleted file mode 100644 index aa51fd1..0000000 --- a/org.tizen.voice.vcserver.service +++ /dev/null @@ -1,5 +0,0 @@ -[D-BUS Service] -Name=org.tizen.voice.vcserver -#Exec=/usr/bin/vc-daemon -#Exec=/bin/sh -c "launch_app org.tizen.vc-engine-default" -Exec=/bin/sh -c "vc_getengine get system db/voice/vc/engine/default | awk '{print$5}' | xargs -t -i launch_app {}" diff --git a/org.tizen.voice.vcserver.tv.service b/org.tizen.voice.vcserver.tv.service deleted file mode 100644 index 22b0781..0000000 --- a/org.tizen.voice.vcserver.tv.service +++ /dev/null @@ -1,4 +0,0 @@ -[D-BUS Service] -Name=org.tizen.voice.vcserver -#Exec=/usr/bin/vc-daemon -Exec=/bin/sh -c "launch_app org.tizen.voice-client" diff --git a/packaging/voice-control.spec b/packaging/voice-control.spec index 7ee6ece..952b983 100644 --- a/packaging/voice-control.spec +++ b/packaging/voice-control.spec @@ -20,7 +20,6 @@ BuildRequires: pkgconfig(capi-media-sound-manager) BuildRequires: pkgconfig(capi-system-info) BuildRequires: pkgconfig(cynara-client) BuildRequires: pkgconfig(cynara-session) -BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(db-util) BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(ecore) @@ -231,10 +230,8 @@ mkdir -p %{_libdir}/voice/vc %{_bindir}/vc_getengine %{TZ_SYS_RO_SHARE}/voice/vc/1.0/vc-config.xml %{TZ_SYS_RO_SHARE}/voice/vc/1.0/dependency-audio-manager/libvc-audio-manager.so -%{TZ_SYS_RO_SHARE}/dbus-1/services/org.tizen.voice* %{TZ_SYS_RO_SHARE}/parser-plugins/voice-control.info %{TZ_SYS_RO_ETC}/package-manager/parserlib/metadata/libvc-engine-parser.so* -/etc/dbus-1/session.d/vc-server.conf %files devel %manifest %{name}-devel.manifest diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt index 65e8713..399781c 100644 --- a/server/CMakeLists.txt +++ b/server/CMakeLists.txt @@ -9,8 +9,6 @@ SET(SRCS vcd_client_data.c vcd_server_data.cpp vcd_config.c -# vcd_dbus_server.c -# vcd_dbus.c vcd_tidl.c vcd_stub.c vcd_mgr_stub.c diff --git a/server/vcd_dbus.c b/server/vcd_dbus.c deleted file mode 100644 index b03d102..0000000 --- a/server/vcd_dbus.c +++ /dev/null @@ -1,546 +0,0 @@ -/* -* Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -#include -#include "vcd_client_data.h" -// #include "vcd_dbus.h" -// #include "vcd_dbus_server.h" -#include "vcd_tidl.h" -#include "vcd_main.h" - - -static DBusConnection* g_conn_sender = NULL; -static DBusConnection* g_conn_listener = NULL; - -static Ecore_Fd_Handler* g_dbus_fd_handler = NULL; - -// static int g_waiting_time = 3000; - -// static int g_volume_count = 0; - - -// static DBusMessage* __get_message(int pid, const char* method, vcd_client_type_e type) -// { -// char service_name[64] = {0,}; -// char object_path[64] = {0,}; -// char target_if_name[128] = {0,}; - -// if (VCD_CLIENT_TYPE_NORMAL == type) { -// snprintf(service_name, 64, "%s%d", VC_CLIENT_SERVICE_NAME, pid); -// snprintf(object_path, 64, "%s", VC_CLIENT_SERVICE_OBJECT_PATH); -// snprintf(target_if_name, 128, "%s", VC_CLIENT_SERVICE_INTERFACE); -// } else if (VCD_CLIENT_TYPE_WIDGET == type) { -// snprintf(service_name, 64, "%s%d", VC_WIDGET_SERVICE_NAME, pid); -// snprintf(object_path, 64, "%s", VC_WIDGET_SERVICE_OBJECT_PATH); -// snprintf(target_if_name, 128, "%s", VC_WIDGET_SERVICE_INTERFACE); -// } else if (VCD_CLIENT_TYPE_MANAGER == type) { -// snprintf(service_name, 64, "%s", VC_MANAGER_SERVICE_NAME); -// snprintf(object_path, 64, "%s", VC_MANAGER_SERVICE_OBJECT_PATH); -// snprintf(target_if_name, 128, "%s", VC_MANAGER_SERVICE_INTERFACE); -// } else { -// return NULL; -// } - -// return dbus_message_new_method_call(service_name, object_path, target_if_name, method); -// } - -int vcd_dbus_reconnect() -{ - if (!g_conn_sender || !g_conn_listener) { - vcd_dbus_close_connection(); - - if (0 != vcd_dbus_open_connection()) { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to reconnect"); - return -1; - } - - SLOG(LOG_INFO, TAG_VCD, "[DBUS] Reconnect"); - return 0; - } - - bool sender_connected = dbus_connection_get_is_connected(g_conn_sender); - bool listener_connected = dbus_connection_get_is_connected(g_conn_listener); - SLOG(LOG_WARN, TAG_VCD, "[DBUS] Sender(%s) Listener(%s)", - sender_connected ? "Connected" : "Not connected", listener_connected ? "Connected" : "Not connected"); - - if (false == sender_connected || false == listener_connected) { - vcd_dbus_close_connection(); - - if (0 != vcd_dbus_open_connection()) { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to reconnect"); - return -1; - } - - SLOG(LOG_INFO, TAG_VCD, "[DBUS] Reconnect"); - } - - return 0; -} - -// static int __dbus_check() -// { -// if (NULL == g_conn_sender || NULL == g_conn_listener) { -// SLOG(LOG_ERROR, TAG_VCD, "[ERROR] NULL connection"); -// return vcd_dbus_reconnect(); -// } -// return 0; -// } - -int vcd_check_dbus_connection() -{ - if (NULL == g_conn_sender || NULL == g_conn_listener) { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] NULL connection sender(%p), listener(%p)", g_conn_sender, g_conn_listener); - return -1; - } - return 0; -} - -/* -int vcdc_send_manager_pid(int manager_pid) -{ - DBusError err; - dbus_error_init(&err); - - DBusMessage* msg = NULL; - - // Send to client - msg = dbus_message_new_signal( - VC_CLIENT_SERVICE_OBJECT_PATH, - VC_CLIENT_SERVICE_INTERFACE, - VCD_METHOD_SEND_MANAGER_PID); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Message is NULL"); - return VCD_ERROR_OUT_OF_MEMORY; - } - - dbus_message_append_args(msg, DBUS_TYPE_INT32, &manager_pid, DBUS_TYPE_INVALID); - - if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to Send"); - return VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "@@ Send manager pid to client : pid(%d)", manager_pid); - dbus_connection_flush(g_conn_sender); - } - - dbus_message_unref(msg); - - return 0; -} - -int vcdc_send_error_signal(int reason, char *err_msg) -{ - SLOG(LOG_ERROR, TAG_VCD, "@@ Send error signal"); - - if (NULL == err_msg) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Input parameter is NULL"); - return VCD_ERROR_INVALID_PARAMETER; - } - - 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; - // } - - // daemon_pid = getpid(); - // dbus_message_append_args(msg, DBUS_TYPE_INT32, &reason, DBUS_TYPE_INT32, &daemon_pid, DBUS_TYPE_STRING, &err_msg, DBUS_TYPE_INVALID); - - // if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) { - // SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to Send"); - // return VCD_ERROR_OPERATION_FAILED; - // } else { - // SLOG(LOG_INFO, TAG_VCD, "@@ Send error signal to manager: reason(%d), daemon_pid(%d), Error Msg(%s)", reason, daemon_pid, err_msg); - // dbus_connection_flush(g_conn_sender); - // } - - // dbus_message_unref(msg); - - // msg = NULL; - - vcdc_tidl_send_error(reason, err_msg); - - msg = dbus_message_new_signal( - VC_CLIENT_SERVICE_OBJECT_PATH, - VC_CLIENT_SERVICE_INTERFACE, - VCD_METHOD_ERROR); - - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Message is NULL"); - return VCD_ERROR_OUT_OF_MEMORY; - } - - dbus_message_append_args(msg, DBUS_TYPE_INT32, &reason, DBUS_TYPE_INT32, &daemon_pid, DBUS_TYPE_STRING, &err_msg, DBUS_TYPE_INVALID); - - if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to Send"); - return VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "@@ Send error signal : reason(%d), daemon_pid(%d), Error Msg(%s)", reason, daemon_pid, err_msg); - dbus_connection_flush(g_conn_sender); - } - - dbus_message_unref(msg); - - // msg = NULL; - // msg = dbus_message_new_signal( - // VC_WIDGET_SERVICE_OBJECT_PATH, - // VC_WIDGET_SERVICE_INTERFACE, - // VCD_WIDGET_METHOD_ERROR); - - // if (NULL == msg) { - // SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Message is NULL"); - // return VCD_ERROR_OUT_OF_MEMORY; - // } - - // dbus_message_append_args(msg, DBUS_TYPE_INT32, &reason, DBUS_TYPE_INT32, &daemon_pid, DBUS_TYPE_STRING, &err_msg, DBUS_TYPE_INVALID); - - // if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) { - // SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to Send"); - // return VCD_ERROR_OPERATION_FAILED; - // } else { - // SLOG(LOG_INFO, TAG_VCD, "@@ Send error signal to widget : reason(%d), daemon_pid(%d), Error Msg(%s)", reason, daemon_pid, err_msg); - // dbus_connection_flush(g_conn_sender); - // } - - // dbus_message_unref(msg); - - return 0; -} - -int vcdc_send_error_signal_to_app(int pid, int reason, char *err_msg) -{ - if (NULL == err_msg) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Input parameter is NULL"); - return VCD_ERROR_INVALID_PARAMETER; - } - - if (VCD_ERROR_NONE != __dbus_check()) { - return VCD_ERROR_OPERATION_FAILED; - } - - DBusError err; - dbus_error_init(&err); - - SLOG(LOG_ERROR, TAG_VCD, "@@ Send error to app(%d)", pid); - - DBusMessage* msg = __get_message(pid, VCD_METHOD_ERROR_TO_APP, VCD_CLIENT_TYPE_NORMAL); - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Message is NULL"); - return VCD_ERROR_OUT_OF_MEMORY; - } - - dbus_message_append_args(msg, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INT32, &reason, DBUS_TYPE_STRING, &err_msg, DBUS_TYPE_INVALID); - - dbus_message_set_no_reply(msg, TRUE); - - if (TRUE != dbus_connection_send(g_conn_sender, msg, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to Send"); - dbus_message_unref(msg); - return VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCD, "@@ Send error to app: pid(%d), reason(%d), Error Msg(%s)", pid, reason, err_msg); - dbus_connection_flush(g_conn_sender); - } - - dbus_message_unref(msg); - - return VCD_ERROR_NONE; -} -*/ -/* -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); - - if (0 != __dbus_check()) { - return VCD_ERROR_OPERATION_FAILED; - } - - DBusError err; - dbus_error_init(&err); - - // make dbus message - DBusMessage* msg = NULL; - msg = __get_message(pid, VCD_METHOD_FEEDBACK_STREAMING, VCD_CLIENT_TYPE_NORMAL); - if (NULL == msg) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Message is NULL"); - return VCD_ERROR_OUT_OF_MEMORY; - } - - dbus_message_append_args(msg, - DBUS_TYPE_INT32, &utt_id, - DBUS_TYPE_INT32, &event, - DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE, - &buffer, len, - DBUS_TYPE_INVALID); - - dbus_message_set_no_reply(msg, TRUE); - - int ret = VCD_ERROR_NONE; - - if (1 != dbus_connection_send(g_conn_sender, msg, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to Send"); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[Dbus] SUCCESS Send"); - dbus_connection_flush(g_conn_sender); - } - - dbus_message_unref(msg); - - return ret; -} -*/ -static Eina_Bool listener_event_callback(void* data, Ecore_Fd_Handler *fd_handler) -{ - if (NULL == g_conn_listener) return ECORE_CALLBACK_RENEW; - - dbus_connection_read_write_dispatch(g_conn_listener, 50); - - while (1) { - DBusMessage* msg = NULL; - msg = dbus_connection_pop_message(g_conn_listener); - - /* loop again if we haven't read a message */ - if (NULL == msg) { - SLOG(LOG_INFO, TAG_VCD, "@@@ no Dbus message anymore"); - break; - } - - /* Common event */ - if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_HELLO)) - vcd_dbus_server_hello(g_conn_listener, msg); - - /* client event */ - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_INITIALIZE)) - vcd_dbus_server_initialize(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_FINALIZE)) - vcd_dbus_server_finalize(g_conn_listener, msg); -#if 0 - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_SET_EXCLUSIVE_CMD)) - vcd_dbus_server_set_exclusive_command(g_conn_listener, msg); -#endif - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_SET_COMMAND)) - vcd_dbus_server_set_command(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_UNSET_COMMAND)) - vcd_dbus_server_unset_command(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_SET_FOREGROUND)) - vcd_dbus_server_set_foreground(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_SET_SERVER_DIALOG)) - vcd_dbus_server_set_server_dialog(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_DIALOG)) - vcd_dbus_server_dialog(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_IS_SYS_COMMAND_VALID)) - vcd_dbus_server_is_system_command_valid(g_conn_listener, msg); - -#if 0 - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_REQUEST_START)) - vcd_dbus_server_start_request(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_REQUEST_STOP)) - vcd_dbus_server_stop_request(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_REQUEST_CANCEL)) - vcd_dbus_server_cancel_request(g_conn_listener, msg); -#endif - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_SETTING_METHOD_SET_LANGUAGE)) - vcd_dbus_server_set_language(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_REQUEST_TTS)) - vcd_dbus_server_request_tts(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_CANCEL_TTS)) - vcd_dbus_server_cancel_tts(g_conn_listener, msg); - - else if (dbus_message_is_method_call(msg, VC_SERVER_SERVICE_INTERFACE, VC_METHOD_GET_TTS_AUDIO_FORMAT)) - vcd_dbus_server_get_tts_audio_format(g_conn_listener, msg); - - else { - const char* sender = dbus_message_get_sender(msg); - const char* destination = dbus_message_get_destination(msg); - const char* path = dbus_message_get_path(msg); - const char* interf = dbus_message_get_interface(msg); - const char* member = dbus_message_get_member(msg); - int type = dbus_message_get_type(msg); - SLOG(LOG_ERROR, TAG_VCD, "[INFO] Message is NOT valid, sender(%s), destination(%s), path(%s), interface(%s), member(%s), type(%d)", sender, destination, path, interf, member, type); - dbus_message_unref(msg); - break; - } - - /* free the message */ - dbus_message_unref(msg); - } - - 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; - dbus_error_init(&err); - - int ret; - - /* Create connection for sender */ - g_conn_sender = dbus_bus_get_private(DBUS_BUS_SESSION, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail dbus_bus_get : %s", err.message); - dbus_error_free(&err); - } - - if (NULL == g_conn_sender) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to get dbus connection"); - return VCD_ERROR_OPERATION_FAILED; - } - - dbus_connection_set_exit_on_disconnect(g_conn_sender, false); - - /* connect to the bus and check for errors */ - g_conn_listener = dbus_bus_get_private(DBUS_BUS_SESSION, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail dbus_bus_get : %s", err.message); - dbus_error_free(&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; - } - - dbus_connection_set_exit_on_disconnect(g_conn_listener, false); - - /* request our name on the bus and check for errors */ - ret = dbus_bus_request_name(g_conn_listener, VC_SERVER_SERVICE_NAME, DBUS_NAME_FLAG_REPLACE_EXISTING, &err); - - 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; - } - - /* Flush messages which are received before fd event handler registration */ - while (DBUS_DISPATCH_COMPLETE != dbus_connection_get_dispatch_status(g_conn_listener)) { - SLOG(LOG_INFO, TAG_VCD, "Dbus data is remained, g_conn_listener(%p)", g_conn_listener); - listener_event_callback(NULL, NULL); - } - - /* add fd handler to receive dbus metohd */ - int fd = 0; - 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_INFO, 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; - } - - /* add a rule for getting signal */ - char rule[128]; - snprintf(rule, 128, "type='signal',interface='%s'", VC_SERVER_SERVICE_INTERFACE); - - /* add a rule for which messages we want to see */ - dbus_bus_add_match(g_conn_listener, rule, &err);/* see signals from the given interface */ - - 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; - } - - SLOG(LOG_INFO, TAG_VCD, "[INFO] Success to open dbus connection"); - - return 0; -} - -int vcd_dbus_close_connection() -{ - DBusError err; - dbus_error_init(&err); - - if (NULL != g_dbus_fd_handler) { - ecore_main_fd_handler_del(g_dbus_fd_handler); - g_dbus_fd_handler = NULL; - } - - if (NULL != g_conn_listener) { - dbus_bus_release_name(g_conn_listener, VC_SERVER_SERVICE_NAME, &err); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] dbus_bus_release_name() : %s", err.message); - dbus_error_free(&err); - } - } - __vcd_dbus_connection_free(); - - return 0; -} diff --git a/server/vcd_dbus.h b/server/vcd_dbus.h deleted file mode 100644 index 88fd974..0000000 --- a/server/vcd_dbus.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -* Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -#ifndef __VCD_DBUS_h__ -#define __VCD_DBUS_h__ - -#include "vcd_main.h" - -#ifdef __cplusplus -extern "C" { -#endif - -int vcd_dbus_open_connection(); - -int vcd_dbus_close_connection(); - -int vcd_check_dbus_connection(); - - -#ifdef __cplusplus -} -#endif - -#endif /* __VCD_DBUS_h__ */ diff --git a/server/vcd_dbus_server.c b/server/vcd_dbus_server.c deleted file mode 100644 index 4556102..0000000 --- a/server/vcd_dbus_server.c +++ /dev/null @@ -1,1469 +0,0 @@ -/* -* Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -#include "vcd_client_data.h" -// #include "vcd_dbus.h" -#include "vcd_tidl.h" -// #include "vcd_dbus_server.h" -#include "vcd_main.h" -#include "vcd_server.h" -#include "vcd_config.h" - -vc_cmd_type_e vc_command_types[7] = {VC_COMMAND_TYPE_NONE, - VC_COMMAND_TYPE_FOREGROUND, - VC_COMMAND_TYPE_BACKGROUND, - VC_COMMAND_TYPE_WIDGET, - VC_COMMAND_TYPE_SYSTEM, - VC_COMMAND_TYPE_SYSTEM_BACKGROUND, - VC_COMMAND_TYPE_EXCLUSIVE}; - - -int __dbus_error_return(DBusConnection* conn, DBusMessage* msg, int ret) -{ - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_DEBUG, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_hello(DBusConnection* conn, DBusMessage* msg) -{ - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Hello"); - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -/* for TTS feedback */ -int vcd_dbus_server_mgr_start_feedback(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid = 0; - - int ret = VCD_ERROR_OPERATION_FAILED; - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Manager start TTS feedback"); - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] vcd mgr start TTS feedback : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[DEBUG] vcd mgr start TTS feedback : pid(%d)", pid); - ret = vcd_server_mgr_start_feedback(); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Out of Memory"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to create reply message"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_mgr_stop_feedback(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid = 0; - - int ret = VCD_ERROR_OPERATION_FAILED; - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Manager stop TTS feedback"); - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] vcd mgr stop TTS feedback : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[DEBUG] vcd mgr stop TTS feedback : pid(%d)", pid); - ret = vcd_server_mgr_stop_feedback(); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Out of Memory"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to create reply message"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_mgr_send_audio_streaming(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid = 0; - int event = 0; - char* buffer = NULL; - unsigned int len = 0; - - int ret = VCD_ERROR_OPERATION_FAILED; - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Manager send audio streaming"); - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &event, - DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE, - &buffer, &len, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd mgr send audio streaming : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd mgr send audio streaming : pid(%d), event(%d), buffer(%p), len(%d)", pid, event, buffer, len); - ret = vcd_server_mgr_send_audio_streaming(pid, event, buffer, len); - } - - return ret; -} - -int vcd_dbus_server_mgr_change_system_volume(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid = 0; - int volume_event = 0; - - int ret = VCD_ERROR_OPERATION_FAILED; - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Manager change system volume"); - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &volume_event, - DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd mgr disable command type : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd mgr change system volume: pid(%d), volume_event(%d)", pid, volume_event); - ret = vcd_server_mgr_change_system_volume(pid, volume_event); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; - -} - -int vcd_dbus_server_mgr_set_audio_streaming_mode(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int mode; - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &mode, - DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Manager set audio streaming mode"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd mgr set audio streaming mode : get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd mgr set audio streaming mode : pid(%d) mode(%d)", pid, mode); - vcd_config_set_audio_streaming_mode((vcd_audio_streaming_mode_e)mode); - } - return 0; -} - -/* -* Dbus Server functions for client -*/ -int vcd_dbus_server_initialize(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int service_state = 0; - int daemon_pid; - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Initialize"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd initialize : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - ret = vcd_server_initialize(pid); - service_state = vcd_server_get_service_state(); - daemon_pid = getpid(); - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd initialize : pid(%d) daemon_pid(%d)", pid, daemon_pid); - } - - int mgr_pid = vcd_client_manager_get_pid(); - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INT32, &mgr_pid, - DBUS_TYPE_INT32, &service_state, - DBUS_TYPE_INT32, &daemon_pid, - DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_finalize(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int ret = VCD_ERROR_OPERATION_FAILED; - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Finalize"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd finalize : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd finalize : pid(%d)", pid); - ret = vcd_server_finalize(pid); - } - - DBusMessage* reply; - - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -#if 0 -int vcd_dbus_server_set_exclusive_command(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int value; - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INT32, &value, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD set exclusive command"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd unset command : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCD, "[IN] vcd unset command : pid(%d) value(%d)", pid, value); - ret = vcd_server_set_exclusive_command(pid, (bool)value); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - if (0 == ret) { - /* Append result and language */ - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} -#endif - -int vcd_dbus_server_set_command(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int cmd_type; - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INT32, &cmd_type, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD set command"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd set command : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd set command : pid(%d), cmd_type(%d)", pid, cmd_type); - ret = vcd_server_set_command(pid, (vc_cmd_type_e)cmd_type); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - if (0 == ret) { - /* Append result and language */ - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_unset_command(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int cmd_type; - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INT32, &cmd_type, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD unset command"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd unset command : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd unset command : pid(%d), cmd_type(%d)", pid, cmd_type); - ret = vcd_server_unset_command(pid, (vc_cmd_type_e)cmd_type); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - if (0 == ret) { - /* Append result and language */ - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_set_foreground(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int value; - - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INT32, &value, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD set foreground"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd set foreground : get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - bool tmp_value; - tmp_value = (bool)value; - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd set foreground : pid(%d), value(%s)", pid, value ? "true" : "false"); - vcd_server_set_foreground(pid, tmp_value); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_set_server_dialog(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid = -1; - char* app_id = NULL; - char* credential = NULL; - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_STRING, &app_id, - DBUS_TYPE_STRING, &credential, - DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD set server dialog"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd set server dialog : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd set server dialog : pid(%d), app_id(%s)", pid, app_id); - ret = vcd_server_set_server_dialog(pid, app_id, credential); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - if (0 == ret) { - /* Append result and language */ - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; - -} - -int vcd_dbus_server_dialog(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - char* disp_text = NULL; - char* utt_text = NULL; - int continuous; - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_STRING, &disp_text, - DBUS_TYPE_STRING, &utt_text, - DBUS_TYPE_INT32, &continuous, - DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD request dialog"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd request dialog : get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd dialog : pid(%d), disp_text(%s), utt_text(%s), continuous(%d)", pid, disp_text, utt_text, continuous); - ret = vcd_server_dialog(pid, disp_text, utt_text, continuous); - if (0 != ret) { - SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to dialog"); - } - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_is_system_command_valid(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int is_sys_cmd_valid; - - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD request to check system command is valid"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd request to check system command is valid : get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd dialog : pid(%d)", pid); - ret = vcd_server_is_system_command_valid(pid, &is_sys_cmd_valid); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INT32, &is_sys_cmd_valid, - DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d), is_sys_cmd_valid (%d)", ret, is_sys_cmd_valid); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -#if 0 -int vcd_dbus_server_start_request(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int silence; - - int ret = VCD_ERROR_OPERATION_FAILED; - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Request Start"); - - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INT32, &silence, DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd start : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCD, "[IN] vcd request start : pid(%d), silence(%d)", pid, silence); - ret = vcd_server_request_start(pid, (bool)silence); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_DEBUG, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_stop_request(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int ret = VCD_ERROR_OPERATION_FAILED; - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Request Stop"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd stop : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCD, "[IN] vcd request stop : pid(%d)", pid); - ret = vcd_server_request_stop(pid); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_DEBUG, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_cancel_request(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int ret = VCD_ERROR_OPERATION_FAILED; - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Request Cancel"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd cancel : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_DEBUG, TAG_VCD, "[IN] vcd request cancel : pid(%d)", pid); - ret = vcd_server_request_cancel(pid); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_DEBUG, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} -#endif - -/* -* Dbus Widget-Daemon Server -*/ -int vcd_dbus_server_widget_initialize(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int service_state = 0; - int daemon_pid; - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Widget Initialize"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd widget initialize : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - ret = vcd_server_widget_initialize(pid); - service_state = vcd_server_get_service_state(); - daemon_pid = getpid(); - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd widget initialize : pid(%d) daemon_pid(%d)", pid, daemon_pid); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INT32, &service_state, - DBUS_TYPE_INT32, &daemon_pid, - DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_widget_finalize(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int ret = VCD_ERROR_OPERATION_FAILED; - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD Widget Finalize"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd widget finalize : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd widget finalize : pid(%d)", pid); - ret = vcd_server_widget_finalize(pid); - } - - DBusMessage* reply; - - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_widget_start_recording(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int ret = VCD_ERROR_OPERATION_FAILED; - int widget_command; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &widget_command, - DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD widget start recording"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd widget start recording : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd widget start recording : pid(%d)", pid); - ret = vcd_server_widget_start_recording(pid, widget_command); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - if (0 == ret) { - /* Append result and language */ - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_widget_start(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int silence; - - int ret = VCD_ERROR_OPERATION_FAILED; - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD widget start"); - - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INT32, &silence, DBUS_TYPE_INVALID); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd start : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd widget start : pid(%d), silence(%d)", pid, silence); - ret = vcd_server_widget_start(pid, (bool)silence); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_widget_stop(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int ret = VCD_ERROR_OPERATION_FAILED; - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD widget stop"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd widget stop : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd widget stop : pid(%d)", pid); - ret = vcd_server_widget_stop(pid); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_widget_cancel(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int ret = VCD_ERROR_OPERATION_FAILED; - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD widget cancel"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd widget cancel : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd widget cancel : pid(%d)", pid); - ret = vcd_server_widget_cancel(pid); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_widget_enable_asr_result(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int enable; - int ret = VCD_ERROR_OPERATION_FAILED; - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INT32, &enable, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD widget enable asr result"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd widget enable asr result : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd widget enable asr result : pid(%d) enable(%d)", pid, enable); - ret = vcd_server_widget_enable_asr_result(pid, enable); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_set_language(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - char* language; - int ret = VCD_ERROR_OPERATION_FAILED; - dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_STRING, &language, DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD server set language"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd server set language : get arguments error (%s)", err.message); - dbus_error_free(&err); - ret = VCD_ERROR_OPERATION_FAILED; - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd server set language : language(%s)", language); - ret = vcd_server_set_language(language); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, DBUS_TYPE_INT32, &ret, DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_request_tts(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - char* text = NULL; - char* language = NULL; - int to_vcm; - int utt_id = -1; - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_STRING, &text, - DBUS_TYPE_STRING, &language, - DBUS_TYPE_INT32, &to_vcm, - DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD request tts"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd request tts : get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd request tts : pid(%d), text(%s), language(%s), to_vcm(%d)", pid, text, language, to_vcm); - ret = vcd_server_request_tts(pid, text, language, to_vcm, &utt_id); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INT32, &utt_id, - DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d), utt_id(%d)", ret, utt_id); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_cancel_tts(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int utt_id; - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INT32, &utt_id, - DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD cancel tts"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd cancel tts : get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd cancel tts : pid(%d), utt_id(%d)", pid, utt_id); - ret = vcd_server_cancel_tts(pid, utt_id); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} - -int vcd_dbus_server_get_tts_audio_format(DBusConnection* conn, DBusMessage* msg) -{ - DBusError err; - dbus_error_init(&err); - - int pid; - int rate; - int channel; - int audio_type; - int ret = VCD_ERROR_OPERATION_FAILED; - - dbus_message_get_args(msg, &err, - DBUS_TYPE_INT32, &pid, - DBUS_TYPE_INVALID); - - SLOG(LOG_DEBUG, TAG_VCD, "@@@ VCD request tts"); - - if (dbus_error_is_set(&err)) { - SLOG(LOG_ERROR, TAG_VCD, "[IN ERROR] vcd get tts audio format : get arguments error (%s)", err.message); - dbus_error_free(&err); - } else { - SLOG(LOG_INFO, TAG_VCD, "[IN] vcd get tts audio format : pid(%d)", pid); - ret = vcd_server_get_tts_audio_format(pid, &rate, &channel, &audio_type); - } - - DBusMessage* reply; - reply = dbus_message_new_method_return(msg); - - if (NULL != reply) { - dbus_message_append_args(reply, - DBUS_TYPE_INT32, &ret, - DBUS_TYPE_INT32, &rate, - DBUS_TYPE_INT32, &channel, - DBUS_TYPE_INT32, &audio_type, - DBUS_TYPE_INVALID); - - if (0 == ret) { - SLOG(LOG_INFO, TAG_VCD, "[OUT SUCCESS] Result(%d)", ret); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Result(%d)", ret); - } - - if (!dbus_connection_send(conn, reply, NULL)) { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Out Of Memory!"); - } - - dbus_connection_flush(conn); - dbus_message_unref(reply); - } else { - SLOG(LOG_ERROR, TAG_VCD, "[OUT ERROR] Fail to create reply message!!"); - } - - SLOG(LOG_DEBUG, TAG_VCD, "@@@"); - - return 0; -} diff --git a/server/vcd_dbus_server.h b/server/vcd_dbus_server.h deleted file mode 100644 index 0d0ec0a..0000000 --- a/server/vcd_dbus_server.h +++ /dev/null @@ -1,105 +0,0 @@ -/* -* Copyright (c) 2011-2015 Samsung Electronics Co., Ltd All Rights Reserved -* -* Licensed under the Apache License, Version 2.0 (the License); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an AS IS BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - - -#ifndef __VCD_DBUS_SERVER_h__ -#define __VCD_DBUS_SERVER_h__ - -#include - - -#ifdef __cplusplus -extern "C" { -#endif - -int vcd_dbus_server_hello(DBusConnection* conn, DBusMessage* msg); - -/* -* Dbus Server functions for manager -*/ -/* for TTS feedback */ -int vcd_dbus_server_mgr_start_feedback(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_mgr_stop_feedback(DBusConnection* conn, DBusMessage* msg); - -/* for Multi-assistant */ -int vcd_dbus_server_mgr_send_audio_streaming(DBusConnection* conn, DBusMessage* msg); - - -/* -* Dbus Server functions for client -*/ - -int vcd_dbus_server_initialize(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_finalize(DBusConnection* conn, DBusMessage* msg); - -#if 0 -int vcd_dbus_server_set_exclusive_command(DBusConnection* conn, DBusMessage* msg); -#endif - -int vcd_dbus_server_set_command(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_unset_command(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_set_foreground(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_set_server_dialog(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_dialog(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_is_system_command_valid(DBusConnection* conn, DBusMessage* msg); - -#if 0 -int vcd_dbus_server_start_request(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_stop_request(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_cancel_request(DBusConnection* conn, DBusMessage* msg); -#endif - -/* -* Dbus Server functions for widget -*/ -int vcd_dbus_server_widget_initialize(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_widget_finalize(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_widget_start_recording(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_widget_start(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_widget_stop(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_widget_cancel(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_widget_enable_asr_result(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_set_language(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_request_tts(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_cancel_tts(DBusConnection* conn, DBusMessage* msg); - -int vcd_dbus_server_get_tts_audio_format(DBusConnection* conn, DBusMessage* msg); - - -#ifdef __cplusplus -} -#endif - - -#endif /* __VCD_DBUS_SERVER_h__ */ diff --git a/server/vcd_engine_agent.c b/server/vcd_engine_agent.c index 7b89164..2d5bcf2 100644 --- a/server/vcd_engine_agent.c +++ b/server/vcd_engine_agent.c @@ -23,7 +23,6 @@ #include "vcd_engine_agent.h" #include "vcd_main.h" #include "vcd_recorder.h" -// #include "vcd_dbus.h" #include "vcd_tidl.h" #include "vce_internal.h" diff --git a/server/vcd_server.c b/server/vcd_server.c index a4badcf..d82b10b 100644 --- a/server/vcd_server.c +++ b/server/vcd_server.c @@ -28,7 +28,6 @@ #include "vcd_engine_agent.h" #include "vcd_config.h" #include "vcd_recorder.h" -// #include "vcd_dbus.h" #include "vcd_tidl.h" #include "vce_internal.h" diff --git a/server/vce.c b/server/vce.c index e4b359b..9a66d2d 100644 --- a/server/vce.c +++ b/server/vce.c @@ -19,7 +19,6 @@ #include #include #include -// #include "vcd_dbus.h" #include "vcd_tidl.h" #include "vcd_main.h" #include "vcd_server.h" @@ -165,12 +164,6 @@ int vce_main(int argc, char** argv, vce_request_callback_s *callback) return VCE_ERROR_OPERATION_FAILED; } - // if (0 != vcd_dbus_open_connection()) { - // SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to open connection"); - // ecore_shutdown(); - // return VCE_ERROR_OPERATION_FAILED; - // } - ret = vcd_initialize(callback); if (0 != ret) { SLOG(LOG_ERROR, TAG_VCD, "[ERROR] Fail to initialize"); diff --git a/vc-server.conf b/vc-server.conf deleted file mode 100644 index 60a1d1b..0000000 --- a/vc-server.conf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - -