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::TemplateRuntimeHandler Class Reference

#include <TemplateRuntimeHandler.h>

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

Public Member Functions

void registerHandlers ()
 Register this handler for its namespace and its methods for the corresponding namespace functions. More...
 
TemplateRuntimePresentationAdapterObserverInterface Functions
void renderTemplateCard (const std::string &jsonPayload) override
 
void renderPlayerInfoCard (const std::string &jsonPayload, templateRuntimeInterfaces::TemplateRuntimeObserverInterface::AudioPlayerInfo audioPlayerInfo) override
 
void clearRenderTemplateCard () override
 
void clearPlayerInfoCard () override
 
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
 
- Public Member Functions inherited from alexaClientSDK::sampleApplications::common::TemplateRuntimePresentationAdapterObserverInterface
virtual ~TemplateRuntimePresentationAdapterObserverInterface ()=default
 

Static Public Member Functions

static std::shared_ptr< TemplateRuntimeHandlercreate (const std::shared_ptr< IPCHandlerRegistrationInterface > &ipcHandlerRegistrar, const std::shared_ptr< TemplateRuntimeHandlerInterface > &templateRuntimeComponent)
 

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 TemplateRuntime namespace messages coming from the IPC client.

Member Function Documentation

◆ clearPlayerInfoCard()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::TemplateRuntimeHandler::clearPlayerInfoCard ( )
overridevirtual

Used to notify when the player info card should be cleared.

Implements alexaClientSDK::sampleApplications::common::TemplateRuntimePresentationAdapterObserverInterface.

◆ clearRenderTemplateCard()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::TemplateRuntimeHandler::clearRenderTemplateCard ( )
overridevirtual

Used to notify when the render template card should be cleared.

Implements alexaClientSDK::sampleApplications::common::TemplateRuntimePresentationAdapterObserverInterface.

◆ create()

static std::shared_ptr<TemplateRuntimeHandler> alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::TemplateRuntimeHandler::create ( const std::shared_ptr< IPCHandlerRegistrationInterface > &  ipcHandlerRegistrar,
const std::shared_ptr< TemplateRuntimeHandlerInterface > &  templateRuntimeComponent 
)
static

Create an instance of TemplateRuntimeHandler

Parameters
ipcHandlerRegistrarUsed to register TemplateRuntimeHandler.
templateRuntimeComponentPointer to the TemplateRuntimeHandlerInterface.
Returns
Shared pointer to TemplateRuntimeHandler

◆ doShutdown()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::TemplateRuntimeHandler::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.

◆ registerHandlers()

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

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

◆ renderPlayerInfoCard()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::TemplateRuntimeHandler::renderPlayerInfoCard ( const std::string &  jsonPayload,
templateRuntimeInterfaces::TemplateRuntimeObserverInterface::AudioPlayerInfo  audioPlayerInfo 
)
overridevirtual

Used to notify when a RenderPlayerInfo presentation is ready to display. Once called, the client should render the PlayerInfo display card based on the metadata provided in the payload in structured JSON format.

Parameters
jsonPayloadThe payload of the RenderPlayerInfo directive in structured JSON format.
audioPlayerInfoInformation on the AudioPlayer.

Implements alexaClientSDK::sampleApplications::common::TemplateRuntimePresentationAdapterObserverInterface.

◆ renderTemplateCard()

void alexaClientSDK::sampleApplications::ipcServerSampleApp::ipc::TemplateRuntimeHandler::renderTemplateCard ( const std::string &  jsonPayload)
overridevirtual

Used to notify when a RenderTemplate presentation is ready to display. Once called, the client should render the Template display card based on the metadata provided in the payload in structured JSON format.

Note
The payload may contain customer sensitive information and should be used with utmost care. Failure to do so may result in exposing or mishandling of customer data.
Parameters
jsonPayloadThe payload of the RenderTemplate directive in structured JSON format.

Implements alexaClientSDK::sampleApplications::common::TemplateRuntimePresentationAdapterObserverInterface.


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