AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
ExternalCapabilitiesBuilder.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 SAMPLEAPP_EXTERNALCAPABILITIESBUILDER_H_
17 #define SAMPLEAPP_EXTERNALCAPABILITIESBUILDER_H_
18 
21 
22 namespace alexaClientSDK {
23 namespace sampleApp {
34 public:
40  ExternalCapabilitiesBuilder(std::shared_ptr<avsCommon::utils::DeviceInfo> deviceInfo);
41 
45  std::shared_ptr<alexaClientSDK::settings::storage ::DeviceSettingStorageInterface> settingStorage) override;
46 
48  std::shared_ptr<templateRuntimeInterfaces::TemplateRuntimeInterface> templateRuntime) override;
49 
50  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::CallManagerInterface> getCallManager() override;
51 
53  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::InternetConnectionMonitorInterface>
54  internetConnectionMonitor) override;
55 
57  std::shared_ptr<alexaClientSDK::avsCommon::avs::DialogUXStateAggregator> dialogUXStateAggregator) override;
58 
60  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::AlexaInterfaceMessageSenderInterface>
61  alexaMessageSender) override;
62 
63  std::pair<std::list<Capability>, std::list<std::shared_ptr<alexaClientSDK::avsCommon::utils::RequiresShutdown>>>
65  std::shared_ptr<alexaClientSDK::acsdkExternalMediaPlayer::ExternalMediaPlayer> externalMediaPlayer,
66  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::AVSConnectionManagerInterface> connectionManager,
67  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::MessageSenderInterface> messageSender,
68  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionSender,
69  std::shared_ptr<alexaClientSDK::certifiedSender::CertifiedSender> certifiedSender,
70  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::FocusManagerInterface> audioFocusManager,
71  std::shared_ptr<alexaClientSDK::registrationManager::CustomerDataManagerInterface> dataManager,
72  std::shared_ptr<alexaClientSDK::capabilityAgents::system::ReportStateHandler> stateReportHandler,
73  std::shared_ptr<alexaClientSDK::capabilityAgents::aip::AudioInputProcessor> audioInputProcessor,
74  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::SpeakerManagerInterface> speakerManager,
75  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::DirectiveSequencerInterface> directiveSequencer,
76  std::shared_ptr<avsCommon::sdkInterfaces::UserInactivityMonitorInterface> userInactivityMonitor,
77  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::ContextManagerInterface> contextManager,
78  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::AVSGatewayManagerInterface> avsGatewayManager,
79  std::shared_ptr<alexaClientSDK::avsCommon::utils::mediaPlayer::MediaPlayerInterface> ringtoneMediaPlayer,
80  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::audio::AudioFactoryInterface> audioFactory,
81  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::ChannelVolumeInterface>
82  ringtoneChannelVolumeInterface,
83 #ifdef ENABLE_COMMS_AUDIO_PROXY
84  std::shared_ptr<alexaClientSDK::avsCommon::utils::mediaPlayer::MediaPlayerInterface> commsMediaPlayer,
85  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::SpeakerInterface> commsSpeaker,
86  std::shared_ptr<alexaClientSDK::avsCommon::avs::AudioInputStream> sharedDataStream,
87 #endif
88  std::shared_ptr<avsCommon::sdkInterfaces::PowerResourceManagerInterface> powerResourceManager,
89  std::shared_ptr<avsCommon::sdkInterfaces::ComponentReporterInterface> softwareComponentReporter,
90  std::shared_ptr<avsCommon::sdkInterfaces::PlaybackRouterInterface> playbackRouter,
91  std::shared_ptr<avsCommon::sdkInterfaces::endpoints::EndpointRegistrationManagerInterface>
92  endpointRegistrationManager,
93  std::shared_ptr<avsCommon::utils::metrics::MetricRecorderInterface> metricRecorder) override;
95 
96 private:
98  std::shared_ptr<alexaClientSDK::avsCommon::utils::DeviceInfo> m_deviceInfo;
99 
101  std::shared_ptr<templateRuntimeInterfaces::TemplateRuntimeInterface> m_templateRuntime;
102 
104  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::CallManagerInterface> m_callManager;
105 
107  std::shared_ptr<alexaClientSDK::avsCommon::avs::DialogUXStateAggregator> m_dialogUXStateAggregator;
108 
110  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::InternetConnectionMonitorInterface>
111  m_internetConnectionMonitor;
112 
114  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::AlexaInterfaceMessageSenderInterface>
115  m_alexaMessageSender;
116 };
117 
118 } // namespace sampleApp
119 } // namespace alexaClientSDK
120 
121 #endif // SAMPLEAPP_EXTERNALCAPABILITIESBUILDER_H_
ExternalCapabilitiesBuilder & withDialogUXStateAggregator(std::shared_ptr< alexaClientSDK::avsCommon::avs::DialogUXStateAggregator > dialogUXStateAggregator) override
Definition: ExternalCapabilitiesBuilder.h:33
ExternalCapabilitiesBuilder & withSettingsStorage(std::shared_ptr< alexaClientSDK::settings::storage ::DeviceSettingStorageInterface > settingStorage) override
ExternalCapabilitiesBuilder(std::shared_ptr< avsCommon::utils::DeviceInfo > deviceInfo)
ExternalCapabilitiesBuilder & withTemplateRunTime(std::shared_ptr< templateRuntimeInterfaces::TemplateRuntimeInterface > templateRuntime) override
static std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface > metricRecorder
Metric recorder shared ptr.
Definition: BaseAPLCapabilityAgentTest.cpp:261
std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::CallManagerInterface > getCallManager() override
ExternalCapabilitiesBuilder & withInternetConnectionMonitor(std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::InternetConnectionMonitorInterface > internetConnectionMonitor) override
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
ExternalCapabilitiesBuilder & withAlexaInterfaceMessageSender(std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::AlexaInterfaceMessageSenderInterface > alexaMessageSender) override
std::pair< std::list< Capability >, std::list< std::shared_ptr< alexaClientSDK::avsCommon::utils::RequiresShutdown > > > buildCapabilities(std::shared_ptr< alexaClientSDK::acsdkExternalMediaPlayer::ExternalMediaPlayer > externalMediaPlayer, std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::AVSConnectionManagerInterface > connectionManager, std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::MessageSenderInterface > messageSender, std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface > exceptionSender, std::shared_ptr< alexaClientSDK::certifiedSender::CertifiedSender > certifiedSender, std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::FocusManagerInterface > audioFocusManager, std::shared_ptr< alexaClientSDK::registrationManager::CustomerDataManagerInterface > dataManager, std::shared_ptr< alexaClientSDK::capabilityAgents::system::ReportStateHandler > stateReportHandler, std::shared_ptr< alexaClientSDK::capabilityAgents::aip::AudioInputProcessor > audioInputProcessor, std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::SpeakerManagerInterface > speakerManager, std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::DirectiveSequencerInterface > directiveSequencer, std::shared_ptr< avsCommon::sdkInterfaces::UserInactivityMonitorInterface > userInactivityMonitor, std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::ContextManagerInterface > contextManager, std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::AVSGatewayManagerInterface > avsGatewayManager, std::shared_ptr< alexaClientSDK::avsCommon::utils::mediaPlayer::MediaPlayerInterface > ringtoneMediaPlayer, std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::audio::AudioFactoryInterface > audioFactory, std::shared_ptr< alexaClientSDK::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) override
Definition: ExternalCapabilitiesBuilderInterface.h:62

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