Add timer to stop sending hello message
[platform/core/uifw/tts.git] / common / tts_defs.h
1 /*
2 *  Copyright (c) 2011-2016 Samsung Electronics Co., Ltd All Rights Reserved 
3 *  Licensed under the Apache License, Version 2.0 (the "License");
4 *  you may not use this file except in compliance with the License.
5 *  You may obtain a copy of the License at
6 *  http://www.apache.org/licenses/LICENSE-2.0
7 *  Unless required by applicable law or agreed to in writing, software
8 *  distributed under the License is distributed on an "AS IS" BASIS,
9 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10 *  See the License for the specific language governing permissions and
11 *  limitations under the License.
12 */
13
14
15 #ifndef _TTS_DEFS_H__
16 #define _TTS_DEFS_H__
17
18 /* For multi-user support */
19 #include <tzplatform_config.h>
20 #include <vconf.h>
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 /******************************************************************************************
27 * Definition for IPC
28 *******************************************************************************************/
29
30 #define TTS_CLIENT_SERVICE_NAME         "org.tizen.tts"
31 #define TTS_CLIENT_SERVICE_OBJECT_PATH  "/org/tizen/tts"
32 #define TTS_CLIENT_SERVICE_INTERFACE    "org.tizen.tts"
33
34 #define TTS_SERVER_SERVICE_NAME         "org.tizen.voice.ttsserver"
35 #define TTS_SERVER_SERVICE_OBJECT_PATH  "/org/tizen/voice/ttsserver"
36 #define TTS_SERVER_SERVICE_INTERFACE    "org.tizen.voice.ttsserver"
37
38 #define TTS_NOTI_SERVER_SERVICE_NAME            "org.tizen.voice.ttsnotiserver"
39 #define TTS_NOTI_SERVER_SERVICE_OBJECT_PATH     "/org/tizen/voice/ttsnotiserver"
40 #define TTS_NOTI_SERVER_SERVICE_INTERFACE       "org.tizen.voice.ttsnotiserver"
41
42 #define TTS_SR_SERVER_SERVICE_NAME              "org.tizen.voice.ttssrserver"
43 #define TTS_SR_SERVER_SERVICE_OBJECT_PATH       "/org/tizen/voice/ttssrserver"
44 #define TTS_SR_SERVER_SERVICE_INTERFACE         "org.tizen.voice.ttssrserver"
45
46 #define TTS_INTERRUPT_SERVER_SERVICE_NAME               "org.tizen.voice.ttsinterruptserver"
47 #define TTS_INTERRUPT_SERVER_SERVICE_OBJECT_PATH        "/org/tizen/voice/ttsinterruptserver"
48 #define TTS_INTERRUPT_SERVER_SERVICE_INTERFACE          "org.tizen.voice.ttsinterruptserver"
49
50 /******************************************************************************************
51 * Message Definition for APIs
52 *******************************************************************************************/
53
54 #define TTS_METHOD_HELLO                "tts_method_hello"
55 #define TTS_METHOD_HELLO_SYNC       "tts_method_hello_sync"
56 #define TTS_METHOD_INITIALIZE           "tts_method_initialize"
57 #define TTS_METHOD_FINALIZE             "tts_method_finalilze"
58 #define TTS_METHOD_GET_SUPPORT_VOICES   "tts_method_get_support_voices"
59 #define TTS_METHOD_GET_CURRENT_VOICE    "tts_method_get_current_voice"
60 #define TTS_METHOD_ADD_QUEUE            "tts_method_add_queue"
61 #define TTS_METHOD_PLAY                 "tts_method_play"
62 #define TTS_METHOD_STOP                 "tts_method_stop"
63 #define TTS_METHOD_PAUSE                "tts_method_pause"
64 #define TTS_METHOD_PLAY_PCM             "tts_method_play_pcm"
65 #define TTS_METHOD_STOP_PCM             "tts_method_stop_pcm"
66 #define TTS_METHOD_ADD_PCM              "tts_method_add_pcm"
67
68 #define TTS_METHOD_SET_PRIVATE_DATA     "tts_method_set_private_data"
69 #define TTS_METHOD_GET_PRIVATE_DATA     "tts_method_get_private_data"
70 #define TTS_METHOD_SET_CREDENTIAL       "tts_method_set_credential"
71
72 #define TTSD_METHOD_HELLO               "ttsd_method_hello"
73 #define TTSD_METHOD_UTTERANCE_STARTED   "ttsd_method_utterance_started"
74 #define TTSD_METHOD_UTTERANCE_COMPLETED "ttsd_method_utterance_completed"
75 #define TTSD_METHOD_ERROR               "ttsd_method_error"
76 #define TTSD_METHOD_SET_STATE           "ttsd_method_set_state"
77
78
79 /******************************************************************************************
80 * Defines for configuration
81 *******************************************************************************************/
82
83 #define TTS_CONFIG_BASE                 tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice")
84 #define TTS_CONFIG                      tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice/tts-config.xml")
85 #define TTS_DEFAULT_CONFIG              tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/tts-config.xml")
86
87 #define TTS_DEFAULT_ENGINE              tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine")
88 #define TTS_DEFAULT_ENGINE_INFO         tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine-info")
89 #define TTS_DEFAULT_ENGINE_SETTING      tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine-setting")
90
91 #define TTS_HOME                        tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice/tts")
92 #define TTS_DOWNLOAD_BASE               tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice/tts/1.0")
93 #define TTS_DOWNLOAD_ENGINE_INFO        tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "share/.voice/tts/1.0/engine-info")
94
95 #define TTS_BASE_LANGUAGE               "en_US"
96
97 #define TTS_RETRY_COUNT                 5
98 #define TTS_RETRY_MIN_COUNT             2
99 #define TTS_CONNECTION_RETRY_COUNT      10
100 #define TTS_HELLO_RETRY_COUNT   40 // 500 ms * 40 = 20 sec
101
102 #define TTS_SPEED_MIN           1
103 #define TTS_SPEED_NORMAL        8
104 #define TTS_SPEED_MAX           15
105
106 #define TTS_PITCH_MIN           1
107 #define TTS_PITCH_NORMAL        8
108 #define TTS_PITCH_MAX           15
109
110 #define TTS_FEATURE_PATH        "tizen.org/feature/speech.synthesis"
111
112 /******************************************************************************************
113 * Defines for vconf key
114 *******************************************************************************************/
115
116 #define TTS_ACCESSIBILITY_KEY           VCONFKEY_SETAPPL_ACCESSIBILITY_TTS
117
118 #define TTS_LANGSET_KEY                 VCONFKEY_LANGSET
119
120 #define TTS_ENGINE_DB_DEFAULT       "db/voice/tts/engine/default"
121
122
123 /******************************************************************************************
124 * Defines for log tag
125 *******************************************************************************************/
126 #define TAG_TTSCONFIG   "ttsconfig"
127
128
129 #ifdef __cplusplus
130 }
131 #endif
132
133 #endif  /* _TTS_DEFS_H__ */