dbus_connection_set_exit_on_disconnect(g_conn_listener, false);
-// int pid = getpid();
+ int pid = getpid();
char service_name[64];
memset(service_name, '\0', 64);
-// snprintf(service_name, 64, "%s%d", MA_CLIENT_SERVICE_NAME, pid);
- snprintf(service_name, 64, "%s", MA_CLIENT_SERVICE_NAME);
+ snprintf(service_name, 64, "%s_%d", MA_CLIENT_SERVICE_NAME, pid);
SLOG(LOG_DEBUG, TAG_MAC, "service name is %s", service_name);
}
if (NULL != g_conn_listener) {
-// int pid = getpid();
+ int pid = getpid();
char service_name[64];
memset(service_name, '\0', 64);
-// snprintf(service_name, 64, "%s%d", MA_CLIENT_SERVICE_NAME, pid);
- snprintf(service_name, 64, "%s", MA_CLIENT_SERVICE_NAME);
+ snprintf(service_name, 64, "%s_%d", MA_CLIENT_SERVICE_NAME, pid);
dbus_bus_release_name(g_conn_listener, service_name, &err);
return result;
}
+int ma_dbus_request_speech_data(int pid)
+{
+ if (0 != __dbus_check()) {
+ return MA_ERROR_OPERATION_FAILED;
+ }
+
+ DBusMessage* msg;
+
+ msg = dbus_message_new_method_call(
+ MA_SERVER_SERVICE_NAME,
+ MA_SERVER_SERVICE_OBJECT_PATH,
+ MA_SERVER_SERVICE_INTERFACE,
+ MA_METHOD_REQUEST_SPEECH_DATA);
+
+ if (NULL == msg) {
+ SLOG(LOG_ERROR, TAG_MAC, "@@ Request multi-assistant recording audio format : Fail to make message"); //LCOV_EXCL_LINE
+ return MA_ERROR_OPERATION_FAILED;
+ } else {
+ SLOG(LOG_DEBUG, TAG_MAC, "[DEBUG] multi-assistant recording audio format");
+ }
+
+ dbus_message_append_args(msg,
+ DBUS_TYPE_INT32, &pid,
+ DBUS_TYPE_INVALID);
+
+ DBusError err;
+ dbus_error_init(&err);
+
+ DBusMessage* result_msg = NULL;
+ int result = MA_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_DEBUG, TAG_MAC, "[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_MAC, "@@ Get arguments error (%s)", err.message);
+ dbus_error_free(&err);
+ result = MA_ERROR_OPERATION_FAILED;
+ }
+ dbus_message_unref(result_msg);
+
+ if (0 == result) {
+ SLOG(LOG_DEBUG, TAG_MAC, "@@ multi-assistant request speech data : result = %d", result);
+ } else {
+ SLOG(LOG_ERROR, TAG_MAC, "@@ multi-assistant request speech data : result = %d", result);
+ }
+ } else {
+ SLOG(LOG_ERROR, TAG_MAC, "@@ Result message is NULL");
+ ma_dbus_reconnect();
+ result = MA_ERROR_TIMED_OUT;
+ }
+
+ return result;
+}
+
int ma_dbus_get_recording_audio_format(int pid, int *rate, ma_audio_channel_e *channel, ma_audio_type_e *audio_type)
{