AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Member Functions | Static Public Member Functions | List of all members
alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::AudioFocusManagerHandler Class Reference

#include <AudioFocusManagerHandler.h>

Inheritance diagram for alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::AudioFocusManagerHandler:
Inheritance graph
[legend]
Collaboration diagram for alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::AudioFocusManagerHandler:
Collaboration graph
[legend]

Public Member Functions

void processChannelResult (unsigned token, bool result)
 
void processFocusChanged (unsigned token, avsCommon::avs::FocusState focusState)
 
void registerHandlers ()
 Register this handler for its namespace and its methods for the corresponding namespace functions. More...
 
RequiresShutdown Functions
void doShutdown () override
 
- Public Member Functions inherited from alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::IPCHandlerBase
void invokeMethod (const std::string &methodName, const std::string &message)
 
 ~IPCHandlerBase ()
 
- Public Member Functions inherited from alexaClientSDK::avsCommon::utils::RequiresShutdown
 RequiresShutdown (const std::string &name)
 
virtual ~RequiresShutdown ()
 Destructor. More...
 
const std::string & name () const
 
void shutdown ()
 
bool isShutdown () const
 

Static Public Member Functions

static std::shared_ptr< AudioFocusManagerHandlercreate (std::shared_ptr< IPCHandlerRegistrationInterface > ipcHandlerRegistrar, std::shared_ptr< AudioFocusManagerHandlerInterface > audioFocusManagerComponent)
 

Additional Inherited Members

- Public Types inherited from alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::IPCHandlerBase
using IPCMessageHandler = std::function< void(const std::string &)>
 Alias for the message handler function. More...
 
- Protected Member Functions inherited from alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::IPCHandlerBase
 IPCHandlerBase (const std::string &namespaceName, std::shared_ptr< alexaClientSDK::avsCommon::utils::threading::Executor > executor)
 
bool registerIPCMessageHandlerMethod (const std::string &methodName, IPCMessageHandler handlerFunction)
 
bool deregisterIPCMessageHandlerMethod (const std::string &methodName)
 
- Protected Attributes inherited from alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::IPCHandlerBase
std::string m_namespaceName
 Name of the namespace of the realized IPC handler class. More...
 
std::unordered_map< std::string, IPCMessageHandlerm_messageHandlers
 Dictionary to hold the IPC message handler methods. More...
 
std::shared_ptr< alexaClientSDK::avsCommon::utils::threading::Executorm_executor
 Executor context to support operations asynchronously. More...
 

Detailed Description

A contract for the handler that will handle the AudioFocusManager namespace messages coming from the IPC client.

Member Function Documentation

◆ create()

static std::shared_ptr<AudioFocusManagerHandler> alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::AudioFocusManagerHandler::create ( std::shared_ptr< IPCHandlerRegistrationInterface ipcHandlerRegistrar,
std::shared_ptr< AudioFocusManagerHandlerInterface audioFocusManagerComponent 
)
static

Create an instance of AudioFocusManagerHandler

Parameters
ipcHandlerRegistrarUsed to register AudioFocusManagerHandler.
audioFocusManagerComponentHandles the parsed AudioFocusManager payloads.
Returns
Shared pointer to AudioFocusManagerHandler

◆ doShutdown()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::AudioFocusManagerHandler::doShutdown ( )
overridevirtual

Prepares/enables this object to be deleted. This should be the last function called on this object prior to deleting (or resetting) its shared_ptr.

Warning
  • Attempting to call functions on this object after calling shutdown() can result in undefined behavior.
  • Neglecting to call shutdown() on this object can result in resource leaks or other undefined behavior.

Implements alexaClientSDK::avsCommon::utils::RequiresShutdown.

◆ processChannelResult()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::AudioFocusManagerHandler::processChannelResult ( unsigned  token,
bool  result 
)

Sends a processChannelResult IPC message to the IPC client.

Parameters
tokenToken identifying the requestor.
resultResult of channel focus acquisition or release request.

◆ processFocusChanged()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::AudioFocusManagerHandler::processFocusChanged ( unsigned  token,
avsCommon::avs::FocusState  focusState 
)

Sends a processFocusChanged IPC message to the IPC client.

Parameters
tokenToken identifying the requestor.
focusStateEnumerated focus state for the associated audio channel.

◆ registerHandlers()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::AudioFocusManagerHandler::registerHandlers ( )

Register this handler for its namespace and its methods for the corresponding namespace functions.


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

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