NUGU SDK Linux  1.7.6
capability_factory.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 __CAPABILITY_FACTORY_H__
18 #define __CAPABILITY_FACTORY_H__
19 
21 #include <nugu.h>
22 
23 namespace NuguCapability {
24 
25 using namespace NuguClientKit;
26 
42 class NUGU_API ASRAgent;
43 
47 class NUGU_API TTSAgent;
48 
52 class NUGU_API AudioPlayerAgent;
53 
57 class NUGU_API SystemAgent;
58 
62 class NUGU_API TextAgent;
63 
67 class NUGU_API SpeakerAgent;
68 
72 class NUGU_API MicAgent;
73 
77 class NUGU_API SoundAgent;
78 
82 class NUGU_API SessionAgent;
83 
87 class NUGU_API DisplayAgent;
88 
92 class NUGU_API UtilityAgent;
93 
97 class NUGU_API ExtensionAgent;
98 
102 class NUGU_API ChipsAgent;
103 
107 class NUGU_API NudgeAgent;
108 
112 class NUGU_API RoutineAgent;
113 
117 class NUGU_API PhoneCallAgent;
118 
122 class NUGU_API MessageAgent;
123 
127 class NUGU_API BluetoothAgent;
128 
132 class NUGU_API LocationAgent;
133 
137 class NUGU_API BatteryAgent;
138 
142 class NUGU_API CapabilityFactory {
143 public:
144  CapabilityFactory() = delete;
145 
152  template <typename T, typename V>
153  static V* makeCapability(ICapabilityListener* listener = nullptr);
154 };
155 
160 } // NuguCapability
161 
162 #endif /* __CAPABILITY_FACTORY_H__ */
CapabilityFactory.
Definition: capability_factory.hh:142
static V * makeCapability(ICapabilityListener *listener=nullptr)
Create capability agent instance and return related capability handler.
capability listener interface
Definition: capability_interface.hh:60
class NUGU_API MicAgent
MicAgent.
Definition: capability_factory.hh:72
class NUGU_API RoutineAgent
RoutineAgent.
Definition: capability_factory.hh:112
class NUGU_API MessageAgent
MessageAgent.
Definition: capability_factory.hh:122
class NUGU_API BluetoothAgent
BluetoothAgent.
Definition: capability_factory.hh:127
class NUGU_API TextAgent
TextAgent.
Definition: capability_factory.hh:62
class NUGU_API AudioPlayerAgent
AudioPlayerAgent.
Definition: capability_factory.hh:52
class NUGU_API DisplayAgent
DisplayAgent.
Definition: capability_factory.hh:87
class NUGU_API ExtensionAgent
ExtensionAgent.
Definition: capability_factory.hh:97
class NUGU_API PhoneCallAgent
PhoneCallAgent.
Definition: capability_factory.hh:117
class NUGU_API LocationAgent
LocationAgent.
Definition: capability_factory.hh:132
class NUGU_API BatteryAgent
BatteryAgent.
Definition: capability_factory.hh:137
class NUGU_API TTSAgent
TTSAgent.
Definition: capability_factory.hh:47
class NUGU_API ChipsAgent
ChipsAgent.
Definition: capability_factory.hh:102
class NUGU_API SpeakerAgent
SpeakerAgent.
Definition: capability_factory.hh:67
class NUGU_API NudgeAgent
NudgeAgent.
Definition: capability_factory.hh:107
class NUGU_API SystemAgent
SystemAgent.
Definition: capability_factory.hh:57
class NUGU_API ASRAgent
ASRAgent.
Definition: capability_factory.hh:42
class NUGU_API SessionAgent
SessionAgent.
Definition: capability_factory.hh:82
class NUGU_API SoundAgent
SoundAgent.
Definition: capability_factory.hh:77
class NUGU_API UtilityAgent
UtilityAgent.
Definition: capability_factory.hh:92