AlexaClientSDK  1.26.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 ALEXA_CLIENT_SDK_SAMPLEAPP_INCLUDE_SAMPLEAPP_EXTERNALCAPABILITIESBUILDER_H_
17 #define ALEXA_CLIENT_SDK_SAMPLEAPP_INCLUDE_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::avsCommon::sdkInterfaces::FocusManagerInterface> focusManager) override;
46 
48  std::shared_ptr<alexaClientSDK::settings::storage ::DeviceSettingStorageInterface> settingStorage) override;
49 
51  std::shared_ptr<alexaClientSDK::capabilityAgents::templateRuntime::TemplateRuntime> templateRuntime) override;
52 
53  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::CallManagerInterface> getCallManager() override;
54 
56  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::InternetConnectionMonitorInterface>
57  internetConnectionMonitor) override;
58 
60  std::shared_ptr<alexaClientSDK::avsCommon::avs::DialogUXStateAggregator> dialogUXStateAggregator) override;
61 
62  std::pair<std::list<Capability>, std::list<std::shared_ptr<alexaClientSDK::avsCommon::utils::RequiresShutdown>>>
64  std::shared_ptr<alexaClientSDK::acsdkExternalMediaPlayer::ExternalMediaPlayer> externalMediaPlayer,
65  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::AVSConnectionManagerInterface> connectionManager,
66  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::MessageSenderInterface> messageSender,
67  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionSender,
68  std::shared_ptr<alexaClientSDK::certifiedSender::CertifiedSender> certifiedSender,
69  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::FocusManagerInterface> audioFocusManager,
70  std::shared_ptr<alexaClientSDK::registrationManager::CustomerDataManagerInterface> dataManager,
71  std::shared_ptr<alexaClientSDK::capabilityAgents::system::ReportStateHandler> stateReportHandler,
72  std::shared_ptr<alexaClientSDK::capabilityAgents::aip::AudioInputProcessor> audioInputProcessor,
73  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::SpeakerManagerInterface> speakerManager,
74  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::DirectiveSequencerInterface> directiveSequencer,
75  std::shared_ptr<avsCommon::sdkInterfaces::UserInactivityMonitorInterface> userInactivityMonitor,
76  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::ContextManagerInterface> contextManager,
77  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::AVSGatewayManagerInterface> avsGatewayManager,
78  std::shared_ptr<alexaClientSDK::avsCommon::utils::mediaPlayer::MediaPlayerInterface> ringtoneMediaPlayer,
79  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::audio::AudioFactoryInterface> audioFactory,
80  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::ChannelVolumeInterface>
81  ringtoneChannelVolumeInterface,
82 #ifdef ENABLE_COMMS_AUDIO_PROXY
83  std::shared_ptr<alexaClientSDK::avsCommon::utils::mediaPlayer::MediaPlayerInterface> commsMediaPlayer,
84  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::SpeakerInterface> commsSpeaker,
85  std::shared_ptr<alexaClientSDK::avsCommon::avs::AudioInputStream> sharedDataStream,
86 #endif
87  std::shared_ptr<avsCommon::sdkInterfaces::PowerResourceManagerInterface> powerResourceManager,
88  std::shared_ptr<avsCommon::sdkInterfaces::ComponentReporterInterface> softwareComponentReporter,
89  std::shared_ptr<avsCommon::sdkInterfaces::PlaybackRouterInterface> playbackRouter,
90  std::shared_ptr<avsCommon::sdkInterfaces::endpoints::EndpointRegistrationManagerInterface>
91  endpointRegistrationManager) override;
93 
94 private:
96  std::shared_ptr<alexaClientSDK::avsCommon::utils::DeviceInfo> m_deviceInfo;
97 
99  std::shared_ptr<alexaClientSDK::capabilityAgents::templateRuntime::TemplateRuntime> m_templateRuntime;
100 
102  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::CallManagerInterface> m_callManager;
103 
105  std::shared_ptr<alexaClientSDK::avsCommon::avs::DialogUXStateAggregator> m_dialogUXStateAggregator;
106 
108  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::InternetConnectionMonitorInterface>
109  m_internetConnectionMonitor;
110 
112  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::FocusManagerInterface> m_visualFocusManager;
113 };
114 
115 } // namespace sampleApp
116 } // namespace alexaClientSDK
117 
118 #endif // ALEXA_CLIENT_SDK_SAMPLEAPP_INCLUDE_SAMPLEAPP_EXTERNALCAPABILITIESBUILDER_H_
alexaClientSDK::sampleApp::ExternalCapabilitiesBuilder::withTemplateRunTime
ExternalCapabilitiesBuilder & withTemplateRunTime(std::shared_ptr< alexaClientSDK::capabilityAgents::templateRuntime::TemplateRuntime > templateRuntime) override
Definition: ExternalCapabilitiesBuilder.cpp:83
alexaClientSDK::sampleApp::ExternalCapabilitiesBuilder::ExternalCapabilitiesBuilder
ExternalCapabilitiesBuilder(std::shared_ptr< avsCommon::utils::DeviceInfo > deviceInfo)
Definition: ExternalCapabilitiesBuilder.cpp:65
alexaClientSDK::sampleApp::ExternalCapabilitiesBuilder::getCallManager
std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::CallManagerInterface > getCallManager() override
Definition: ExternalCapabilitiesBuilder.cpp:91
alexaClientSDK::sampleApp::ExternalCapabilitiesBuilder::buildCapabilities
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) override
Definition: ExternalCapabilitiesBuilder.cpp:111
alexaClientSDK::sampleApp::ExternalCapabilitiesBuilder::withVisualFocusManager
ExternalCapabilitiesBuilder & withVisualFocusManager(std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::FocusManagerInterface > focusManager) override
Definition: ExternalCapabilitiesBuilder.cpp:70
DeviceInfo.h
alexaClientSDK::sampleApp::ExternalCapabilitiesBuilder::withInternetConnectionMonitor
ExternalCapabilitiesBuilder & withInternetConnectionMonitor(std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::InternetConnectionMonitorInterface > internetConnectionMonitor) override
Definition: ExternalCapabilitiesBuilder.cpp:95
alexaClientSDK::sampleApp::ExternalCapabilitiesBuilder::withDialogUXStateAggregator
ExternalCapabilitiesBuilder & withDialogUXStateAggregator(std::shared_ptr< alexaClientSDK::avsCommon::avs::DialogUXStateAggregator > dialogUXStateAggregator) override
Definition: ExternalCapabilitiesBuilder.cpp:102
alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface
Definition: ExternalCapabilitiesBuilderInterface.h:62
alexaClientSDK
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
ExternalCapabilitiesBuilderInterface.h
alexaClientSDK::sampleApp::ExternalCapabilitiesBuilder::withSettingsStorage
ExternalCapabilitiesBuilder & withSettingsStorage(std::shared_ptr< alexaClientSDK::settings::storage ::DeviceSettingStorageInterface > settingStorage) override
Definition: ExternalCapabilitiesBuilder.cpp:77
alexaClientSDK::sampleApp::ExternalCapabilitiesBuilder
Definition: ExternalCapabilitiesBuilder.h:33

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