Fix prevent issue and Merge with master branch
[platform/core/uifw/stt.git] / server / sttd_main.h
1 /*
2 *  Copyright (c) 2012, 2013 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 __STTD_MAIN_H_
16 #define __STTD_MAIN_H_
17
18 #include <stdio.h>
19 #include <stdbool.h>
20 #include <stdlib.h>
21 #include <string.h>
22 #include <unistd.h>
23 #include <glib.h>
24 #include <dlog.h>
25 #include <errno.h>
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 /*
32 * STT Daemon Define
33 */
34
35 #define TAG_STTD "sttd"
36
37 #define BASE_DIRECTORY_DEFAULT                  "/usr/lib/voice/stt/1.0/"
38 #define ENGINE_DIRECTORY_DEFAULT                "/usr/lib/voice/stt/1.0/engine"
39 #define ENGINE_DIRECTORY_DEFAULT_SETTING        "/usr/lib/voice/stt/1.0/setting"
40
41 #define CONFIG_DIRECTORY                        "/opt/home/app/.voice"
42
43 #define ENGINE_DIRECTORY_DOWNLOAD               "/opt/usr/voice/stt/1.0/engine"
44 #define ENGINE_DIRECTORY_DOWNLOAD_SETTING       "/opt/usr/voice/stt/1.0/setting"
45
46 /* for debug message */
47 #define RECORDER_DEBUG
48 #define CLIENT_DATA_DEBUG
49
50 typedef enum {
51         STTD_ERROR_NONE                 = 0,                    /**< Successful */
52         STTD_ERROR_OUT_OF_MEMORY        = -ENOMEM,              /**< Out of Memory */
53         STTD_ERROR_IO_ERROR             = -EIO,                 /**< I/O error */
54         STTD_ERROR_INVALID_PARAMETER    = -EINVAL,              /**< Invalid parameter */
55         STTD_ERROR_TIMED_OUT            = -ETIMEDOUT,           /**< No answer from the daemon */
56         STTD_ERROR_RECORDER_BUSY        = -EBUSY,               /**< Busy recorder */
57         STTD_ERROR_OUT_OF_NETWORK       = -ENETDOWN,            /**< Out of network */
58         STTD_ERROR_INVALID_STATE        = -0x0100000 | 0x31,    /**< Invalid state */
59         STTD_ERROR_INVALID_LANGUAGE     = -0x0100000 | 0x32,    /**< Invalid language */
60         STTD_ERROR_ENGINE_NOT_FOUND     = -0x0100000 | 0x33,    /**< No available engine  */    
61         STTD_ERROR_OPERATION_FAILED     = -0x0100000 | 0x34,    /**< Operation failed  */
62         STTD_ERROR_NOT_SUPPORTED_FEATURE= -0x0100000 | 0x35     /**< Not supported feature of current engine */
63 }stt_error_e;
64
65 typedef struct {
66         char* engine_id;
67         char* engine_name;
68         char* ug_name;
69 }engine_s;
70
71 typedef struct {
72         char* key;
73         char* value;
74 }engine_setting_s;
75
76 #ifdef __cplusplus
77 }
78 #endif
79
80 #endif  /* __STTD_MAIN_H_ */