Implement behavior of new APIs
[platform/core/uifw/tts.git] / server / ttsd_engine_agent.c
index 37046ac..eed66c6 100644 (file)
@@ -189,6 +189,7 @@ static int __set_engine_callback(ttse_request_callback_s* callback, ttsengine_in
 
        engine_info->callbacks->private_data_set = NULL;
        engine_info->callbacks->private_data_requested = NULL;
+       engine_info->callbacks->activated_mode_changed = NULL;
 
        SLOG(LOG_DEBUG, tts_tag(), "--- Valid Engine ---");
        SLOG(LOG_DEBUG, tts_tag(), "Engine uuid : %s", engine_info->engine_uuid);
@@ -1154,6 +1155,23 @@ int ttsd_engine_check_app_agreed(const char* appid, bool* is_agreed)
        return ret;
 }
 
+int ttsd_engine_notify_activated_mode_changed(int activated_mode)
+{
+       if (false == __is_agent_initialized()) {
+               SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] Not Initialized");
+               return TTSD_ERROR_INVALID_STATE;
+       }
+
+       if (NULL == g_engine_info->callbacks->activated_mode_changed) {
+               SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] Not supported feature");
+               return TTSD_ERROR_NOT_SUPPORTED_FEATURE;
+       }
+
+       g_engine_info->callbacks->activated_mode_changed(activated_mode);
+
+       return TTSD_ERROR_NONE;
+}
+
 void __free_voice_list(GList* voice_list)
 {
        GList *iter = NULL;
@@ -1249,3 +1267,15 @@ int ttsd_engine_agent_set_private_data_requested_cb(ttse_private_data_requested_
 
        return TTSD_ERROR_NONE;
 }
+
+int ttsd_engine_agent_set_activated_mode_changed_cb(ttse_activated_mode_changed_cb callback)
+{
+       if (false == __is_agent_initialized()) {
+               SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] Not Initialized");
+               return TTSD_ERROR_INVALID_STATE;
+       }
+
+       g_engine_info->callbacks->activated_mode_changed = callback;
+
+       return TTSD_ERROR_NONE;
+}