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 * @brief Sets demandable client list.
46 * @param[in] rule demandable client list rule path
48 * @return 0 on success, otherwise a negative error value
49 * @retval #VC_ERROR_NONE Successful
50 * @retval #VC_ERROR_INVALID_PARAMETER Invalid parameter
51 * @retval #VC_ERROR_INVALID_STATE Invalid state
52 * @retval #VC_ERROR_OPERATION_FAILED Operation failure
53 * @retval #VC_ERROR_PERMISSION_DENIED Permission denied
54 * @retval #VC_ERROR_NOT_SUPPORTED VC not supported
56 * @pre The state should be #VC_STATE_READY.
58 * @see vc_mgr_get_demandable_client_rule()
60 int vc_mgr_set_demandable_client_rule(const char* rule);
63 * @brief Gets demandable client list.
65 * @return 0 on success, otherwise a negative error value
66 * @retval #VC_ERROR_NONE Successful
67 * @retval #VC_ERROR_INVALID_STATE Invalid state
68 * @retval #VC_ERROR_PERMISSION_DENIED Permission denied
69 * @retval #VC_ERROR_NOT_SUPPORTED VC not supported
71 * @pre The state should be #VC_STATE_READY.
73 * @see vc_mgr_set_demandable_client_rule()
75 int vc_mgr_unset_demandable_client_rule(void);
78 * @brief Sets domain such as agent or device type.
81 * @param[in] domain Available agent or device type
83 * @return 0 on success, otherwise a negative error value
84 * @retval #VC_ERROR_NONE Successful
85 * @retval #VC_ERROR_INVALID_PARAMETER Invalid parameter
86 * @retval #VC_ERROR_INVALID_STATE Invalid state
87 * @retval #VC_ERROR_PERMISSION_DENIED Permission denied
88 * @retval #VC_ERROR_NOT_SUPPORTED VC not supported
90 * @pre The service state should be #VC_SERVICE_STATE_READY.
92 int vc_mgr_set_domain(const char* domain);
95 * @brief Sends audio streaming to the engine service.
99 int vc_mgr_send_audio_streaming(vc_audio_streaming_event_e event, unsigned char* buffer, unsigned int len);
101 int vc_mgr_set_audio_streaming_mode(vc_audio_streaming_mode_e streaming_mode);
112 #endif /* __VOICE_CONTROL_MANAGER_INTERNAL_H__ */