AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
ExternalCapabilitiesBuilderInterface.h
Go to the documentation of this file.
1 /*
2  * Copyright Amazon.com, Inc. or its affiliates. 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  * A copy of the License is located at
7  *
8  * http://aws.amazon.com/apache2.0/
9  *
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */
15 
16 #ifndef ALEXA_CLIENT_SDK_APPLICATIONUTILITIES_DEFAULTCLIENT_INCLUDE_DEFAULTCLIENT_EXTERNALCAPABILITIESBUILDERINTERFACE_H_
17 #define ALEXA_CLIENT_SDK_APPLICATIONUTILITIES_DEFAULTCLIENT_INCLUDE_DEFAULTCLIENT_EXTERNALCAPABILITIESBUILDERINTERFACE_H_
18 
19 #include <list>
20 #include <utility>
21 
50 
51 namespace alexaClientSDK {
52 namespace defaultClient {
63 public:
67  struct Capability {
71 
73  std::shared_ptr<avsCommon::sdkInterfaces::DirectiveHandlerInterface> directiveHandler;
74  };
75 
79  virtual ~ExternalCapabilitiesBuilderInterface() = default;
80 
89  std::shared_ptr<settings::storage::DeviceSettingStorageInterface> settingStorage) = 0;
90 
99  std::shared_ptr<templateRuntimeInterfaces::TemplateRuntimeInterface> templateRuntime) = 0;
100 
106  virtual std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::CallManagerInterface> getCallManager() = 0;
107 
114  std::shared_ptr<avsCommon::sdkInterfaces::InternetConnectionMonitorInterface> internetConnectionMonitor) = 0;
115 
122  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::AlexaInterfaceMessageSenderInterface>
123  alexaMessageSender) = 0;
124 
131  std::shared_ptr<avsCommon::avs::DialogUXStateAggregator> dialogUXStateAggregator) = 0;
132 
166  virtual std::pair<std::list<Capability>, std::list<std::shared_ptr<avsCommon::utils::RequiresShutdown>>>
168  std::shared_ptr<acsdkExternalMediaPlayer::ExternalMediaPlayer> externalMediaPlayer,
169  std::shared_ptr<avsCommon::sdkInterfaces::AVSConnectionManagerInterface> connectionManager,
170  std::shared_ptr<avsCommon::sdkInterfaces::MessageSenderInterface> messageSender,
171  std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionSender,
172  std::shared_ptr<certifiedSender::CertifiedSender> certifiedSender,
173  std::shared_ptr<avsCommon::sdkInterfaces::FocusManagerInterface> audioFocusManager,
174  std::shared_ptr<registrationManager::CustomerDataManagerInterface> dataManager,
175  std::shared_ptr<capabilityAgents::system::ReportStateHandler> stateReportHandler,
176  std::shared_ptr<capabilityAgents::aip::AudioInputProcessor> audioInputProcessor,
177  std::shared_ptr<avsCommon::sdkInterfaces::SpeakerManagerInterface> speakerManager,
178  std::shared_ptr<avsCommon::sdkInterfaces::DirectiveSequencerInterface> directiveSequencer,
179  std::shared_ptr<avsCommon::sdkInterfaces::UserInactivityMonitorInterface> userInactivityMonitor,
180  std::shared_ptr<avsCommon::sdkInterfaces::ContextManagerInterface> contextManager,
181  std::shared_ptr<avsCommon::sdkInterfaces::AVSGatewayManagerInterface> avsGatewayManager,
182  std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> ringtoneMediaPlayer,
183  std::shared_ptr<avsCommon::sdkInterfaces::audio::AudioFactoryInterface> audioFactory,
184  std::shared_ptr<avsCommon::sdkInterfaces::ChannelVolumeInterface> ringtoneChannelVolumeInterface,
185 #ifdef ENABLE_COMMS_AUDIO_PROXY
186  std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> commsMediaPlayer,
187  std::shared_ptr<avsCommon::sdkInterfaces::SpeakerInterface> commsSpeaker,
188  std::shared_ptr<avsCommon::avs::AudioInputStream> sharedDataStream,
189 #endif
190  std::shared_ptr<avsCommon::sdkInterfaces::PowerResourceManagerInterface> powerResourceManager,
191  std::shared_ptr<avsCommon::sdkInterfaces::ComponentReporterInterface> softwareComponentReporter,
192  std::shared_ptr<avsCommon::sdkInterfaces::PlaybackRouterInterface> playbackRouter,
193  std::shared_ptr<avsCommon::sdkInterfaces::endpoints::EndpointRegistrationManagerInterface>
194  endpointRegistrationManager,
195  std::shared_ptr<avsCommon::utils::metrics::MetricRecorderInterface> metricRecorder) = 0;
196 };
197 
198 } // namespace defaultClient
199 } // namespace alexaClientSDK
200 
201 #endif // ALEXA_CLIENT_SDK_APPLICATIONUTILITIES_DEFAULTCLIENT_INCLUDE_DEFAULTCLIENT_EXTERNALCAPABILITIESBUILDERINTERFACE_H_
virtual ExternalCapabilitiesBuilderInterface & withTemplateRunTime(std::shared_ptr< templateRuntimeInterfaces::TemplateRuntimeInterface > templateRuntime)=0
virtual ExternalCapabilitiesBuilderInterface & withDialogUXStateAggregator(std::shared_ptr< avsCommon::avs::DialogUXStateAggregator > dialogUXStateAggregator)=0
virtual std::pair< std::list< Capability >, std::list< std::shared_ptr< avsCommon::utils::RequiresShutdown > > > buildCapabilities(std::shared_ptr< acsdkExternalMediaPlayer::ExternalMediaPlayer > externalMediaPlayer, std::shared_ptr< avsCommon::sdkInterfaces::AVSConnectionManagerInterface > connectionManager, std::shared_ptr< avsCommon::sdkInterfaces::MessageSenderInterface > messageSender, std::shared_ptr< avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface > exceptionSender, std::shared_ptr< certifiedSender::CertifiedSender > certifiedSender, std::shared_ptr< avsCommon::sdkInterfaces::FocusManagerInterface > audioFocusManager, std::shared_ptr< registrationManager::CustomerDataManagerInterface > dataManager, std::shared_ptr< capabilityAgents::system::ReportStateHandler > stateReportHandler, std::shared_ptr< capabilityAgents::aip::AudioInputProcessor > audioInputProcessor, std::shared_ptr< avsCommon::sdkInterfaces::SpeakerManagerInterface > speakerManager, std::shared_ptr< avsCommon::sdkInterfaces::DirectiveSequencerInterface > directiveSequencer, std::shared_ptr< avsCommon::sdkInterfaces::UserInactivityMonitorInterface > userInactivityMonitor, std::shared_ptr< avsCommon::sdkInterfaces::ContextManagerInterface > contextManager, std::shared_ptr< avsCommon::sdkInterfaces::AVSGatewayManagerInterface > avsGatewayManager, std::shared_ptr< avsCommon::utils::mediaPlayer::MediaPlayerInterface > ringtoneMediaPlayer, std::shared_ptr< avsCommon::sdkInterfaces::audio::AudioFactoryInterface > audioFactory, std::shared_ptr< avsCommon::sdkInterfaces::ChannelVolumeInterface > ringtoneChannelVolumeInterface, std::shared_ptr< avsCommon::sdkInterfaces::PowerResourceManagerInterface > powerResourceManager, std::shared_ptr< avsCommon::sdkInterfaces::ComponentReporterInterface > softwareComponentReporter, std::shared_ptr< avsCommon::sdkInterfaces::PlaybackRouterInterface > playbackRouter, std::shared_ptr< avsCommon::sdkInterfaces::endpoints::EndpointRegistrationManagerInterface > endpointRegistrationManager, std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface > metricRecorder)=0
virtual ExternalCapabilitiesBuilderInterface & withInternetConnectionMonitor(std::shared_ptr< avsCommon::sdkInterfaces::InternetConnectionMonitorInterface > internetConnectionMonitor)=0
static std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface > metricRecorder
Metric recorder shared ptr.
Definition: BaseAPLCapabilityAgentTest.cpp:261
avsCommon::utils::Optional< avsCommon::avs::CapabilityConfiguration > configuration
Definition: ExternalCapabilitiesBuilderInterface.h:70
Definition: ExternalCapabilitiesBuilderInterface.h:67
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
std::shared_ptr< avsCommon::sdkInterfaces::DirectiveHandlerInterface > directiveHandler
An optional directive handler used to process any directive included in this capability.
Definition: ExternalCapabilitiesBuilderInterface.h:73
virtual ExternalCapabilitiesBuilderInterface & withSettingsStorage(std::shared_ptr< settings::storage::DeviceSettingStorageInterface > settingStorage)=0
Definition: ExternalCapabilitiesBuilderInterface.h:62
virtual std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::CallManagerInterface > getCallManager()=0
virtual ExternalCapabilitiesBuilderInterface & withAlexaInterfaceMessageSender(std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::AlexaInterfaceMessageSenderInterface > alexaMessageSender)=0

AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0