/*
-* Copyright (c) 2012, 2013 Samsung Electronics Co., Ltd All Rights Reserved
+* Copyright (c) 2011-2016 Samsung Electronics Co., Ltd All Rights Reserved
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
#ifndef _TTS_DEFS_H__
#define _TTS_DEFS_H__
+/* For multi-user support */
+#include <tzplatform_config.h>
+#include <vconf.h>
+
#ifdef __cplusplus
extern "C" {
#endif
* Definition for IPC
*******************************************************************************************/
-#define TTS_CLIENT_SERVICE_NAME "com.samsung.voice.ttsclient"
-#define TTS_CLIENT_SERVICE_OBJECT_PATH "/com/samsung/voice/ttsclient"
-#define TTS_CLIENT_SERVICE_INTERFACE "com.samsung.voice.ttsclient"
+#define TTS_CLIENT_SERVICE_NAME "org.tizen.tts"
+#define TTS_CLIENT_SERVICE_OBJECT_PATH "/org/tizen/tts"
+#define TTS_CLIENT_SERVICE_INTERFACE "org.tizen.tts"
+
+#define TTS_SERVER_SERVICE_NAME "org.tizen.voice.ttsserver"
+#define TTS_SERVER_SERVICE_OBJECT_PATH "/org/tizen/voice/ttsserver"
+#define TTS_SERVER_SERVICE_INTERFACE "org.tizen.voice.ttsserver"
-#define TTS_SETTING_SERVICE_NAME "com.samsung.voice.ttssetting"
-#define TTS_SETTING_SERVICE_OBJECT_PATH "/com/samsung/voice/ttssetting"
-#define TTS_SETTING_SERVICE_INTERFACE "com.samsung.voice.ttssetting"
+#define TTS_NOTI_SERVER_SERVICE_NAME "org.tizen.voice.ttsnotiserver"
+#define TTS_NOTI_SERVER_SERVICE_OBJECT_PATH "/org/tizen/voice/ttsnotiserver"
+#define TTS_NOTI_SERVER_SERVICE_INTERFACE "org.tizen.voice.ttsnotiserver"
-#define TTS_SERVER_SERVICE_NAME "service.connect.ttsserver"
-#define TTS_SERVER_SERVICE_OBJECT_PATH "/com/samsung/voice/ttsserver"
-#define TTS_SERVER_SERVICE_INTERFACE "com.samsung.voice.ttsserver"
+#define TTS_SR_SERVER_SERVICE_NAME "org.tizen.voice.ttssrserver"
+#define TTS_SR_SERVER_SERVICE_OBJECT_PATH "/org/tizen/voice/ttssrserver"
+#define TTS_SR_SERVER_SERVICE_INTERFACE "org.tizen.voice.ttssrserver"
+#define TTS_INTERRUPT_SERVER_SERVICE_NAME "org.tizen.voice.ttsinterruptserver"
+#define TTS_INTERRUPT_SERVER_SERVICE_OBJECT_PATH "/org/tizen/voice/ttsinterruptserver"
+#define TTS_INTERRUPT_SERVER_SERVICE_INTERFACE "org.tizen.voice.ttsinterruptserver"
/******************************************************************************************
* Message Definition for APIs
*******************************************************************************************/
#define TTS_METHOD_HELLO "tts_method_hello"
+#define TTS_METHOD_HELLO_SYNC "tts_method_hello_sync"
#define TTS_METHOD_INITIALIZE "tts_method_initialize"
#define TTS_METHOD_FINALIZE "tts_method_finalilze"
#define TTS_METHOD_GET_SUPPORT_VOICES "tts_method_get_support_voices"
#define TTS_METHOD_PLAY "tts_method_play"
#define TTS_METHOD_STOP "tts_method_stop"
#define TTS_METHOD_PAUSE "tts_method_pause"
+#define TTS_METHOD_PLAY_PCM "tts_method_play_pcm"
+#define TTS_METHOD_STOP_PCM "tts_method_stop_pcm"
+#define TTS_METHOD_ADD_PCM "tts_method_add_pcm"
+
+#define TTS_METHOD_SET_PRIVATE_DATA "tts_method_set_private_data"
+#define TTS_METHOD_GET_PRIVATE_DATA "tts_method_get_private_data"
+#define TTS_METHOD_SET_CREDENTIAL "tts_method_set_credential"
#define TTSD_METHOD_HELLO "ttsd_method_hello"
#define TTSD_METHOD_UTTERANCE_STARTED "ttsd_method_utterance_started"
#define TTSD_METHOD_UTTERANCE_COMPLETED "ttsd_method_utterance_completed"
#define TTSD_METHOD_ERROR "ttsd_method_error"
#define TTSD_METHOD_SET_STATE "ttsd_method_set_state"
-#define TTSD_METHOD_GET_STATE "ttsd_method_get_state"
+
+
+/******************************************************************************************
+* Defines for configuration
+*******************************************************************************************/
+
+#define TTS_CONFIG_BASE tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice")
+#define TTS_CONFIG tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice/tts-config.xml")
+#define TTS_DEFAULT_CONFIG tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/tts-config.xml")
+
+#define TTS_DEFAULT_ENGINE tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine")
+#define TTS_DEFAULT_ENGINE_INFO tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine-info")
+#define TTS_DEFAULT_ENGINE_SETTING tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine-setting")
+
+#define TTS_HOME tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice/tts")
+#define TTS_DOWNLOAD_BASE tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice/tts/1.0")
+#define TTS_DOWNLOAD_ENGINE_INFO tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "share/.voice/tts/1.0/engine-info")
+
+#define TTS_BASE_LANGUAGE "en_US"
+
+#define TTS_RETRY_COUNT 5
+#define TTS_RETRY_MIN_COUNT 2
+#define TTS_CONNECTION_RETRY_COUNT 10
+#define TTS_HELLO_RETRY_COUNT 40 // 500 ms * 40 = 20 sec
+
+#define TTS_SPEED_MIN 1
+#define TTS_SPEED_NORMAL 8
+#define TTS_SPEED_MAX 15
+
+#define TTS_PITCH_MIN 1
+#define TTS_PITCH_NORMAL 8
+#define TTS_PITCH_MAX 15
+
+#define TTS_FEATURE_PATH "tizen.org/feature/speech.synthesis"
+
+/******************************************************************************************
+* Defines for vconf key
+*******************************************************************************************/
+
+#define TTS_ACCESSIBILITY_KEY VCONFKEY_SETAPPL_ACCESSIBILITY_TTS
+
+#define TTS_LANGSET_KEY VCONFKEY_LANGSET
+
+#define TTS_ENGINE_DB_DEFAULT "db/voice/tts/engine/default"
+
/******************************************************************************************
-* Message Definition for Setting
+* Defines for log tag
*******************************************************************************************/
+#define TAG_TTSCONFIG "ttsconfig"
-#define TTS_SETTING_METHOD_HELLO "tts_setting_method_hello"
-#define TTS_SETTING_METHOD_INITIALIZE "tts_setting_method_initialize"
-#define TTS_SETTING_METHOD_FINALIZE "tts_setting_method_finalilze"
-#define TTS_SETTING_METHOD_GET_ENGINE_LIST "tts_setting_method_get_engine_list"
-#define TTS_SETTING_METHOD_GET_ENGINE "tts_setting_method_get_engine"
-#define TTS_SETTING_METHOD_SET_ENGINE "tts_setting_method_set_engine"
-#define TTS_SETTING_METHOD_GET_VOICE_LIST "tts_setting_method_get_voice_list"
-#define TTS_SETTING_METHOD_GET_DEFAULT_VOICE "tts_setting_method_get_voice"
-#define TTS_SETTING_METHOD_SET_DEFAULT_VOICE "tts_setting_method_set_voice"
-#define TTS_SETTING_METHOD_GET_DEFAULT_SPEED "tts_setting_method_get_speed"
-#define TTS_SETTING_METHOD_SET_DEFAULT_SPEED "tts_setting_method_set_speed"
-#define TTS_SETTING_METHOD_GET_ENGINE_SETTING "tts_setting_method_get_engine_setting"
-#define TTS_SETTING_METHOD_SET_ENGINE_SETTING "tts_setting_method_set_engine_setting"
#ifdef __cplusplus
}