Update hello protocol
[platform/core/uifw/tts.git] / server / ttsd_dbus_server.c
index e750048..428fd6a 100644 (file)
@@ -26,6 +26,37 @@ int ttsd_dbus_server_hello(DBusConnection* conn, DBusMessage* msg)
 {
        SLOG(LOG_DEBUG, tts_tag(), ">>>>> TTS Hello");
 
+       DBusError err;
+       dbus_error_init(&err);
+
+       int pid;
+       int uid;
+       dbus_message_get_args(msg, &err, DBUS_TYPE_INT32, &pid, DBUS_TYPE_INT32, &uid, DBUS_TYPE_INVALID);
+
+       if (dbus_error_is_set(&err)) {
+               SLOG(LOG_ERROR, tts_tag(), "[IN ERROR] ttsd Hello : get arguments error (%s)", err.message);
+               dbus_error_free(&err);
+       } else {
+               SLOG(LOG_INFO, tts_tag(), "[IN] ttsd hello : pid(%d), uid(%d)", pid, uid);
+               bool is_initialized = false;
+               ttsd_server_is_already_initialized(pid, uid, &is_initialized);
+               if (false == is_initialized) {
+                       bool credential_needed = 0;
+                       int ret =  ttsd_server_initialize(pid, uid, &credential_needed);
+                       if (0 != ret) {
+                               SLOG(LOG_ERROR, tts_tag(), "[IN ERROR] ttsd Hello : server initialize, ret(%d)", ret);
+                       }
+                       ttsdc_send_hello(pid, uid, ret, (int)credential_needed);
+               }
+       }
+
+       return 0;
+}
+
+int ttsd_dbus_server_hello_sync(DBusConnection* conn, DBusMessage* msg)
+{
+       SLOG(LOG_DEBUG, tts_tag(), ">>>>> TTS Hello");
+
        DBusMessage* reply;
        reply = dbus_message_new_method_return(msg);