Merge "add sound focus state watch callback" into tizen
[platform/core/uifw/stt.git] / server / sttd_server.c
index a4f4e32..f364cf3 100755 (executable)
 #include "sttd_recorder.h"
 #include "sttd_server.h"
 
+
+#define CLIENT_CLEAN_UP_TIME 500
+
+
 static pthread_mutex_t stte_result_mutex = PTHREAD_MUTEX_INITIALIZER;
 static pthread_mutex_t stte_result_time_mutex = PTHREAD_MUTEX_INITIALIZER;
 
@@ -35,6 +39,7 @@ static double g_processing_timeout = 30;
 
 static double g_recording_timeout = 60;
 
+static Ecore_Timer* g_check_client_timer = NULL;
 Ecore_Timer*   g_recording_timer = NULL;
 Ecore_Timer*   g_processing_timer = NULL;
 
@@ -375,6 +380,7 @@ void __sttd_server_engine_changed_cb(const char* engine_id, const char* language
                SLOG(LOG_DEBUG, TAG_STTD, "[Server] New default engine : %s", engine_id);
        }
 
+#if 0
        /* need to change state of app to ready */
        int uid;
        uid = stt_client_get_current_recognition();
@@ -402,6 +408,7 @@ void __sttd_server_engine_changed_cb(const char* engine_id, const char* language
        ret = sttd_engine_agent_set_silence_detection(support_silence);
        if (0 != ret)
                SLOG(LOG_ERROR, TAG_STTD, "[Server ERROR] Fail to Result(%d)", ret);
+#endif
 
        return;
 }
@@ -475,6 +482,11 @@ int sttd_initialize(stte_request_callback_s *callback)
                return ret;
        }
 
+       g_check_client_timer = ecore_timer_add(CLIENT_CLEAN_UP_TIME, sttd_cleanup_client, NULL);
+       if (NULL == g_check_client_timer) {
+               SLOG(LOG_WARN, TAG_STTD, "[Main Warning] Fail to create timer of client check");
+       }
+
        SLOG(LOG_DEBUG, TAG_STTD, "[Server SUCCESS] initialize");
 
        return 0;
@@ -505,6 +517,13 @@ int sttd_finalize()
 
        sttd_engine_agent_release();
 
+       if (NULL != g_check_client_timer) {
+               ecore_timer_del(g_check_client_timer);
+               g_check_client_timer = NULL;
+
+               SLOG(LOG_INFO, TAG_STTD, "[INFO] Delete ecore timer handle");
+       }
+
        return STTD_ERROR_NONE;
 }