AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Types | Public Member Functions | List of all members
alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface Class Referenceabstract

#include <GUIClientInterface.h>

Inheritance diagram for alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface:
Inheritance graph
[legend]

Public Types

using GUIToken = uint64_t
 Alias for GUI provided token. More...
 

Public Member Functions

virtual ~GUIClientInterface ()=default
 
virtual void setGUIManager (std::shared_ptr< gui::GUIServerInterface > guiManager)=0
 
virtual bool acquireFocus (std::string avsInterface, std::string channelName, avsCommon::avs::ContentType contentType, std::shared_ptr< avsCommon::sdkInterfaces::ChannelObserverInterface > channelObserver)=0
 
virtual bool releaseFocus (std::string avsInterface, std::string channelName, std::shared_ptr< avsCommon::sdkInterfaces::ChannelObserverInterface > channelObserver)=0
 
virtual void sendMessage (messages::MessageInterface &message)=0
 
virtual bool finalizeClientInitialization (bool errorState)=0
 
virtual void handleInitializeAPLRenderers (rapidjson::Document &payload)=0
 
virtual void handleDisplayMetrics (rapidjson::Document &payload)=0
 
virtual void handleAplEvent (rapidjson::Document &payload)=0
 
virtual void handleRenderComplete (rapidjson::Document &payload)=0
 
virtual void handleLocalRenderDocument (rapidjson::Document &payload)=0
 
virtual void handleLocalExecuteCommands (rapidjson::Document &payload)=0
 
virtual void handleLocalClearDocument (rapidjson::Document &payload)=0
 
virtual void handleOnFocusChangedReceivedConfirmation (GUIToken token)=0
 
virtual void focusAcquireRequest (const GUIToken token, const std::string &avsInterface, const std::string &channelName, avsCommon::avs::ContentType contentType)=0
 Internal function to execute. More...
 
virtual void focusReleaseRequest (const GUIToken token, const std::string &avsInterface, const std::string &channelName)=0
 Internal function to execute. More...
 
virtual void setLocales (const std::string &localeStr)=0
 
virtual std::shared_ptr< ipc::IPCRoutergetIPCRouter ()=0
 Returns a reference to m_ipcRouter. More...
 

Detailed Description

An interface representing the GUI component responsible for rendering display card and for APL.

Member Typedef Documentation

◆ GUIToken

Alias for GUI provided token.

Constructor & Destructor Documentation

◆ ~GUIClientInterface()

virtual alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::~GUIClientInterface ( )
virtualdefault

Destructor

Member Function Documentation

◆ acquireFocus()

virtual bool alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::acquireFocus ( std::string  avsInterface,
std::string  channelName,
avsCommon::avs::ContentType  contentType,
std::shared_ptr< avsCommon::sdkInterfaces::ChannelObserverInterface channelObserver 
)
pure virtual

Request audio focus.

Parameters
avsInterfaceThe AVS Interface requesting focus.
channelNameThe channel to be requested.
contentTypeThe type of content acquiring focus.
channelObserverthe channelObserver to be notified.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ finalizeClientInitialization()

virtual bool alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::finalizeClientInitialization ( bool  errorState)
pure virtual

Finalize the client initialization with the error state so far passed from the caller.

Parameters
errorStateError state of the client initialization so far passed by the caller.
Returns
true if finalization succeeds.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ focusAcquireRequest()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::focusAcquireRequest ( const GUIToken  token,
const std::string &  avsInterface,
const std::string &  channelName,
avsCommon::avs::ContentType  contentType 
)
pure virtual

Internal function to execute.

See also
processFocusAcquireRequest

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ focusReleaseRequest()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::focusReleaseRequest ( const GUIToken  token,
const std::string &  avsInterface,
const std::string &  channelName 
)
pure virtual

Internal function to execute.

See also
processFocusReleaseRequest

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ getIPCRouter()

virtual std::shared_ptr<ipc::IPCRouter> alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::getIPCRouter ( )
pure virtual

Returns a reference to m_ipcRouter.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ handleAplEvent()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::handleAplEvent ( rapidjson::Document &  payload)
pure virtual

Handle aplEvent message.

Parameters
payloadThe payload retrieved from message holding this event.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ handleDisplayMetrics()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::handleDisplayMetrics ( rapidjson::Document &  payload)
pure virtual

Handle displayMetrics message.

Parameters
payloadThe payload retrieved from message holding this event.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ handleInitializeAPLRenderers()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::handleInitializeAPLRenderers ( rapidjson::Document &  payload)
pure virtual

Handle initialization of APL Renderers based on window and supported extensions reported by GUI app

Parameters
payloadThe payload retrieved from message holding this event.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ handleLocalClearDocument()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::handleLocalClearDocument ( rapidjson::Document &  payload)
pure virtual

Handle Local ClearDocument message.

Parameters
payloadThe payload holding the local clear document directive.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ handleLocalExecuteCommands()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::handleLocalExecuteCommands ( rapidjson::Document &  payload)
pure virtual

Handle Local ExecuteCommands message.

Parameters
payloadThe payload holding the local execute commands directive.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ handleLocalRenderDocument()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::handleLocalRenderDocument ( rapidjson::Document &  payload)
pure virtual

Handle Local RenderDocument message.

Parameters
payloadThe payload holding the local render document directive.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ handleOnFocusChangedReceivedConfirmation()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::handleOnFocusChangedReceivedConfirmation ( GUIToken  token)
pure virtual

Handle focus message received confirmation messages.

Parameters
tokenToken field in the focusChangedReport event.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ handleRenderComplete()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::handleRenderComplete ( rapidjson::Document &  payload)
pure virtual

Handle renderComplete message.

Parameters
payloadThe payload retrieved from message holding this event.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ releaseFocus()

virtual bool alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::releaseFocus ( std::string  avsInterface,
std::string  channelName,
std::shared_ptr< avsCommon::sdkInterfaces::ChannelObserverInterface channelObserver 
)
pure virtual

Release audio focus.

Parameters
avsInterfaceThe AVS Interface releasing focus.
channelNameThe channel to be released.
channelObserverthe channelObserver to be notified.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ sendMessage()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::sendMessage ( messages::MessageInterface message)
pure virtual

Send call state info.

Parameters
callStateInfoThe call state info. Sends a GUI Message to the server.
messageThe message to be written.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ setGUIManager()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::setGUIManager ( std::shared_ptr< gui::GUIServerInterface guiManager)
pure virtual

Set a reference to a GUI Manager

Parameters
guiManagerClient related operations.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.

◆ setLocales()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClientInterface::setLocales ( const std::string &  localeStr)
pure virtual

Informs the IPC Client of changes in supported locales for the SDK.

Parameters
localeStrThe locale(s) for the device. In single-locale mode, contains one locale string. In multi-locale mode, the first string indicates the primary locale, and any other strings correspond to secondary locales.

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::gui::GUIClient.


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