|
|
avsCommon::avs::DirectiveHandlerConfiguration | getConfiguration () const override |
|
void | handleDirectiveImmediately (std::shared_ptr< avsCommon::avs::AVSDirective > directive) override |
|
void | preHandleDirective (std::shared_ptr< avsCommon::avs::CapabilityAgent::DirectiveInfo > info) override |
|
void | handleDirective (std::shared_ptr< avsCommon::avs::CapabilityAgent::DirectiveInfo > info) override |
|
void | cancelDirective (std::shared_ptr< avsCommon::avs::CapabilityAgent::DirectiveInfo > info) override |
|
void | onFocusChanged (avsCommon::avs::FocusState newFocus, avsCommon::avs::MixingBehavior behavior) override |
|
|
void | setDiscoverableMode (bool discoverable) override |
|
void | setScanMode (bool scanning) override |
|
void | pair (const std::string &addr) override |
|
void | unpair (const std::string &addr) override |
|
void | connect (const std::string &addr) override |
|
void | disconnect (const std::string &addr) override |
|
void | setPairingPin (const std::string &addr, const std::string &pin) override |
|
|
std::unordered_set< std::shared_ptr< avsCommon::avs::CapabilityConfiguration > > | getCapabilityConfigurations () override |
|
void | onContextAvailable (const std::string &jsonContext) override |
|
void | onContextFailure (const avsCommon::sdkInterfaces::ContextRequestError error) override |
|
|
void | doShutdown () override |
|
|
void | onFirstByteRead (avsCommon::utils::mediaPlayer::MediaPlayerObserverInterface::SourceId id, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
void | onPlaybackStarted (avsCommon::utils::mediaPlayer::MediaPlayerObserverInterface::SourceId id, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
void | onPlaybackStopped (avsCommon::utils::mediaPlayer::MediaPlayerObserverInterface::SourceId id, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
void | onPlaybackFinished (avsCommon::utils::mediaPlayer::MediaPlayerObserverInterface::SourceId id, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
void | onPlaybackError (avsCommon::utils::mediaPlayer::MediaPlayerObserverInterface::SourceId id, const avsCommon::utils::mediaPlayer::ErrorType &type, std::string error, const avsCommon::utils::mediaPlayer::MediaPlayerState &state) override |
|
|
void | clearData () override |
|
virtual | ~BluetoothLocalInterface ()=default |
|
virtual | ~CapabilityAgent ()=default |
|
void | preHandleDirective (std::shared_ptr< AVSDirective > directive, std::unique_ptr< sdkInterfaces::DirectiveHandlerResultInterface > result) override final |
|
bool | handleDirective (const std::string &messageId) override final |
|
void | cancelDirective (const std::string &messageId) override final |
|
void | onDeregistered () override |
|
Public Member Functions inherited from alexaClientSDK::avsCommon::sdkInterfaces::DirectiveHandlerInterface |
virtual | ~DirectiveHandlerInterface ()=default |
|
virtual void | preHandleDirective (std::shared_ptr< avsCommon::avs::AVSDirective > directive, std::unique_ptr< DirectiveHandlerResultInterface > result)=0 |
|
virtual | ~ChannelObserverInterface ()=default |
|
virtual | ~StateProviderInterface ()=default |
|
virtual void | provideState (const avs::NamespaceAndName &stateProviderName, const ContextRequestToken stateRequestToken) |
|
virtual void | provideState (const avs::CapabilityTag &stateProviderName, const ContextRequestToken stateRequestToken) |
|
virtual bool | canStateBeRetrieved () |
|
virtual bool | hasReportableStateProperties () |
|
virtual bool | shouldQueryState () |
|
virtual | ~ContextRequesterInterface ()=default |
|
virtual void | onContextAvailable (const endpoints::EndpointIdentifier &endpointId, const avs::AVSContext &endpointContext, ContextRequestToken requestToken) |
|
virtual void | onContextFailure (const ContextRequestError error, ContextRequestToken token) |
|
virtual | ~BluetoothEventListenerInterface ()=default |
|
virtual | ~FormattedAudioStreamAdapterListener ()=default |
|
virtual | ~CapabilityConfigurationInterface ()=default |
|
virtual | ~MediaPlayerObserverInterface ()=default |
|
virtual void | onFirstByteRead (SourceId id, const MediaPlayerState &state)=0 |
|
virtual void | onPlaybackStarted (SourceId id, const MediaPlayerState &state)=0 |
|
virtual void | onPlaybackFinished (SourceId id, const MediaPlayerState &state)=0 |
|
virtual void | onPlaybackError (SourceId id, const ErrorType &type, std::string error, const MediaPlayerState &state)=0 |
|
virtual void | onPlaybackPaused (SourceId, const MediaPlayerState &) |
|
virtual void | onPlaybackResumed (SourceId, const MediaPlayerState &) |
|
virtual void | onPlaybackStopped (SourceId, const MediaPlayerState &) |
|
virtual void | onBufferUnderrun (SourceId, const MediaPlayerState &) |
|
virtual void | onBufferRefilled (SourceId, const MediaPlayerState &) |
|
virtual void | onBufferingComplete (SourceId, const MediaPlayerState &) |
|
virtual void | onSeeked (SourceId, const MediaPlayerState &, const MediaPlayerState &) |
|
virtual void | onTags (SourceId, std::unique_ptr< const VectorOfTags >, const MediaPlayerState &) |
|
| RequiresShutdown (const std::string &name) |
|
virtual | ~RequiresShutdown () |
| Destructor. More...
|
|
const std::string & | name () const |
|
void | shutdown () |
|
bool | isShutdown () const |
|
Public Member Functions inherited from alexaClientSDK::registrationManager::CustomerDataHandler |
| CustomerDataHandler (const std::shared_ptr< registrationManager::CustomerDataManagerInterface > &dataManager) |
|
virtual | ~CustomerDataHandler () |
|
Public Member Functions inherited from alexaClientSDK::registrationManager::CustomerDataHandlerInterface |
virtual | ~CustomerDataHandlerInterface ()=default |
|
The Bluetooth Capability Agent is responsible for implementing the Bluetooth AVS interface. This consists of two areas of responsibilities:
- The connectivity of devices. This includes scanning, pairing and connecting.
- The management of profiles. This includes: media control (AVRCP, Audio/Video Remote Control Profile) media playback (A2DP, Advanced Audio Distribution Profile) Human Interface Device Profile Serial Port Profile and Hands-Free Profile.
The Bluetooth agent will handle directives from AVS and requests from peer devices. Examples include pairing and connection requests, as well as media playback requests. Some examples of this are:
- "Alexa, connect".
- Enabling discovery through the companion app.
- Initializing connection through a previously paired device on the device.
- "Alexa next".
Connectivity is defined as when two devices have paired and established connections of all applicable services (A2DP, AVRCP, etc). Alexa supports multiple connected multimedia devices but doesn't support multiple A2DP connected devices. The agent enforces the connected devices to follow some Bluetooth device connection rules based on DeviceCategory. For example, If a A2DP device is currently connected, attempting to connect a second A2DP device should force a disconnect on the currently connected device. However, if a A2DP device is currently connected, attempting to connected a SPP/HID device should not cause a disconnect on the currently connected device.
Interfaces in AVSCommon/SDKInterfaces/Bluetooth can be implemented for customers who wish to use their own Bluetooth stack. The Bluetooth agent operates based on events. Please refer to the BluetoothEvents.h file for a list of events that must be sent.
Supported Profiles
Profiles listed under here refer to the Capability Agent's support of these profiles in relation to AVS. This does not speak about support for them at other layers (the stack, client applications, etc).
- AVRCP (Controller, Target)
- A2DP (Sink, Source)
- HFP
- HID
- SPP