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 ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_EXTERNALCAPABILITIESBUILDER_H_
17 #define ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_EXTERNALCAPABILITIESBUILDER_H_
18 
21 
22 namespace alexaClientSDK {
23 namespace sampleApplications {
24 namespace ipcServerSampleApp {
35 public:
41  ExternalCapabilitiesBuilder(std::shared_ptr<avsCommon::utils::DeviceInfo> deviceInfo);
42 
46  std::shared_ptr<settings::storage ::DeviceSettingStorageInterface> settingStorage) override;
47 
49  std::shared_ptr<templateRuntimeInterfaces::TemplateRuntimeInterface> templateRuntime) override;
50 
51  std::shared_ptr<avsCommon::sdkInterfaces::CallManagerInterface> getCallManager() override;
52 
54  std::shared_ptr<avsCommon::sdkInterfaces::InternetConnectionMonitorInterface> internetConnectionMonitor)
55  override;
56 
58  std::shared_ptr<avsCommon::avs::DialogUXStateAggregator> dialogUXStateAggregator) override;
59  ExternalCapabilitiesBuilderInterface& withAlexaInterfaceMessageSender(
60  std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::AlexaInterfaceMessageSenderInterface>
61  alexaMessageSender) override;
62  std::pair<std::list<Capability>, std::list<std::shared_ptr<avsCommon::utils::RequiresShutdown>>> buildCapabilities(
63  std::shared_ptr<acsdkExternalMediaPlayer::ExternalMediaPlayer> externalMediaPlayer,
64  std::shared_ptr<avsCommon::sdkInterfaces::AVSConnectionManagerInterface> connectionManager,
65  std::shared_ptr<avsCommon::sdkInterfaces::MessageSenderInterface> messageSender,
66  std::shared_ptr<avsCommon::sdkInterfaces::ExceptionEncounteredSenderInterface> exceptionSender,
67  std::shared_ptr<certifiedSender::CertifiedSender> certifiedSender,
68  std::shared_ptr<avsCommon::sdkInterfaces::FocusManagerInterface> audioFocusManager,
69  std::shared_ptr<registrationManager::CustomerDataManagerInterface> dataManager,
70  std::shared_ptr<capabilityAgents::system::ReportStateHandler> stateReportHandler,
71  std::shared_ptr<capabilityAgents::aip::AudioInputProcessor> audioInputProcessor,
72  std::shared_ptr<avsCommon::sdkInterfaces::SpeakerManagerInterface> speakerManager,
73  std::shared_ptr<avsCommon::sdkInterfaces::DirectiveSequencerInterface> directiveSequencer,
74  std::shared_ptr<avsCommon::sdkInterfaces::UserInactivityMonitorInterface> userInactivityMonitor,
75  std::shared_ptr<avsCommon::sdkInterfaces::ContextManagerInterface> contextManager,
76  std::shared_ptr<avsCommon::sdkInterfaces::AVSGatewayManagerInterface> avsGatewayManager,
77  std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> ringtoneMediaPlayer,
78  std::shared_ptr<avsCommon::sdkInterfaces::audio::AudioFactoryInterface> audioFactory,
79  std::shared_ptr<avsCommon::sdkInterfaces::ChannelVolumeInterface> ringtoneChannelVolumeInterface,
80 #ifdef ENABLE_COMMS_AUDIO_PROXY
81  std::shared_ptr<avsCommon::utils::mediaPlayer::MediaPlayerInterface> commsMediaPlayer,
82  std::shared_ptr<avsCommon::sdkInterfaces::SpeakerInterface> commsSpeaker,
83  std::shared_ptr<avsCommon::avs::AudioInputStream> sharedDataStream,
84 #endif
85  std::shared_ptr<avsCommon::sdkInterfaces::PowerResourceManagerInterface> powerResourceManager,
86  std::shared_ptr<avsCommon::sdkInterfaces::ComponentReporterInterface> softwareComponentReporter,
87  std::shared_ptr<avsCommon::sdkInterfaces::PlaybackRouterInterface> playbackRouter,
88  std::shared_ptr<avsCommon::sdkInterfaces::endpoints::EndpointRegistrationManagerInterface>
89  endpointRegistrationManager,
90  std::shared_ptr<avsCommon::utils::metrics::MetricRecorderInterface> metricRecorder) override;
92 
93 private:
95  std::shared_ptr<avsCommon::utils::DeviceInfo> m_deviceInfo;
96 
98  std::shared_ptr<templateRuntimeInterfaces::TemplateRuntimeInterface> m_templateRuntime;
99 
100 #ifdef ENABLE_COMMS
101  std::shared_ptr<avsCommon::sdkInterfaces::CallManagerInterface> m_callManager;
103 #endif
104 
106  std::shared_ptr<avsCommon::avs::DialogUXStateAggregator> m_dialogUXStateAggregator;
107 };
108 
109 } // namespace ipcServerSampleApp
110 } // namespace sampleApplications
111 } // namespace alexaClientSDK
112 
113 #endif // ALEXA_CLIENT_SDK_LIBIPCSERVERSAMPLEAPP_INCLUDE_IPCSERVERSAMPLEAPP_EXTERNALCAPABILITIESBUILDER_H_
ExternalCapabilitiesBuilderInterface & withAlexaInterfaceMessageSender(std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::AlexaInterfaceMessageSenderInterface > alexaMessageSender) override
ExternalCapabilitiesBuilder & withTemplateRunTime(std::shared_ptr< templateRuntimeInterfaces::TemplateRuntimeInterface > templateRuntime) override
std::shared_ptr< avsCommon::sdkInterfaces::CallManagerInterface > getCallManager() override
static std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface > metricRecorder
Metric recorder shared ptr.
Definition: BaseAPLCapabilityAgentTest.cpp:261
ExternalCapabilitiesBuilder & withSettingsStorage(std::shared_ptr< settings::storage ::DeviceSettingStorageInterface > settingStorage) override
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
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) override
ExternalCapabilitiesBuilder & withInternetConnectionMonitor(std::shared_ptr< avsCommon::sdkInterfaces::InternetConnectionMonitorInterface > internetConnectionMonitor) override
ExternalCapabilitiesBuilder & withDialogUXStateAggregator(std::shared_ptr< avsCommon::avs::DialogUXStateAggregator > dialogUXStateAggregator) override
ExternalCapabilitiesBuilder(std::shared_ptr< avsCommon::utils::DeviceInfo > deviceInfo)
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