From: sungrae jo Date: Thu, 26 Mar 2020 08:22:54 +0000 (+0900) Subject: Cleanup VC-manager internal functions X-Git-Tag: submit/tizen/20200407.072912~5^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c62a62db0da5d782c0b68fdf792979e78520a6d;p=platform%2Fcore%2Fuifw%2Fvoice-control.git Cleanup VC-manager internal functions Change-Id: Id682421019abfd55c8baf20756929646fea59fb8 Signed-off-by: sungrae jo --- diff --git a/client/vc_mgr.c b/client/vc_mgr.c index d7879ae..e4bcd4f 100755 --- a/client/vc_mgr.c +++ b/client/vc_mgr.c @@ -4417,15 +4417,10 @@ static float __get_volume_decibel(char* data, int size) return db; } -int vc_mgr_send_audio_streaming(vc_audio_streaming_event_e event, unsigned char* buffer, unsigned int len) +int vc_mgr_send_audio_streaming(vc_audio_streaming_event_e event, char* buffer, unsigned int len) { SLOG(LOG_INFO, TAG_VCM, "[Manager] Send audio streaming to the engine service"); - if (NULL == buffer) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Invalid parameter"); - return VC_ERROR_INVALID_PARAMETER; - } - if (0 != __vc_mgr_get_feature_enabled()) { SLOG(LOG_DEBUG, TAG_VCM, "@@@ [Manager] not supported"); return VC_ERROR_NOT_SUPPORTED; @@ -4435,47 +4430,56 @@ int vc_mgr_send_audio_streaming(vc_audio_streaming_event_e event, unsigned char* return VC_ERROR_PERMISSION_DENIED; } - vc_state_e state; - if (0 != vc_mgr_client_get_client_state(g_vc_m, &state)) { + if (VC_AUDIO_STREAMING_EVENT_FAIL > event || VC_AUDIO_STREAMING_EVENT_FINISH < event || 0 == event) { + SLOG(LOG_ERROR, TAG_VCM, "[ERROR] event is invalid parameter (%d)", event); + return VC_ERROR_INVALID_PARAMETER; + } + + if (NULL == buffer) { + SLOG(LOG_ERROR, TAG_VCM, "[ERROR] buffer is invalid parameter"); + return VC_ERROR_INVALID_PARAMETER; + } + + vc_state_e state = VC_STATE_NONE; + int ret = vc_mgr_client_get_client_state(g_vc_m, &state); + if (0 != ret) { SLOG(LOG_ERROR, TAG_VCM, "[ERROR] A handle is not available"); SLOG(LOG_DEBUG, TAG_VCM, "@@@"); return VC_ERROR_INVALID_STATE; } - /* check state */ if (state != VC_STATE_READY) { - SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Invalid State: Current state is not 'READY'"); SLOG(LOG_DEBUG, TAG_VCM, "@@@"); return VC_ERROR_INVALID_STATE; } - /* Check service state */ - vc_service_state_e service_state = -1; - vc_mgr_client_get_service_state(g_vc_m, &service_state); - if (VC_SERVICE_STATE_READY != service_state && VC_SERVICE_STATE_RECORDING != service_state) { + vc_service_state_e service_state = VC_SERVICE_STATE_NONE; + ret = vc_mgr_client_get_service_state(g_vc_m, &service_state); + if (0 != ret) { + SLOG(LOG_ERROR, TAG_VCM, "[ERROR] A handle is not available"); + SLOG(LOG_DEBUG, TAG_VCM, "@@@"); + return VC_ERROR_INVALID_STATE; + } + if (VC_SERVICE_STATE_READY != service_state && VC_SERVICE_STATE_RECORDING != service_state) { SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Invalid State: service state is not 'READY' and 'RECORDING', state(%d)", service_state); SLOG(LOG_DEBUG, TAG_VCM, "@@@"); return VC_ERROR_INVALID_STATE; } - /* set volume */ float volume = __get_volume_decibel((char*)buffer, len); __vc_mgr_set_volume(volume); - /* send audio streaming */ - int ret = vc_mgr_dbus_send_audio_streaming(g_vc_m->handle, event, buffer, len); - if (0 != ret) { + ret = vc_mgr_dbus_send_audio_streaming(g_vc_m->handle, event, buffer, len); + if (0 != ret) SLOG(LOG_WARN, TAG_VCM, "[WARNING] retry to send audio streaming data"); - } else { + else SLOG(LOG_INFO, TAG_VCM, "[DEBUG] Success to send"); - } - return ret; } -int vc_mgr_set_audio_streaming_mode(vc_audio_streaming_mode_e streaming_mode) +int vc_mgr_set_audio_streaming_mode(vc_audio_streaming_mode_e mode) { SLOG(LOG_INFO, TAG_VCM, "[Manager] Set multi assistant mode"); @@ -4488,22 +4492,41 @@ int vc_mgr_set_audio_streaming_mode(vc_audio_streaming_mode_e streaming_mode) return VC_ERROR_PERMISSION_DENIED; } - vc_state_e state; - if (0 != vc_mgr_client_get_client_state(g_vc_m, &state)) { + if (VC_AUDIO_STREAMING_MODE_VC_SERVICE > mode || VC_AUDIO_STREAMING_MODE_OUTSIDE < mode) { + SLOG(LOG_ERROR, TAG_VCM, "[ERROR] mode is invalid parameter (%d)", mode); + return VC_ERROR_INVALID_PARAMETER; + } + + vc_state_e state = VC_STATE_NONE; + int ret = vc_mgr_client_get_client_state(g_vc_m, &state); + if (0 != ret) { SLOG(LOG_ERROR, TAG_VCM, "[ERROR] A handle is not available"); SLOG(LOG_DEBUG, TAG_VCM, "@@@"); return VC_ERROR_INVALID_STATE; } - /* check state */ - if (state != VC_STATE_INITIALIZED) { + if (state != VC_STATE_READY) { + SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Invalid State: Current state is not 'READY'"); + SLOG(LOG_DEBUG, TAG_VCM, "@@@"); + return VC_ERROR_INVALID_STATE; + } + + vc_service_state_e service_state = VC_SERVICE_STATE_NONE; + ret = vc_mgr_client_get_service_state(g_vc_m, &service_state); + if (0 != ret) { + SLOG(LOG_ERROR, TAG_VCM, "[ERROR] A handle is not available"); + SLOG(LOG_DEBUG, TAG_VCM, "@@@"); + return VC_ERROR_INVALID_STATE; + } + if (VC_STATE_INITIALIZED != state && VC_SERVICE_STATE_READY != service_state) { SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Invalid State: Current state is not 'INITIALIZED', state(%d)", state); + SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Invalid State: Current service state is not 'READY', service_state(%d)", service_state); SLOG(LOG_DEBUG, TAG_VCM, "@@@"); return VC_ERROR_INVALID_STATE; } - int ret = vc_mgr_client_set_audio_streaming_mode(g_vc_m, streaming_mode); + ret = vc_mgr_client_set_audio_streaming_mode(g_vc_m, mode); if (0 != ret) { SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to set multi assistant mode, ret(%d)", ret); return VC_ERROR_INVALID_STATE; @@ -4621,9 +4644,9 @@ int __vc_recover_system_volume() return 0; } -int vc_mgr_change_system_volume(vc_system_volume_event_e volume_event) +int vc_mgr_change_system_volume(vc_system_volume_event_e event) { - SLOG(LOG_INFO, TAG_VCM, "[Manager] Change system volume, volume_event(%d)", volume_event); + SLOG(LOG_INFO, TAG_VCM, "[Manager] Change system volume"); if (0 != __vc_mgr_get_feature_enabled()) { SLOG(LOG_DEBUG, TAG_VCM, "@@@ [Manager] not supported"); @@ -4634,31 +4657,34 @@ int vc_mgr_change_system_volume(vc_system_volume_event_e volume_event) return VC_ERROR_PERMISSION_DENIED; } + if (VC_SYSTEM_VOLUME_EVENT_CHANGE_FOR_NEARFIELD > event || VC_SYSTEM_VOLUME_EVENT_CHANGE_FOR_FARFIELD < event) { + SLOG(LOG_ERROR, TAG_VCM, "[ERROR] event is invalid parameter (%d)", event); + return VC_ERROR_INVALID_PARAMETER; + } + vc_state_e state; - if (0 != vc_mgr_client_get_client_state(g_vc_m, &state)) { + int ret = vc_mgr_client_get_client_state(g_vc_m, &state); + if (0 != ret) { SLOG(LOG_ERROR, TAG_VCM, "[ERROR] A handle is not available"); SLOG(LOG_DEBUG, TAG_VCM, "@@@"); return VC_ERROR_INVALID_STATE; } - /* check state */ if (state != VC_STATE_READY && state != VC_STATE_INITIALIZED) { SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Invalid State: Current state is not 'READY' and not 'INITIALIZED', state(%d)", state); SLOG(LOG_DEBUG, TAG_VCM, "@@@"); return VC_ERROR_INVALID_STATE; } - /* change system volume */ - int ret = __vc_change_system_volume(volume_event); - if (0 != ret) { + ret = __vc_change_system_volume(event); + if (0 != ret) SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to change volume"); - } else { + else SLOG(LOG_INFO, TAG_VCM, "[DEBUG] Success to change volume"); - } return ret; } -int vc_mgr_recover_system_volume() +int vc_mgr_recover_system_volume(void) { SLOG(LOG_INFO, TAG_VCM, "[Manager] recover system volume"); @@ -4671,14 +4697,14 @@ int vc_mgr_recover_system_volume() return VC_ERROR_PERMISSION_DENIED; } - vc_state_e state; - if (0 != vc_mgr_client_get_client_state(g_vc_m, &state)) { + vc_state_e state = VC_STATE_NONE; + int ret = vc_mgr_client_get_client_state(g_vc_m, &state); + if (0 != ret) { SLOG(LOG_ERROR, TAG_VCM, "[ERROR] A handle is not available"); SLOG(LOG_DEBUG, TAG_VCM, "@@@"); return VC_ERROR_INVALID_STATE; } - /* check state */ if (state != VC_STATE_READY && state != VC_STATE_INITIALIZED) { SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Invalid State: Current state is not 'READY' and not 'INITIALIZED', state(%d)", state); SLOG(LOG_DEBUG, TAG_VCM, "@@@"); @@ -4686,11 +4712,10 @@ int vc_mgr_recover_system_volume() } /* recover volume */ - int ret = __vc_recover_system_volume(); - if (0 != ret) { + ret = __vc_recover_system_volume(); + if (0 != ret) SLOG(LOG_ERROR, TAG_VCM, "[ERROR] Fail to recover volume"); - } else { + else SLOG(LOG_INFO, TAG_VCM, "[DEBUG] Success to recover volume"); - } return ret; } diff --git a/client/vc_mgr_dbus.c b/client/vc_mgr_dbus.c index eb6d62e..486f2fe 100755 --- a/client/vc_mgr_dbus.c +++ b/client/vc_mgr_dbus.c @@ -2306,7 +2306,7 @@ int vc_mgr_dbus_send_utterance_status(int pid, int utt_id, int utt_status) return 0; } -int vc_mgr_dbus_send_audio_streaming(int pid, vc_audio_streaming_event_e event, unsigned char* buffer, unsigned int len) +int vc_mgr_dbus_send_audio_streaming(int pid, vc_audio_streaming_event_e event, char* buffer, unsigned int len) { if (0 != __dbus_check()) { return VC_ERROR_OPERATION_FAILED; diff --git a/client/vc_mgr_dbus.h b/client/vc_mgr_dbus.h index e0f5942..da556d3 100644 --- a/client/vc_mgr_dbus.h +++ b/client/vc_mgr_dbus.h @@ -74,7 +74,7 @@ int vc_mgr_dbus_request_stop_feedback(int pid); int vc_mgr_dbus_send_utterance_status(int pid, int utt_id, int utt_status); -int vc_mgr_dbus_send_audio_streaming(int pid, vc_audio_streaming_event_e event, unsigned char* buffer, unsigned int len); +int vc_mgr_dbus_send_audio_streaming(int pid, vc_audio_streaming_event_e event, char* buffer, unsigned int len); int vc_mgr_dbus_change_system_volume(int pid, vc_system_volume_event_e volume_event); diff --git a/include/voice_control_manager_internal.h b/include/voice_control_manager_internal.h index 2a887ef..4d6cc27 100644 --- a/include/voice_control_manager_internal.h +++ b/include/voice_control_manager_internal.h @@ -42,8 +42,7 @@ typedef enum { typedef enum { VC_SYSTEM_VOLUME_EVENT_CHANGE_FOR_NEARFIELD, - VC_SYSTEM_VOLUME_EVENT_CHANGE_FOR_FARFIELD, - VC_SYSTEM_VOLUME_EVENT_RECOVER + VC_SYSTEM_VOLUME_EVENT_CHANGE_FOR_FARFIELD } vc_system_volume_event_e; #define VC_SERVICE_STATE_UPDATING 5 /**< 'Updating' state */ @@ -104,7 +103,7 @@ int vc_mgr_set_domain(const char* domain); * @since_tizen 5.0 * */ -int vc_mgr_send_audio_streaming(vc_audio_streaming_event_e event, unsigned char* buffer, unsigned int len); +int vc_mgr_send_audio_streaming(vc_audio_streaming_event_e event, char* buffer, unsigned int len); int vc_mgr_set_audio_streaming_mode(vc_audio_streaming_mode_e streaming_mode); diff --git a/server/vcd_dbus_server.c b/server/vcd_dbus_server.c index 2adb89e..119d5f8 100755 --- a/server/vcd_dbus_server.c +++ b/server/vcd_dbus_server.c @@ -1046,7 +1046,7 @@ int vcd_dbus_server_mgr_send_audio_streaming(DBusConnection* conn, DBusMessage* int pid = 0; int event = 0; - unsigned char* buffer = NULL; + char* buffer = NULL; unsigned int len = 0; int ret = VCD_ERROR_OPERATION_FAILED; diff --git a/server/vcd_server.c b/server/vcd_server.c index 56df9a5..6913285 100755 --- a/server/vcd_server.c +++ b/server/vcd_server.c @@ -2307,7 +2307,7 @@ int vcd_server_mgr_stop_feedback(void) return VCD_ERROR_NONE; } -int vcd_server_mgr_send_audio_streaming(int pid, int event, unsigned char* buffer, unsigned int len) +int vcd_server_mgr_send_audio_streaming(int pid, int event, char* buffer, unsigned int len) { SLOG(LOG_INFO, TAG_VCD, "[DEBUG] Send Audio Streaming from Multi-assistant. event(%d), buffer(%p), len(%d)", event, &buffer, len); diff --git a/server/vcd_server.h b/server/vcd_server.h index 23ec32a..e675b0b 100644 --- a/server/vcd_server.h +++ b/server/vcd_server.h @@ -87,7 +87,7 @@ int vcd_server_mgr_start_feedback(void); int vcd_server_mgr_stop_feedback(void); /* for Multi-assistant */ -int vcd_server_mgr_send_audio_streaming(int pid, int event, unsigned char* buffer, unsigned int len); +int vcd_server_mgr_send_audio_streaming(int pid, int event, char* buffer, unsigned int len); /*