2 * Copyright (c) 2011-2018 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #ifndef __VOICE_CONTROL_MANAGER_INTERNAL_H__
19 #define __VOICE_CONTROL_MANAGER_INTERNAL_H__
21 #include <voice_control_command.h>
22 #include <voice_control_command_expand.h>
23 #include <voice_control_common.h>
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;
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;
44 VC_SYSTEM_VOLUME_EVENT_CHANGE_FOR_NEARFIELD,
45 VC_SYSTEM_VOLUME_EVENT_CHANGE_FOR_FARFIELD
46 } vc_system_volume_event_e;
48 #define VC_SERVICE_STATE_UPDATING 5 /**< 'Updating' state */
51 * @brief Sets demandable client list.
53 * @param[in] rule demandable client list rule path
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
63 * @pre The state should be #VC_STATE_READY.
65 * @see vc_mgr_get_demandable_client_rule()
67 int vc_mgr_set_demandable_client_rule(const char* rule);
70 * @brief Gets demandable client list.
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
78 * @pre The state should be #VC_STATE_READY.
80 * @see vc_mgr_set_demandable_client_rule()
82 int vc_mgr_unset_demandable_client_rule(void);
85 * @brief Sets domain such as agent or device type.
88 * @param[in] domain Available agent or device type
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
97 * @pre The service state should be #VC_SERVICE_STATE_READY.
99 int vc_mgr_set_domain(const char* domain);
102 * @brief Sends audio streaming to the engine service.
106 int vc_mgr_send_audio_streaming(vc_audio_streaming_event_e event, char* buffer, unsigned int len);
108 int vc_mgr_set_audio_streaming_mode(vc_audio_streaming_mode_e streaming_mode);
112 * @brief Changes system volume.
116 int vc_mgr_change_system_volume(vc_system_volume_event_e volume_event);
119 * @brief Recover system volume.
123 int vc_mgr_recover_system_volume();
133 #endif /* __VOICE_CONTROL_MANAGER_INTERNAL_H__ */