Add a new TTS Interrupt mode
[platform/core/uifw/tts.git] / client / tts_dbus.c
index e7dc689..f922798 100644 (file)
@@ -21,7 +21,7 @@
 #include "tts_dbus.h"
 #include "tts_defs.h"
 #include "tts_main.h"
-
+#include "tts_internal.h"
 
 #define HELLO_WAITING_TIME 500
 #define WAITING_TIME 5000
@@ -315,6 +315,12 @@ DBusMessage* __tts_dbus_make_message(int uid, const char* method)
                        TTS_SR_SERVER_SERVICE_OBJECT_PATH, 
                        TTS_SR_SERVER_SERVICE_INTERFACE, 
                        method);
+       } else if (TTS_MODE_INTERRUPT == client->mode) {
+               msg = dbus_message_new_method_call(
+                       TTS_INTERRUPT_SERVER_SERVICE_NAME, 
+                       TTS_INTERRUPT_SERVER_SERVICE_OBJECT_PATH, 
+                       TTS_INTERRUPT_SERVER_SERVICE_INTERFACE, 
+                       method);
        } else {
                SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Input mode is not available");
                return NULL;
@@ -430,6 +436,8 @@ int tts_dbus_request_initialize(int uid, bool* credential_needed)
                                        snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_NOTI_SERVER_SERVICE_INTERFACE);
                                } else if (TTS_MODE_SCREEN_READER == client->mode) {
                                        snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_SR_SERVER_SERVICE_INTERFACE);
+                               } else if (TTS_MODE_INTERRUPT == client->mode) {
+                                       snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_INTERRUPT_SERVER_SERVICE_INTERFACE);
                                }
                                dbus_bus_add_match(g_conn_listener, rule_err, &err);
                                dbus_connection_flush(g_conn_listener);
@@ -474,6 +482,8 @@ int tts_dbus_request_finalize(int uid)
                snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_NOTI_SERVER_SERVICE_INTERFACE);
        } else if (TTS_MODE_SCREEN_READER == client->mode) {
                snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_SR_SERVER_SERVICE_INTERFACE);
+       } else if (TTS_MODE_INTERRUPT == client->mode) {
+               snprintf(rule_err, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", TTS_INTERRUPT_SERVER_SERVICE_INTERFACE);
        }
        dbus_bus_remove_match(g_conn_listener, rule_err, &err);
        dbus_connection_flush(g_conn_listener);