AlexaClientSDK  1.22.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Classes | Public Member Functions | List of all members
alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface Class Referenceabstract

#include <ExternalCapabilitiesBuilderInterface.h>

Inheritance diagram for alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface:
Inheritance graph
[legend]

Classes

struct  Capability
 

Public Member Functions

virtual ~ExternalCapabilitiesBuilderInterface ()=default
 
virtual ExternalCapabilitiesBuilderInterfacewithVisualFocusManager (std::shared_ptr< avsCommon::sdkInterfaces::FocusManagerInterface > visualFocusManager)=0
 
virtual ExternalCapabilitiesBuilderInterfacewithSettingsStorage (std::shared_ptr< settings::storage::DeviceSettingStorageInterface > settingStorage)=0
 
virtual ExternalCapabilitiesBuilderInterfacewithTemplateRunTime (std::shared_ptr< capabilityAgents::templateRuntime::TemplateRuntime > templateRuntime)=0
 
virtual std::shared_ptr< alexaClientSDK::avsCommon::sdkInterfaces::CallManagerInterfacegetCallManager ()=0
 
virtual ExternalCapabilitiesBuilderInterfacewithInternetConnectionMonitor (std::shared_ptr< avsCommon::sdkInterfaces::InternetConnectionMonitorInterface > internetConnectionMonitor)=0
 
virtual ExternalCapabilitiesBuilderInterfacewithDialogUXStateAggregator (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::CustomerDataManager > 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< capabilityAgents::system::UserInactivityMonitor > 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)=0
 

Detailed Description

This interface provides a facility to add external capabilities to default client.

Default client will provide its core components in the build call.

Note
Any object created during the buildCapabilities that keep a pointer to a core component should be added or managed by an object in the list of RequiresShutdown objects returned by buildCapabilities(). This will ensure that these objects are shutdown during DefaultClient shutdown and before any core component is shutdown.

Constructor & Destructor Documentation

◆ ~ExternalCapabilitiesBuilderInterface()

virtual alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface::~ExternalCapabilitiesBuilderInterface ( )
virtualdefault

Destructor.

Member Function Documentation

◆ buildCapabilities()

virtual std::pair<std::list<Capability>, std::list<std::shared_ptr<avsCommon::utils::RequiresShutdown> > > alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface::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::CustomerDataManager 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< capabilityAgents::system::UserInactivityMonitor 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 
)
pure virtual
   Build the capabilities with the given core components.

   @param externalMediaPlayer Object used to manage external media playback.
   @param connectionManager Object responsible for managing the SDK connection with AVS.
   @param messageSender Object that can be used to send events to AVS.
   @param exceptionSender Object that can be used to send exceptions to AVS.
   @param certifiedSender Object that can be used to send events to AVS that require stronger guarantee.
   @param audioFocusManager The focus manager for audio channels.
   @param dataManager Object used to manage objects that store customer data.
   @param stateReportHandler Object used to report the device state and its settings.
   @param audioInputProcessor Object used to recognize voice interactions.
   @param speakerManager Object used to manage all speaker instances that can be controlled by Alexa.
   @param directiveSequencer Object used to sequence and handle a stream of @c AVSDirective instances.
   @param userInactivityMonitor Object used to notify an implementation of the user activity.
   @param contextManager Object used to provide the context for various components.
   @param avsGatewayManager Object used to get the AVS gateway URL data.
   @param ringtoneMediaPlayer The media player to play Comms ringtones.
   @param audioFactory The audioFactory is a component the provides unique audio streams.
   @param ringtoneChannelVolumeInterface The ChannelVolumeInterface used for ringtone channel volume attenuation.

#ifdef ENABLE_COMMS_AUDIO_PROXY

Parameters
commsMediaPlayerThe media player to play Comms calling audio.
commsSpeakerThe speaker to control volume of Comms calling audio.
sharedDataStreamThe stream to use which has the audio from microphone. #endif
powerResourceManagerObject to manage power resource.
softwareComponentReporterObject to report adapters' versions.
Returns
A list with all capabilities as well as objects that require explicit shutdown. Shutdown will be performed in the reverse order of occurrence.

◆ getCallManager()

virtual std::shared_ptr<alexaClientSDK::avsCommon::sdkInterfaces::CallManagerInterface> alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface::getCallManager ( )
pure virtual

Get the CallManager reference.

Returns
A reference of CallManager.

Implemented in alexaClientSDK::sampleApp::ExternalCapabilitiesBuilder.

◆ withDialogUXStateAggregator()

virtual ExternalCapabilitiesBuilderInterface& alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface::withDialogUXStateAggregator ( std::shared_ptr< avsCommon::avs::DialogUXStateAggregator dialogUXStateAggregator)
pure virtual

This method sets the DialogUXStateAggregator for CallManager.

Parameters
dialogUXStateAggregatorThe DialogUXStateAggregator object.

◆ withInternetConnectionMonitor()

virtual ExternalCapabilitiesBuilderInterface& alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface::withInternetConnectionMonitor ( std::shared_ptr< avsCommon::sdkInterfaces::InternetConnectionMonitorInterface internetConnectionMonitor)
pure virtual

This method sets the InternetConnectionMonitor for CallManager.

Parameters
internetConnectionMonitorThe InternetConnectionMonitor object.

◆ withSettingsStorage()

virtual ExternalCapabilitiesBuilderInterface& alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface::withSettingsStorage ( std::shared_ptr< settings::storage::DeviceSettingStorageInterface settingStorage)
pure virtual

This method sets the storage using for setting.

Warning
The settings storage is opened and closed by DefaultClient during creation and shutdown respectively. You can add your objects that use this storage inside the list of RequiresShutdown objects managed by DefaultClient to ensure the storage usage will not be done after it closure.

◆ withTemplateRunTime()

virtual ExternalCapabilitiesBuilderInterface& alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface::withTemplateRunTime ( std::shared_ptr< capabilityAgents::templateRuntime::TemplateRuntime templateRuntime)
pure virtual

This method sets the TemplateRuntime Capability Agent for visual interactions.

This method will only get called if GUI supports has been enabled.

Parameters
templateRuntimeThe TemplateRuntime object.

◆ withVisualFocusManager()

virtual ExternalCapabilitiesBuilderInterface& alexaClientSDK::defaultClient::ExternalCapabilitiesBuilderInterface::withVisualFocusManager ( std::shared_ptr< avsCommon::sdkInterfaces::FocusManagerInterface visualFocusManager)
pure virtual

This method sets the focus manager responsible for visual interactions.

This method will only get called if GUI support has been enabled.

Parameters
visualFocusManagerThe focus manager object.
Returns
A reference to this builder to allow nested function calls.

The documentation for this class was generated from the following file:

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