Merge "Add codes in client side to set/unset callback for retrieving sythesized pcm...
[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 #define TTS_SERVER_ENGINE_DEFAULT "org.tizen.tts-engine-default"
30
31 #define TTS_CLIENT_SERVICE_NAME         "org.tizen.tts"
32 #define TTS_CLIENT_SERVICE_OBJECT_PATH  "/org/tizen/tts"
33 #define TTS_CLIENT_SERVICE_INTERFACE    "org.tizen.tts"
34
35 #define TTS_SERVER_SERVICE_NAME         "org.tizen.voice.ttsserver"
36 #define TTS_SERVER_SERVICE_OBJECT_PATH  "/org/tizen/voice/ttsserver"
37 #define TTS_SERVER_SERVICE_INTERFACE    "org.tizen.voice.ttsserver"
38
39 #define TTS_NOTI_SERVER_SERVICE_NAME            "org.tizen.voice.ttsnotiserver"
40 #define TTS_NOTI_SERVER_SERVICE_OBJECT_PATH     "/org/tizen/voice/ttsnotiserver"
41 #define TTS_NOTI_SERVER_SERVICE_INTERFACE       "org.tizen.voice.ttsnotiserver"
42 //#define TTS_NOTI_SERVER_MODE                "-noti"
43
44 #define TTS_SR_SERVER_SERVICE_NAME              "org.tizen.voice.ttssrserver"
45 #define TTS_SR_SERVER_SERVICE_OBJECT_PATH       "/org/tizen/voice/ttssrserver"
46 #define TTS_SR_SERVER_SERVICE_INTERFACE         "org.tizen.voice.ttssrserver"
47 //#define TTS_SR_SERVER_MODE                  "-sr"
48
49 #define TTS_INTERRUPT_SERVER_SERVICE_NAME               "org.tizen.voice.ttsinterruptserver"
50 #define TTS_INTERRUPT_SERVER_SERVICE_OBJECT_PATH        "/org/tizen/voice/ttsinterruptserver"
51 #define TTS_INTERRUPT_SERVER_SERVICE_INTERFACE          "org.tizen.voice.ttsinterruptserver"
52 #define TTS_INTERRUPT_SERVER_MODE                   "-interrupt"
53
54 /******************************************************************************************
55 * Message Definition for APIs
56 *******************************************************************************************/
57 #define TTS_BUNDLE_METHOD "method"
58 #define TTS_BUNDLE_MESSAGE "message"
59 #define TTS_BUNDLE_UTTID "uttid"
60 #define TTS_BUNDLE_REASON "reason"
61 #define TTS_BUNDLE_ERR_MSG "err_msg"
62 #define TTS_BUNDLE_CREDENTIAL_NEEDED "credential_needed"
63 #define TTS_BUNDLE_BEFORE_STATE "before_state"
64 #define TTS_BUNDLE_CURRENT_STATE "current_state"
65
66 #define TTS_METHOD_HELLO                "tts_method_hello"
67 #define TTS_METHOD_HELLO_SYNC       "tts_method_hello_sync"
68 #define TTS_METHOD_INITIALIZE           "tts_method_initialize"
69 #define TTS_METHOD_FINALIZE             "tts_method_finalilze"
70 #define TTS_METHOD_GET_SUPPORT_VOICES   "tts_method_get_support_voices"
71 #define TTS_METHOD_GET_CURRENT_VOICE    "tts_method_get_current_voice"
72 #define TTS_METHOD_ADD_TEXT             "tts_method_add_text"
73 #define TTS_METHOD_PLAY                 "tts_method_play"
74 #define TTS_METHOD_STOP                 "tts_method_stop"
75 #define TTS_METHOD_PAUSE                "tts_method_pause"
76 #define TTS_METHOD_PLAY_PCM             "tts_method_play_pcm"
77 #define TTS_METHOD_STOP_PCM             "tts_method_stop_pcm"
78 #define TTS_METHOD_ADD_PCM              "tts_method_add_pcm"
79 #define TTS_METHOD_GET_SERVICE_STATE            "tts_method_get_service_state"
80
81 #define TTS_METHOD_SET_PRIVATE_DATA     "tts_method_set_private_data"
82 #define TTS_METHOD_GET_PRIVATE_DATA     "tts_method_get_private_data"
83 #define TTS_METHOD_SET_CREDENTIAL       "tts_method_set_credential"
84
85 #define TTSD_METHOD_HELLO               "ttsd_method_hello"
86 #define TTSD_METHOD_UTTERANCE_STARTED   "ttsd_method_utterance_started"
87 #define TTSD_METHOD_UTTERANCE_COMPLETED "ttsd_method_utterance_completed"
88 #define TTSD_METHOD_ERROR               "ttsd_method_error"
89 #define TTSD_METHOD_SET_STATE           "ttsd_method_set_state"
90 #define TTSD_METHOD_SET_SERVICE_STATE           "ttsd_method_set_service_state"
91
92
93 /******************************************************************************************
94 * Defines for configuration
95 *******************************************************************************************/
96
97 #define TTS_CONFIG_BASE                 tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice")
98 #define TTS_CONFIG                      tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice/tts-config.xml")
99 #define TTS_DEFAULT_CONFIG              tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/tts-config.xml")
100
101 #define TTS_DEFAULT_ENGINE              tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine")
102 #define TTS_DEFAULT_ENGINE_INFO         tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine-info")
103 #define TTS_DEFAULT_ENGINE_SETTING      tzplatform_mkpath(tzplatform_getid("TZ_SYS_RO_SHARE"), "/voice/tts/1.0/engine-setting")
104
105 #define TTS_HOME                        tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice/tts")
106 #define TTS_DOWNLOAD_BASE               tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "/share/.voice/tts/1.0")
107 #define TTS_DOWNLOAD_ENGINE_INFO        tzplatform_mkpath(tzplatform_getid("TZ_USER_HOME"), "share/.voice/tts/1.0/engine-info")
108
109 #define TTS_BASE_LANGUAGE               "en_US"
110
111 #define TTS_RETRY_COUNT                 7
112 #define TTS_RETRY_MIN_COUNT             2
113 #define TTS_CONNECTION_RETRY_COUNT      10
114 #define TTS_HELLO_RETRY_COUNT   40 // 500 ms * 40 = 20 sec
115
116 #define TTS_SPEED_MIN           1
117 #define TTS_SPEED_NORMAL        8
118 #define TTS_SPEED_MAX           15
119
120 #define TTS_PITCH_MIN           1
121 #define TTS_PITCH_NORMAL        8
122 #define TTS_PITCH_MAX           15
123
124 #define TTS_FEATURE_PATH        "tizen.org/feature/speech.synthesis"
125
126 #define TTS_ERROR_ALREADY_INITIALIZED   -999
127 #define TTS_CREDENTIAL_NEEDED_ALREADY_INITIALIZED       -1
128
129 #define TTS_ENGINE_APPID_LEN 256
130 #define TTS_INVALID_UID 0
131
132 /******************************************************************************************
133 * Defines for vconf key
134 *******************************************************************************************/
135
136 #define TTS_ACCESSIBILITY_KEY           VCONFKEY_SETAPPL_ACCESSIBILITY_TTS
137
138 #define TTS_LANGSET_KEY                 VCONFKEY_LANGSET
139
140 #define TTS_ENGINE_DB_DEFAULT       "db/voice/tts/engine/default"
141
142 #define TTS_PLAYING_STATUS_KEY "memory/tts/engine/voice-guide-playing"
143
144
145 /******************************************************************************************
146 * Defines for log tag
147 *******************************************************************************************/
148 #define TAG_TTSC "ttsc"
149 #define TAG_TTSCONFIG   "ttsconfig"
150
151
152 /******************************************************************************************
153 * Enumeration for registered callbacks
154 *******************************************************************************************/
155 typedef enum {
156         TTS_EVENT_MASK_STATE_CHANGED = (0x01 << 0), /**< State changed event */
157         TTS_EVENT_MASK_UTTERANCE_STARTED = (0x01 << 1), /**< Utterance changed event */
158         TTS_EVENT_MASK_UTTERANCE_COMPLETED = (0x01 << 2), /**< Utterance completed event */
159         TTS_EVENT_MASK_ERROR = (0x01 << 3), /**< Error event */
160         TTS_EVENT_MASK_DEFAULT_VOICE_CHANGED = (0x01 << 4), /**< Default voice changed event */
161         TTS_EVENT_MASK_ENGINE_CHANGED = (0x01 << 5), /**< Engine changed event */
162         TTS_EVENT_MASK_SCREEN_READER_CHANGED = (0x01 << 6), /**< Screen reader changed event */
163         TTS_EVENT_MASK_SERVICE_STATE_CHANGED = (0x01 << 7), /**< Service state changed event */
164 } tts_event_mask_e;
165
166
167 #ifdef __cplusplus
168 }
169 #endif
170
171 #endif  /* _TTS_DEFS_H__ */