2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 * http://www.apache.org/licenses/LICENSE-2.0
7 * Unless required by applicable law or agreed to in writing, software
8 * distributed under the License is distributed on an "AS IS" BASIS,
9 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 * See the License for the specific language governing permissions and
11 * limitations under the License.
21 static Ecore_Fd_Handler* g_fd_handler = NULL;
23 static DBusConnection* g_conn = NULL;
26 extern int __tts_cb_error(int uid, tts_error_e reason, int utt_id);
28 extern int __tts_cb_interrupt(int uid, tts_interrupted_code_e code);
30 extern int __tts_cb_utt_started(int uid, int utt_id);
32 extern int __tts_cb_utt_completed(int uid, int utt_id);
35 static Eina_Bool listener_event_callback(void* data, Ecore_Fd_Handler *fd_handler)
37 DBusConnection* conn = (DBusConnection*)data;
39 if (NULL == conn) return ECORE_CALLBACK_RENEW;
41 dbus_connection_read_write_dispatch(conn, 50);
43 DBusMessage* msg = NULL;
44 msg = dbus_connection_pop_message(conn);
46 /* loop again if we haven't read a message */
48 return ECORE_CALLBACK_RENEW;
52 dbus_error_init(&err);
55 snprintf(if_name, 64, "%s%d", TTS_CLIENT_SERVICE_INTERFACE, getpid());
57 /* check if the message is a signal from the correct interface and with the correct name */
58 if (dbus_message_is_signal(msg, if_name, TTS_SIGNAL_UTTERANCE_STARTED)) {
59 SLOG(LOG_DEBUG, TAG_TTSC, "===== Get utterance started");
61 dbus_message_get_args(msg, &err,
62 DBUS_TYPE_INT32, &uid,
63 DBUS_TYPE_INT32, &uttid,
66 if (dbus_error_is_set(&err)) {
67 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Get Utterance started - Get arguments error (%s)\n", err.message);
68 dbus_error_free(&err);
70 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< Get Utterance started signal : uid(%d), uttid(%d) \n", uid, uttid);
71 __tts_cb_utt_started(uid, uttid);
73 SLOG(LOG_DEBUG, TAG_TTSC, "=====");
74 SLOG(LOG_DEBUG, TAG_TTSC, " ");
75 }/* TTS_SIGNAL_UTTERANCE_STARTED */
77 else if (dbus_message_is_signal(msg, if_name, TTS_SIGNAL_UTTERANCE_COMPLETED)) {
78 SLOG(LOG_DEBUG, TAG_TTSC, "===== Get utterance completed");
80 dbus_message_get_args(msg, &err,
81 DBUS_TYPE_INT32, &uid,
82 DBUS_TYPE_INT32, &uttid,
85 if (dbus_error_is_set(&err)) {
86 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Get Utterance completed - Get arguments error (%s)\n", err.message);
87 dbus_error_free(&err);
89 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< Get Utterance completed signal : uid(%d), uttid(%d) \n", uid, uttid);
90 __tts_cb_utt_completed(uid, uttid);
92 SLOG(LOG_DEBUG, TAG_TTSC, "=====");
93 SLOG(LOG_DEBUG, TAG_TTSC, " ");
94 }/* TTS_SIGNAL_UTTERANCE_COMPLETED */
96 else if (dbus_message_is_signal(msg, if_name, TTS_SIGNAL_INTERRUPT)) {
97 SLOG(LOG_DEBUG, TAG_TTSC, "===== Get interrupt callback");
100 dbus_message_get_args(msg, &err,
101 DBUS_TYPE_INT32, &uid,
102 DBUS_TYPE_INT32, &code,
105 if (dbus_error_is_set(&err)) {
106 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Get Stop signal - Get arguments error (%s)\n", err.message);
107 dbus_error_free(&err);
109 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< Get Interrupt signal : uid(%d) , interrupt code(%d)\n", uid, code);
110 __tts_cb_interrupt(uid, (tts_interrupted_code_e)code);
112 SLOG(LOG_DEBUG, TAG_TTSC, "=====");
113 SLOG(LOG_DEBUG, TAG_TTSC, " ");
114 } /* TTS_SIGNAL_INTERRUPT */
116 else if (dbus_message_is_signal(msg, if_name, TTS_SIGNAL_ERROR)) {
117 SLOG(LOG_DEBUG, TAG_TTSC, "===== Get error callback");
123 dbus_message_get_args(msg, &err,
124 DBUS_TYPE_INT32, &uid,
125 DBUS_TYPE_INT32, &uttid,
126 DBUS_TYPE_INT32, &reason,
129 if (dbus_error_is_set(&err)) {
130 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Get Error signal - Get arguments error (%s)\n", err.message);
131 dbus_error_free(&err);
133 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< Get Error signal : uid(%d), error(%d), uttid(%d)\n", uid, reason, uttid);
134 __tts_cb_error(uid, reason, uttid);
136 SLOG(LOG_DEBUG, TAG_TTSC, "=====");
137 SLOG(LOG_DEBUG, TAG_TTSC, " ");
138 }/* TTS_SIGNAL_ERROR */
140 /* free the message */
141 dbus_message_unref(msg);
143 return ECORE_CALLBACK_PASS_ON;
147 int tts_dbus_open_connection()
149 if (NULL != g_conn) {
150 SLOG(LOG_WARN, TAG_TTSC, "already existed connection ");
157 /* initialise the error value */
158 dbus_error_init(&err);
160 /* connect to the DBUS system bus, and check for errors */
161 g_conn = dbus_bus_get_private(DBUS_BUS_SYSTEM, &err);
163 if (dbus_error_is_set(&err)) {
164 SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Dbus Connection Error (%s)\n", err.message);
165 dbus_error_free(&err);
168 if (NULL == g_conn) {
169 SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] fail to get dbus connection \n");
170 return TTS_ERROR_OPERATION_FAILED;
175 char service_name[64];
176 memset(service_name, 0, 64);
177 snprintf(service_name, 64, "%s%d", TTS_CLIENT_SERVICE_NAME, pid);
179 SLOG(LOG_DEBUG, TAG_TTSC, "Service name is %s\n", service_name);
181 /* register our name on the bus, and check for errors */
182 ret = dbus_bus_request_name(g_conn, service_name, DBUS_NAME_FLAG_REPLACE_EXISTING , &err);
184 if (dbus_error_is_set(&err)) {
185 SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Name Error (%s)\n", err.message);
186 dbus_error_free(&err);
189 if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) {
190 SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Fail to open connection : Service name has already been existed. \n");
191 return TTS_ERROR_OPERATION_FAILED;
195 snprintf(rule, 128, "type='signal',interface='%s%d'", TTS_CLIENT_SERVICE_INTERFACE, pid);
197 /* add a rule for which messages we want to see */
198 dbus_bus_add_match(g_conn, rule, &err);
199 dbus_connection_flush(g_conn);
201 if (dbus_error_is_set(&err)) {
202 SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Match Error (%s)\n", err.message);
203 return TTS_ERROR_OPERATION_FAILED;
207 dbus_connection_get_unix_fd(g_conn, &fd);
209 g_fd_handler = ecore_main_fd_handler_add(fd, ECORE_FD_READ, (Ecore_Fd_Cb)listener_event_callback, g_conn, NULL, NULL);
211 if (NULL == g_fd_handler) {
212 SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Fail to get fd handler from ecore \n");
213 return TTS_ERROR_OPERATION_FAILED;
220 int tts_dbus_close_connection()
223 dbus_error_init(&err);
227 char service_name[64];
228 memset(service_name, 0, 64);
229 snprintf(service_name, 64, "%s%d", TTS_CLIENT_SERVICE_NAME, pid);
231 dbus_bus_release_name (g_conn, service_name, &err);
239 int tts_dbus_request_initialize(int uid)
243 msg = dbus_message_new_method_call(
244 TTS_SERVER_SERVICE_NAME,
245 TTS_SERVER_SERVICE_OBJECT_PATH,
246 TTS_SERVER_SERVICE_INTERFACE,
247 TTS_METHOD_INITIALIZE);
250 SLOG(LOG_ERROR, TAG_TTSC, ">>>> Request tts initialize : Fail to make message \n");
251 return TTS_ERROR_OPERATION_FAILED;
253 SLOG(LOG_DEBUG, TAG_TTSC, ">>>> Request tts initialize : uid(%d)", uid);
257 dbus_message_append_args( msg,
258 DBUS_TYPE_INT32, &pid,
259 DBUS_TYPE_INT32, &uid,
263 dbus_error_init(&err);
265 DBusMessage* result_msg;
266 int result = TTS_ERROR_OPERATION_FAILED;
268 result_msg = dbus_connection_send_with_reply_and_block(g_conn, msg, 3000, &err);
270 if (NULL != result_msg) {
271 dbus_message_get_args(result_msg, &err,
272 DBUS_TYPE_INT32, &result,
275 if (dbus_error_is_set(&err)) {
276 SLOG(LOG_ERROR, TAG_TTSC, "Get arguments error (%s)\n", err.message);
277 dbus_error_free(&err);
278 result = TTS_ERROR_OPERATION_FAILED;
281 dbus_message_unref(result_msg);
283 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Result message is NULL ");
287 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts initialize : result = %d \n", result);
289 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts initialize : result = %d \n", result);
292 dbus_message_unref(msg);
298 int tts_dbus_request_finalize(int uid)
302 msg = dbus_message_new_method_call(
303 TTS_SERVER_SERVICE_NAME,
304 TTS_SERVER_SERVICE_OBJECT_PATH,
305 TTS_SERVER_SERVICE_INTERFACE,
306 TTS_METHOD_FINALIZE);
309 SLOG(LOG_ERROR, TAG_TTSC, ">>>> Request tts finalize : Fail to make message \n");
310 return TTS_ERROR_OPERATION_FAILED;
312 SLOG(LOG_DEBUG, TAG_TTSC, ">>>> Request tts finalize : uid(%d)", uid);
315 dbus_message_append_args(msg, DBUS_TYPE_INT32, &uid, DBUS_TYPE_INVALID);
318 dbus_error_init(&err);
320 DBusMessage* result_msg;
321 int result = TTS_ERROR_OPERATION_FAILED;
323 result_msg = dbus_connection_send_with_reply_and_block(g_conn, msg, 3000, &err);
325 if (NULL != result_msg) {
326 dbus_message_get_args(result_msg, &err, DBUS_TYPE_INT32, &result, DBUS_TYPE_INVALID);
328 if (dbus_error_is_set(&err)) {
329 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Get arguments error (%s)\n", err.message);
330 dbus_error_free(&err);
331 result = TTS_ERROR_OPERATION_FAILED;
334 dbus_message_unref(result_msg);
336 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Result message is NULL ");
340 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts finalize : result = %d \n", result);
342 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts finalize : result = %d \n", result);
345 dbus_message_unref(msg);
350 int tts_dbus_request_get_support_voice(int uid, tts_h tts, tts_supported_voice_cb callback, void* user_data)
354 msg = dbus_message_new_method_call(
355 TTS_SERVER_SERVICE_NAME,
356 TTS_SERVER_SERVICE_OBJECT_PATH,
357 TTS_SERVER_SERVICE_INTERFACE,
358 TTS_METHOD_GET_SUPPORT_VOICES);
361 SLOG(LOG_ERROR, TAG_TTSC, ">>>> Request tts get supported voices : Fail to make message \n");
362 return TTS_ERROR_OPERATION_FAILED;
364 SLOG(LOG_DEBUG, TAG_TTSC, ">>>> Request tts get supported voices : uid(%d)", uid);
367 dbus_message_append_args( msg,
368 DBUS_TYPE_INT32, &uid,
372 dbus_error_init(&err);
374 DBusMessage* result_msg;
375 DBusMessageIter args;
376 int result = TTS_ERROR_OPERATION_FAILED;
378 result_msg = dbus_connection_send_with_reply_and_block(g_conn, msg, 3000, &err );
380 if (NULL != result_msg) {
381 if (dbus_message_iter_init(result_msg, &args)) {
383 if (DBUS_TYPE_INT32 == dbus_message_iter_get_arg_type(&args)) {
384 dbus_message_iter_get_basic(&args, &result);
385 dbus_message_iter_next(&args);
389 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts get supported voices : result = %d \n", result);
396 if (DBUS_TYPE_INT32 == dbus_message_iter_get_arg_type(&args)) {
397 dbus_message_iter_get_basic(&args, &size);
398 dbus_message_iter_next(&args);
402 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts size of voice error : size = %d \n", size);
405 for (i=0 ; i<size ; i++) {
406 dbus_message_iter_get_basic(&args, &(temp_char) );
407 dbus_message_iter_next(&args);
408 dbus_message_iter_get_basic(&args, &(temp_int) );
409 dbus_message_iter_next(&args);
411 if (true != callback(tts, temp_char, (tts_voice_type_e)temp_int, user_data)) {
417 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts get supported voices : result = %d \n", result);
420 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts get supported voices : result message is invalid \n");
421 result = TTS_ERROR_OPERATION_FAILED;
423 dbus_message_unref(result_msg);
425 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Result message is NULL");
428 dbus_message_unref(msg);
433 int tts_dbus_request_get_default_voice(int uid , char** lang, tts_voice_type_e* vctype)
435 if (NULL == lang || NULL == vctype) {
436 SLOG(LOG_ERROR, TAG_TTSC, "Input parameter is NULL");
437 return TTS_ERROR_INVALID_PARAMETER;
442 msg = dbus_message_new_method_call(
443 TTS_SERVER_SERVICE_NAME,
444 TTS_SERVER_SERVICE_OBJECT_PATH,
445 TTS_SERVER_SERVICE_INTERFACE,
446 TTS_METHOD_GET_CURRENT_VOICE);
449 SLOG(LOG_ERROR, TAG_TTSC, ">>>> Request tts get default voice : Fail to make message \n");
450 return TTS_ERROR_OPERATION_FAILED;
452 SLOG(LOG_DEBUG, TAG_TTSC, ">>>> Request tts get default voice : uid(%d)", uid);
455 dbus_message_append_args( msg,
456 DBUS_TYPE_INT32, &uid,
460 dbus_error_init(&err);
462 DBusMessage* result_msg;
463 int result = TTS_ERROR_OPERATION_FAILED;
467 result_msg = dbus_connection_send_with_reply_and_block(g_conn, msg, 3000, &err);
469 if (NULL != result_msg) {
470 dbus_message_get_args(result_msg, &err,
471 DBUS_TYPE_INT32, &result,
472 DBUS_TYPE_STRING, &temp_lang,
473 DBUS_TYPE_INT32, &voice_type,
476 if (dbus_error_is_set(&err)) {
477 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Get arguments error (%s)\n", err.message);
478 dbus_error_free(&err);
479 result = TTS_ERROR_OPERATION_FAILED;
481 dbus_message_unref(result_msg);
483 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Result message is NULL ");
487 *lang = strdup(temp_lang);
488 *vctype = (tts_voice_type_e)voice_type;
491 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts get default voice : Out of memory \n");
492 result = TTS_ERROR_OUT_OF_MEMORY;
494 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts get default voice : result(%d), lang(%s), vctype(%d) \n", result, *lang, *vctype);
497 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts get default voice : result(%d) \n", result);
500 dbus_message_unref(msg);
506 int tts_dbus_request_add_text(int uid, const char* text, const char* lang, int vctype, int speed, int uttid)
508 if (NULL == text || NULL == lang) {
509 SLOG(LOG_ERROR, TAG_TTSC, "Input parameter is NULL");
510 return TTS_ERROR_INVALID_PARAMETER;
515 msg = dbus_message_new_method_call(
516 TTS_SERVER_SERVICE_NAME,
517 TTS_SERVER_SERVICE_OBJECT_PATH,
518 TTS_SERVER_SERVICE_INTERFACE,
519 TTS_METHOD_ADD_QUEUE);
522 SLOG(LOG_ERROR, TAG_TTSC, ">>>> Request tts add text : Fail to make message \n");
523 return TTS_ERROR_OPERATION_FAILED;
525 SLOG(LOG_DEBUG, TAG_TTSC, ">>>> Request tts add text : uid(%d), text(%s), lang(%s), type(%d), speed(%d), id(%d)",
526 uid, text, lang, vctype, speed, uttid);
529 dbus_message_append_args( msg,
530 DBUS_TYPE_INT32, &uid,
531 DBUS_TYPE_STRING, &text,
532 DBUS_TYPE_STRING, &lang,
533 DBUS_TYPE_INT32, &vctype,
534 DBUS_TYPE_INT32, &speed,
535 DBUS_TYPE_INT32, &uttid,
539 dbus_error_init(&err);
541 DBusMessage* result_msg;
542 int result = TTS_ERROR_OPERATION_FAILED;
544 result_msg = dbus_connection_send_with_reply_and_block(g_conn, msg, 5000, &err);
546 if (NULL != result_msg) {
547 dbus_message_get_args(result_msg, &err,
548 DBUS_TYPE_INT32, &result,
551 if (dbus_error_is_set(&err)) {
552 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts add text : Get arguments error (%s)\n", err.message);
553 dbus_error_free(&err);
554 result = TTS_ERROR_OPERATION_FAILED;
556 dbus_message_unref(result_msg);
558 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Result message is NULL ");
562 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts add text : result(%d) \n", result);
564 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts add text : result(%d) \n", result);
567 dbus_message_unref(msg);
572 int tts_dbus_request_play(int uid)
576 msg = dbus_message_new_method_call(
577 TTS_SERVER_SERVICE_NAME,
578 TTS_SERVER_SERVICE_OBJECT_PATH,
579 TTS_SERVER_SERVICE_INTERFACE,
583 SLOG(LOG_ERROR, TAG_TTSC, ">>>> Request tts play : Fail to make message \n");
584 return TTS_ERROR_OPERATION_FAILED;
586 SLOG(LOG_DEBUG, TAG_TTSC, ">>>> Request tts play : uid(%d)", uid);
589 dbus_message_append_args( msg,
590 DBUS_TYPE_INT32, &uid,
594 dbus_error_init(&err);
596 DBusMessage* result_msg;
597 int result = TTS_ERROR_OPERATION_FAILED;
599 result_msg = dbus_connection_send_with_reply_and_block(g_conn, msg, 5000, &err);
601 if (NULL != result_msg) {
602 dbus_message_get_args(result_msg, &err,
603 DBUS_TYPE_INT32, &result,
606 if (dbus_error_is_set(&err)) {
607 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts play : Get arguments error (%s)\n", err.message);
608 dbus_error_free(&err);
609 result = TTS_ERROR_OPERATION_FAILED;
611 dbus_message_unref(result_msg);
613 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Result message is NULL ");
617 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts play : result(%d) \n", result);
619 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts play : result(%d) \n", result);
622 dbus_message_unref(msg);
628 int tts_dbus_request_stop(int uid)
632 msg = dbus_message_new_method_call(
633 TTS_SERVER_SERVICE_NAME,
634 TTS_SERVER_SERVICE_OBJECT_PATH,
635 TTS_SERVER_SERVICE_INTERFACE,
639 SLOG(LOG_ERROR, TAG_TTSC, ">>>> Request tts stop : Fail to make message \n");
640 return TTS_ERROR_OPERATION_FAILED;
642 SLOG(LOG_DEBUG, TAG_TTSC, ">>>> Request tts stop : uid(%d)", uid);
646 dbus_error_init(&err);
648 DBusMessage* result_msg;
649 int result = TTS_ERROR_OPERATION_FAILED;
651 dbus_message_append_args(msg, DBUS_TYPE_INT32, &uid, DBUS_TYPE_INVALID);
653 result_msg = dbus_connection_send_with_reply_and_block(g_conn, msg, 5000, &err);
655 if (NULL != result_msg) {
656 dbus_message_get_args(result_msg, &err,
657 DBUS_TYPE_INT32, &result,
660 if (dbus_error_is_set(&err)) {
661 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts stop : Get arguments error (%s)\n", err.message);
662 dbus_error_free(&err);
663 result = TTS_ERROR_OPERATION_FAILED;
665 dbus_message_unref(result_msg);
667 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Result message is NULL ");
671 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts stop : result(%d) \n", result);
673 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts stop : result(%d) \n", result);
676 dbus_message_unref(msg);
681 int tts_dbus_request_pause(int uid)
685 msg = dbus_message_new_method_call(
686 TTS_SERVER_SERVICE_NAME,
687 TTS_SERVER_SERVICE_OBJECT_PATH,
688 TTS_SERVER_SERVICE_INTERFACE,
692 SLOG(LOG_ERROR, TAG_TTSC, ">>>> Request tts pause : Fail to make message \n");
693 return TTS_ERROR_OPERATION_FAILED;
695 SLOG(LOG_DEBUG, TAG_TTSC, ">>>> Request tts pause : uid(%d)", uid);
699 dbus_error_init(&err);
701 DBusMessage* result_msg;
702 int result = TTS_ERROR_OPERATION_FAILED;
704 dbus_message_append_args(msg, DBUS_TYPE_INT32, &uid, DBUS_TYPE_INVALID);
706 result_msg = dbus_connection_send_with_reply_and_block(g_conn, msg, 5000, &err);
708 if (NULL != result_msg) {
709 dbus_message_get_args(result_msg, &err,
710 DBUS_TYPE_INT32, &result,
713 if (dbus_error_is_set(&err)) {
714 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts pause : Get arguments error (%s)\n", err.message);
715 dbus_error_free(&err);
716 result = TTS_ERROR_OPERATION_FAILED;
718 dbus_message_unref(result_msg);
720 SLOG(LOG_ERROR, TAG_TTSC, "<<<< Result message is NULL ");
724 SLOG(LOG_DEBUG, TAG_TTSC, "<<<< tts pause : result(%d) \n", result);
726 SLOG(LOG_ERROR, TAG_TTSC, "<<<< tts pause : result(%d) \n", result);
729 dbus_message_unref(msg);