Merge "Cleanup VC-manager internal functions" into tizen
[platform/core/uifw/voice-control.git] / include / voice_control_manager_internal.h
1 /*
2  * Copyright (c) 2011-2018 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 #ifndef __VOICE_CONTROL_MANAGER_INTERNAL_H__
19 #define __VOICE_CONTROL_MANAGER_INTERNAL_H__
20
21 #include <voice_control_command.h>
22 #include <voice_control_command_expand.h>
23 #include <voice_control_common.h>
24
25 #ifdef __cplusplus
26 extern "C"
27 {
28 #endif
29
30 typedef enum {
31         VC_AUDIO_STREAMING_EVENT_FAIL = -1,             /**< Failed */
32         VC_AUDIO_STREAMING_EVENT_START = 1,             /**< Start event */
33         VC_AUDIO_STREAMING_EVENT_CONTINUE = 2,  /**< Continue event */
34         VC_AUDIO_STREAMING_EVENT_FINISH = 3             /**< Finish event */
35 } vc_audio_streaming_event_e;
36
37 typedef enum {
38         VC_AUDIO_STREAMING_MODE_VC_SERVICE = 0,                 /**< Use audio recording from vc service */
39         VC_AUDIO_STREAMING_MODE_MULTI_ASSISTANT = 1,    /**< Use audio streaming from multi-assistant */
40         VC_AUDIO_STREAMING_MODE_OUTSIDE = 2,                    /**< Use audio streaming from outside */
41 } vc_audio_streaming_mode_e;
42
43 typedef enum {
44         VC_SYSTEM_VOLUME_EVENT_CHANGE_FOR_NEARFIELD,
45         VC_SYSTEM_VOLUME_EVENT_CHANGE_FOR_FARFIELD
46 } vc_system_volume_event_e;
47
48 #define VC_SERVICE_STATE_UPDATING 5 /**< 'Updating' state */
49
50 /**
51  * @brief Sets demandable client list.
52  *
53  * @param[in] rule demandable client list rule path
54  *
55  * @return 0 on success, otherwise a negative error value
56  * @retval #VC_ERROR_NONE                Successful
57  * @retval #VC_ERROR_INVALID_PARAMETER   Invalid parameter
58  * @retval #VC_ERROR_INVALID_STATE       Invalid state
59  * @retval #VC_ERROR_OPERATION_FAILED    Operation failure
60  * @retval #VC_ERROR_PERMISSION_DENIED   Permission denied
61  * @retval #VC_ERROR_NOT_SUPPORTED       VC not supported
62  *
63  * @pre The state should be #VC_STATE_READY.
64  *
65  * @see vc_mgr_get_demandable_client_rule()
66  */
67 int vc_mgr_set_demandable_client_rule(const char* rule);
68
69 /**
70  * @brief Gets demandable client list.
71  *
72  * @return 0 on success, otherwise a negative error value
73  * @retval #VC_ERROR_NONE                Successful
74  * @retval #VC_ERROR_INVALID_STATE       Invalid state
75  * @retval #VC_ERROR_PERMISSION_DENIED   Permission denied
76  * @retval #VC_ERROR_NOT_SUPPORTED       VC not supported
77  *
78  * @pre The state should be #VC_STATE_READY.
79  *
80  * @see vc_mgr_set_demandable_client_rule()
81  */
82 int vc_mgr_unset_demandable_client_rule(void);
83
84 /**
85  * @brief Sets domain such as agent or device type.
86  * @since_tizen 5.0
87  *
88  * @param[in] domain Available agent or device type
89  *
90  * @return 0 on success, otherwise a negative error value
91  * @retval #VC_ERROR_NONE                Successful
92  * @retval #VC_ERROR_INVALID_PARAMETER   Invalid parameter
93  * @retval #VC_ERROR_INVALID_STATE       Invalid state
94  * @retval #VC_ERROR_PERMISSION_DENIED   Permission denied
95  * @retval #VC_ERROR_NOT_SUPPORTED       VC not supported
96  *
97  * @pre The service state should be #VC_SERVICE_STATE_READY.
98  */
99 int vc_mgr_set_domain(const char* domain);
100
101 /**
102  * @brief Sends audio streaming to the engine service.
103  * @since_tizen 5.0
104  *
105  */
106 int vc_mgr_send_audio_streaming(vc_audio_streaming_event_e event, char* buffer, unsigned int len);
107
108 int vc_mgr_set_audio_streaming_mode(vc_audio_streaming_mode_e streaming_mode);
109
110
111 /**
112  * @brief Changes system volume.
113  * @since_tizen 5.0
114  *
115  */
116 int vc_mgr_change_system_volume(vc_system_volume_event_e volume_event);
117
118 /**
119  * @brief Recover system volume.
120  * @since_tizen 5.0
121  *
122  */
123 int vc_mgr_recover_system_volume();
124
125 #ifdef __cplusplus
126 }
127 #endif
128
129 /**
130  * @}
131  */
132
133 #endif /* __VOICE_CONTROL_MANAGER_INTERNAL_H__ */
134