NUGU SDK Linux  1.7.6
capability_helper_interface.hh
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019 SK Telecom 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 #ifndef __NUGU_CAPABILITY_HELPER_INTERFACE_H__
18 #define __NUGU_CAPABILITY_HELPER_INTERFACE_H__
19 
20 #include <list>
21 #include <njson/njson.h>
22 
23 #include <base/nugu_event.h>
30 #include <nugu.h>
31 
32 namespace NuguClientKit {
47 class NUGU_API ICapabilityHelper {
48 public:
49  virtual ~ICapabilityHelper() = default;
50 
56 
62 
68 
74 
80 
86 
91  virtual bool setMute(bool mute) = 0;
92 
103  virtual bool sendCommand(const std::string& from, const std::string& to, const std::string& command, const std::string& param) = 0;
104 
109  virtual void requestEventResult(NuguEvent* event) = 0;
110 
114  virtual void suspendAll() = 0;
115 
119  virtual void restoreAll() = 0;
120 
124  virtual std::string getWakeupWord() = 0;
125 
135  virtual bool getCapabilityProperty(const std::string& cap, const std::string& property, std::string& value) = 0;
136 
146  virtual bool getCapabilityProperties(const std::string& cap, const std::string& property, std::list<std::string>& values) = 0;
147 
153  virtual std::string makeContextInfo(const std::string& cname, NJson::Value& ctx) = 0;
154 
158  virtual std::string makeAllContextInfo() = 0;
159 };
160 
165 } // NuguClientKit
166 
167 #endif /* __NUGU_CAPABILITY_HELPER_INTERFACE_H__ */
CapabilityHelper interface.
Definition: capability_helper_interface.hh:47
virtual bool setMute(bool mute)=0
Set Audio Recorder mute/unmute.
virtual bool getCapabilityProperties(const std::string &cap, const std::string &property, std::list< std::string > &values)=0
Get properties from CapabilityAgent.
virtual std::string makeContextInfo(const std::string &cname, NJson::Value &ctx)=0
Get context info.
virtual void restoreAll()=0
Restore previous suspended capability action.
virtual void suspendAll()=0
Suspend all current capability action.
virtual ISessionManager * getSessionManager()=0
Get ISessionManager instance.
virtual IRoutineManager * getRoutineManager()=0
Get IRoutineManager instance.
virtual bool sendCommand(const std::string &from, const std::string &to, const std::string &command, const std::string &param)=0
Send command between CapabilityAgents.
virtual IFocusManager * getFocusManager()=0
Get IFocusManager instance.
virtual std::string getWakeupWord()=0
Get wakeup keyword for detection.
virtual IPlaySyncManager * getPlaySyncManager()=0
Get IPlaySyncManager instance.
virtual IInteractionControlManager * getInteractionControlManager()=0
Get IInteractionControlManager instance.
virtual std::string makeAllContextInfo()=0
Get context info from All CapabilityAgents.
virtual bool getCapabilityProperty(const std::string &cap, const std::string &property, std::string &value)=0
Get property from CapabilityAgent.
virtual IDirectiveSequencer * getDirectiveSequencer()=0
Get IDirectiveSequencer instance.
virtual void requestEventResult(NuguEvent *event)=0
Request to send event result via CapabilityManager.
IDirectiveSequencer.
Definition: directive_sequencer_interface.hh:94
IFocusManager.
Definition: focus_manager_interface.hh:128
InteractionControlManager interface.
Definition: interaction_control_manager_interface.hh:69
IPlaySyncManager interface.
Definition: playsync_manager_interface.hh:96
IRoutineManager interface.
Definition: routine_manager_interface.hh:76
SessionManager interface.
Definition: session_manager_interface.hh:73
struct _nugu_event NuguEvent
Event object.
Definition: nugu_event.h:59