Shaka Player Embedded
Public Member Functions | Protected Member Functions | List of all members
shaka::eme::ImplementationHelper Class Referenceabstract

#include <implementation_helper.h>

Inheritance diagram for shaka::eme::ImplementationHelper:
shaka::js::eme::ImplementationHelperImpl

Public Member Functions

virtual std::string DataPathPrefix () const =0
 
virtual void OnMessage (const std::string &session_id, MediaKeyMessageType message_type, const uint8_t *data, size_t data_size) const =0
 
virtual void OnKeyStatusChange (const std::string &session_id) const =0
 

Protected Member Functions

 ImplementationHelper ()
 
virtual ~ ImplementationHelper ()
 
 ImplementationHelper (const ImplementationHelper &)=delete
 
ImplementationHelperoperator= (const ImplementationHelper &)=delete
 
 ImplementationHelper (ImplementationHelper &&)=delete
 
ImplementationHelperoperator= (ImplementationHelper &&)=delete
 

Detailed Description

An interface to the JavaScript backing of EME. This includes callbacks that are invoked by an EME implementation.

This type is thread-safe.

This MUST NOT be subclassed by the app. Only the public members are part of the public ABI. This allows us to add new members without breaking ABI compatibility.

Definition at line 38 of file implementation_helper.h.

Constructor & Destructor Documentation

§ ImplementationHelper() [1/3]

shaka::eme::ImplementationHelper::ImplementationHelper ( )
protected

§ ~ ImplementationHelper()

virtual shaka::eme::ImplementationHelper::~ ImplementationHelper ( )
protectedvirtual

§ ImplementationHelper() [2/3]

shaka::eme::ImplementationHelper::ImplementationHelper ( const ImplementationHelper )
protecteddelete

§ ImplementationHelper() [3/3]

shaka::eme::ImplementationHelper::ImplementationHelper ( ImplementationHelper &&  )
protecteddelete

Member Function Documentation

§ DataPathPrefix()

virtual std::string shaka::eme::ImplementationHelper::DataPathPrefix ( ) const
pure virtual

Gets the directory on the filesystem that should be used for data storage. This directory is specific for this EME implementation, so any files in it are for this implementation. ALL data MUST be in this directory.

Implemented in shaka::js::eme::ImplementationHelperImpl.

§ OnKeyStatusChange()

virtual void shaka::eme::ImplementationHelper::OnKeyStatusChange ( const std::string &  session_id) const
pure virtual

An event callback that should be called when the key status changes. This schedules a JavaScript event, but doesn't dispatch it.

Parameters
session_idThe ID of the session whose key statuses changed.

Implemented in shaka::js::eme::ImplementationHelperImpl.

§ OnMessage()

virtual void shaka::eme::ImplementationHelper::OnMessage ( const std::string &  session_id,
MediaKeyMessageType  message_type,
const uint8_t *  data,
size_t  data_size 
) const
pure virtual

An event callback that should be called when a message should be sent to the JavaScript application. This only schedules a JavaScript event, it does not dispatch it.

Parameters
session_idThe ID of the session that will receive the message.
message_typeThe type of the message.
dataThe data contents of the message.
data_sizeThe number of bytes in |data|.

Implemented in shaka::js::eme::ImplementationHelperImpl.

§ operator=() [1/2]

ImplementationHelper& shaka::eme::ImplementationHelper::operator= ( ImplementationHelper &&  )
protecteddelete

§ operator=() [2/2]

ImplementationHelper& shaka::eme::ImplementationHelper::operator= ( const ImplementationHelper )
protecteddelete

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