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

#include <APLViewhostInterface.h>

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

Public Member Functions

virtual ~APLViewhostInterface ()=default
 
virtual void addObserver (const APLViewhostObserverInterfacePtr &observer)=0
 
virtual void removeObserver (const APLViewhostObserverInterfacePtr &observer)=0
 
virtual void renderDocument (const aplCapabilityCommonInterfaces::PresentationSession &presentationSession, const std::string &token, const std::string &document, const std::string &datasources, const std::string &supportedViewports, const std::string &windowId)=0
 
virtual void clearDocument ()
 
virtual void clearDocument (const std::string &token)
 
virtual void executeCommands (const std::string &commands, const std::string &token)=0
 
virtual void dataSourceUpdate (const std::string &sourceType, const std::string &data, const std::string &token)=0
 
virtual void interruptCommandSequence ()
 
virtual void interruptCommandSequence (const std::string &token)
 
virtual void onRenderDirectiveReceived (const std::string &token, const std::chrono::steady_clock::time_point &receiveTime)
 
virtual std::string getMaxAPLVersion () const =0
 
virtual void setMetricRecorder (std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface > metricRecorder)=0
 
virtual bool handleBack (const std::string &windowId)=0
 
- Public Member Functions inherited from alexaClientSDK::aplCapabilityCommonInterfaces::VisualStateProviderInterface
virtual ~VisualStateProviderInterface ()=default
 
virtual void provideState (const PresentationToken &token, const avsCommon::sdkInterfaces::ContextRequestToken stateRequestToken)=0
 

Detailed Description

This interface is intended to define a well defined surface for APLCore / APLViewhost integrations.

Constructor & Destructor Documentation

◆ ~APLViewhostInterface()

virtual alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::~APLViewhostInterface ( )
virtualdefault

Destructor

Member Function Documentation

◆ addObserver()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::addObserver ( const APLViewhostObserverInterfacePtr observer)
pure virtual

Adds a viewhost observer

Parameters
observerthe observer to register

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.

◆ clearDocument() [1/2]

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::clearDocument ( )
inlinevirtual

Clear APL document

Deprecated:
provide an explicit token instead

◆ clearDocument() [2/2]

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::clearDocument ( const std::string &  token)
inlinevirtual

Clear APL document

Parameters
tokentoken of document to clear

Reimplemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.

◆ dataSourceUpdate()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::dataSourceUpdate ( const std::string &  sourceType,
const std::string &  data,
const std::string &  token 
)
pure virtual

Update the data source payload for a given APL document

Parameters
sourceTypeAPL spec source type for data update
dataJSON string containing new data payload associated with APL document
tokenPresentation token to identify document to update

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.

◆ executeCommands()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::executeCommands ( const std::string &  commands,
const std::string &  token 
)
pure virtual

Execute commands referenced in APL document

Parameters
documentJSON string containing APL command to execute
tokenPresentation token to identify document to execute commands on

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.

◆ getMaxAPLVersion()

virtual std::string alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::getMaxAPLVersion ( ) const
pure virtual

Retrieves the maximum APL version supported by this runtime

Returns
the max supported APL version

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.

◆ handleBack()

virtual bool alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::handleBack ( const std::string &  windowId)
pure virtual

Handle back navigation

Parameters
windowIdThe window ID on which to perform the back action
Returns
true if the viewhost can handle back, false otherwise

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.

◆ interruptCommandSequence() [1/2]

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::interruptCommandSequence ( )
inlinevirtual

Interrupt active command sequence

Deprecated:
provide an explicit token instead

◆ interruptCommandSequence() [2/2]

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::interruptCommandSequence ( const std::string &  token)
inlinevirtual

Interrupt active command sequence

Parameters
tokentoken of document to interrupt

Reimplemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.

◆ onRenderDirectiveReceived()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::onRenderDirectiveReceived ( const std::string &  token,
const std::chrono::steady_clock::time_point &  receiveTime 
)
inlinevirtual

Used for metrics purposes, notifies the APLRuntime of the time when the directive was received

Parameters
tokentoken of the document
receiveTimeThe receive time

Reimplemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.

◆ removeObserver()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::removeObserver ( const APLViewhostObserverInterfacePtr observer)
pure virtual

Removes a viewhost observer.

Parameters
observerthe observer to unregister

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.

◆ renderDocument()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::renderDocument ( const aplCapabilityCommonInterfaces::PresentationSession presentationSession,
const std::string &  token,
const std::string &  document,
const std::string &  datasources,
const std::string &  supportedViewports,
const std::string &  windowId 
)
pure virtual

Render an APL document with extra associated data payload

Parameters
presentationSessionThe presentation session associated with this renderDocument request
documentJSON string containing APL document
dataJSON string containing data payload associated with APL document
tokenPresentation token uniquely identifying the document
supportedViewportsViewports supported by this document
windowIdTarget windowId to display the document within

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.

◆ setMetricRecorder()

virtual void alexaClientSDK::sampleApplications::ipcServerSampleApp::APLViewhostInterface::setMetricRecorder ( std::shared_ptr< avsCommon::utils::metrics::MetricRecorderInterface metricRecorder)
pure virtual

Sets the metrics recorder to be used by the runtime to record and emit metric events.

Parameters
metricRecorderShared pointer to the MetricRecorderInterface

Implemented in alexaClientSDK::sampleApplications::ipcServerSampleApp::AplClientBridge.


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