Wasabi ExpressPlay SDK for Embedded Systems
1.23.0
|
DRM Engine. More...
#include "ShiResults.h"
#include "ShiTypes.h"
#include "ShiInterfaces.h"
#include "ShiList.h"
#include "ShiLicense.h"
#include "ShiService.h"
#include "ShiProperties.h"
Go to the source code of this file.
Data Structures | |
struct | SHI_EngineEventInfoItem |
A single event information item. More... | |
struct | SHI_EngineEventInfoItems |
List of event information items. More... | |
struct | SHI_EngineEvent |
Information about an event received by a SHI_EngineListener. More... | |
struct | SHI_LicenseDataReceivedEvent |
Event data for all SHI_ENGINE_EVENT_LICENSE_DATA_RECEIVED events. More... | |
struct | SHI_EngineListener |
Recipient of event callbacks. More... | |
struct | SHI_EngineListenerInterface |
Interface implemented by an application in order to receive event notifications from a SHI_Engine. More... | |
struct | SHI_EngineConfig |
Configuration passed as an argument to the SHI_Engine_Create factory function. More... | |
struct | SHI_RegistrationDataManager |
Interface implemented and passed to SHI_Engine_ProcessServiceTokenEx to modify where the SDK should get the personality and nodes from and where to save nodes and links. More... | |
Macros | |
#define | SHI_ERROR_ENGINE_NOT_PERSONALIZED (SHI_ERROR_BASE_API_ENGINE - 0) |
#define | SHI_ERROR_ENGINE_INVALID_TEMPLATE (SHI_ERROR_BASE_API_ENGINE - 1) |
#define | SHI_ERROR_ENGINE_POST_VACUUM (SHI_ERROR_BASE_API_ENGINE - 2) |
#define | SHI_ERROR_ENGINE_NO_CONFIG_TOKEN (SHI_ERROR_BASE_API_ENGINE - 3) |
#define | SHI_ERROR_ENGINE_ALREADY_PERSONALIZED (SHI_ERROR_BASE_API_ENGINE - 4) |
#define | SHI_ENGINE_PROP_VERSION "Version" |
The SHI_Engine supports the SHI_Properties interface that you can access through the SHI_Engine_GetInterface method. More... | |
#define | SHI_ENGINE_PROP_BUILD_DATE "BuildDate" |
SHI_DATA_TYPE_STRING. More... | |
#define | SHI_ENGINE_PROP_IS_PERSONALIZED "IsPersonalized" |
SHI_DATA_TYPE_BOOLEAN. More... | |
#define | SHI_ENGINE_PROP_PERSONALITY "Personality" |
SHI_DATA_TYPE_OBJECT. More... | |
#define | SHI_ENGINE_PROP_HTTP_PROXY_HOST_NAME "HttpProxyHostname" |
SHI_DATA_TYPE_STRING. More... | |
#define | SHI_ENGINE_PROP_HTTP_PROXY_PORT "HttpProxyPort" |
SHI_DATA_TYPE_INTEGER. More... | |
#define | SHI_ENGINE_PROP_HTTP_PROXY_ENABLED "HttpProxyEnabled" |
SHI_DATA_TYPE_BOOLEAN. More... | |
#define | SHI_ENGINE_PROP_HTTPS_PROXY_HOST_NAME "HttpsProxyHostname" |
SHI_DATA_TYPE_STRING. More... | |
#define | SHI_ENGINE_PROP_HTTPS_PROXY_PORT "HttpsProxyPort" |
SHI_DATA_TYPE_INTEGER. More... | |
#define | SHI_ENGINE_PROP_HTTP_CONNECTION_TIMEOUT "HttpConnectionTimeout" |
SHI_DATA_TYPE_INTEGER. More... | |
#define | SHI_ENGINE_PROP_HTTP_IO_TIMEOUT "HttpIOTimeout" |
SHI_DATA_TYPE_INTEGER. More... | |
#define | SHI_ENGINE_PROP_PREFERRED_LANGUAGES "PreferredLanguages" |
SHI_DATA_TYPE_ARRAY of SHI_DATA_TYPE_STRING. More... | |
#define | SHI_ENGINE_PROP_CACHE_POLICY "CachePolicy" |
SHI_DATA_TYPE_INTEGER. More... | |
#define | SHI_ENGINE_PROP_NEMO "Nemo" |
SHI_DATA_TYPE_OBJECT. More... | |
#define | SHI_ENGINE_VACUUM_FLAG_NODES (1) |
vacuuming types More... | |
#define | SHI_ENGINE_VACUUM_FLAG_LINKS (2) |
remove expired links More... | |
#define | SHI_ENGINE_VACUUM_FLAG_SEASHELL (4) |
remove expired seashell objects More... | |
#define | SHI_ENGINE_VACUUM_FLAG_DONT_SAVE_RECENT_LINK (8) |
most recent expired link will not be spared More... | |
#define | SHI_ENGINE_VACUUM_FLAG_WIPE (16) |
remove everything but personality More... | |
Typedefs | |
typedef struct SHI_EngineListenerInstance | SHI_EngineListenerInstance |
typedef struct SHI_EngineListenerInterface | SHI_EngineListenerInterface |
typedef struct SHI_RegistrationDataManager | SHI_RegistrationDataManager |
Interface implemented and passed to SHI_Engine_ProcessServiceTokenEx to modify where the SDK should get the personality and nodes from and where to save nodes and links. More... | |
typedef struct SHI_Engine | SHI_Engine |
A SHI_Engine object is the initial point of interaction between an application and a DRM Engine. More... | |
Enumerations | |
enum | SHI_EngineCachePolicy { SHI_ENGINE_CACHE_CACHE_LINKS, SHI_ENGINE_CACHE_RELOAD_LINKS } |
Caching policies. More... | |
enum | SHI_EngineCertChain { SHI_ENGINE_CERT_CHAIN_NEMO_SIGN, SHI_ENGINE_CERT_CHAIN_NEMO_ENCRYPT } |
certificate chain types More... | |
enum | SHI_EngineEventType { SHI_ENGINE_EVENT_SERVICE_ADDED, SHI_ENGINE_EVENT_SERVICE_REMOVED, SHI_ENGINE_EVENT_SERVICE_CHANGED, SHI_ENGINE_EVENT_SERVICE_USER_ADDED, SHI_ENGINE_EVENT_SERVICE_USER_REMOVED, SHI_ENGINE_EVENT_SERVICE_USER_CHANGED, SHI_ENGINE_EVENT_TRANSACTION_BEGIN, SHI_ENGINE_EVENT_TRANSACTION_END, SHI_ENGINE_EVENT_TRANSACTION_PROGRESS, SHI_ENGINE_EVENT_LICENSE_DATA_RECEIVED } |
Types of events that a SHI_EngineEventListener may receive. More... | |
Functions | |
SHI_PUBLIC_API void * | SHI_Engine_GetInterface (SHI_Engine *self, SHI_InterfaceId iface_id) |
Obtains a pointer to a SHI_Engine object with a different interface. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_Destroy (SHI_Engine *self) |
Destroys this engine object. More... | |
SHI_PUBLIC_API SHI_Boolean | SHI_Engine_IsPersonalized (SHI_Engine *self) |
Indicates whether or not this engine has been personalized. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_Personalize (SHI_Engine *self, const char *token, SHI_Size token_size, const void *cookie) |
Requests that this engine engage in the personalization process. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_UpdatePersonality (SHI_Engine *self, const char *token, SHI_Size token_size, const void *cookie) |
Requests that this engine engage in the personality update process to renew its public credentials. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_GetTrustedTime (SHI_Engine *self, SHI_DateTime *now) |
Returns the current value of the trusted time. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_ProcessServiceToken (SHI_Engine *self, const char *token, SHI_Size token_size, const void *cookie) |
Requests that this engine process a service token, such as a Broadband Action Token. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_ProcessServiceTokenEx (SHI_Engine *self, const char *token, SHI_Size token_size, const void *cookie, SHI_RegistrationDataManager *registration_data_manager) |
Use this API instead of SHI_Engine_ProcessServiceToken if you want to overwrite the default behavior for saving and loading nodes and links during registration. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_EnumerateServices (SHI_Engine *self, SHI_List **services) |
Gets the list of the services that are currently configured for this engine. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_EnumerateServiceUsers (SHI_Engine *self, const char *service_id, SHI_List **users) |
Gets a list of service users of one or more of this engine's configured services. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_EnumerateServiceSubscriptions (SHI_Engine *self, const char *service_id, const char *user_id, SHI_List **subscriptions) |
Gets a list of subscriptions associated with one or more of the engine's configured services. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_CreateLicense (SHI_Engine *self, SHI_License **license) |
Creates a new SHI_License object managed by this engine. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_UpdateSecurityData (SHI_Engine *self, const char *service_id, SHI_UInt32 last_update, const void *cookie) |
Updates security data for a specified service configured for this engine object. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_VacuumData (SHI_Engine *self, SHI_Flags vacuum_options) |
Removes expired data stored in Sushi's database. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_GetObjectDetails (SHI_Engine *self, const char *object_id, SHI_Attribute **details) |
Gets the details of this Octopus object. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_DeleteObject (SHI_Engine *self, const char *object_id) |
Removes the given Octopus object from the Sushi database. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_GetLinkIds (SHI_Engine *self, SHI_Data **id_array) |
Gets list of all Octopus links known to this Sushi instance. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_GetNodeIds (SHI_Engine *self, SHI_Data **id_array) |
Gets list of all Octopus nodes known to this Sushi instance. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_TransformURITemplate (SHI_Engine *self, const char *uri_template, SHI_Data **uri) |
Transforms a URI template according to the "URI Templates for
Marlin" specification. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_GetCertificateChain (SHI_Engine *self, SHI_EngineCertChain cert_chain, SHI_Data **cert_array) |
Get the certificates of the specified certificate chain. More... | |
SHI_PUBLIC_API SHI_Result | SHI_Engine_Create (const SHI_EngineConfig *config, SHI_Engine **engine) |
Creates a SHI_Engine object. More... | |
DRM Engine.
#define SHI_ENGINE_PROP_BUILD_DATE "BuildDate" |
SHI_DATA_TYPE_STRING.
#define SHI_ENGINE_PROP_CACHE_POLICY "CachePolicy" |
SHI_DATA_TYPE_INTEGER.
#define SHI_ENGINE_PROP_HTTP_CONNECTION_TIMEOUT "HttpConnectionTimeout" |
SHI_DATA_TYPE_INTEGER.
#define SHI_ENGINE_PROP_HTTP_IO_TIMEOUT "HttpIOTimeout" |
SHI_DATA_TYPE_INTEGER.
#define SHI_ENGINE_PROP_HTTP_PROXY_ENABLED "HttpProxyEnabled" |
SHI_DATA_TYPE_BOOLEAN.
#define SHI_ENGINE_PROP_HTTP_PROXY_HOST_NAME "HttpProxyHostname" |
SHI_DATA_TYPE_STRING.
#define SHI_ENGINE_PROP_HTTP_PROXY_PORT "HttpProxyPort" |
SHI_DATA_TYPE_INTEGER.
#define SHI_ENGINE_PROP_HTTPS_PROXY_HOST_NAME "HttpsProxyHostname" |
SHI_DATA_TYPE_STRING.
#define SHI_ENGINE_PROP_HTTPS_PROXY_PORT "HttpsProxyPort" |
SHI_DATA_TYPE_INTEGER.
#define SHI_ENGINE_PROP_IS_PERSONALIZED "IsPersonalized" |
SHI_DATA_TYPE_BOOLEAN.
#define SHI_ENGINE_PROP_NEMO "Nemo" |
SHI_DATA_TYPE_OBJECT.
#define SHI_ENGINE_PROP_PERSONALITY "Personality" |
SHI_DATA_TYPE_OBJECT.
#define SHI_ENGINE_PROP_PREFERRED_LANGUAGES "PreferredLanguages" |
SHI_DATA_TYPE_ARRAY of SHI_DATA_TYPE_STRING.
#define SHI_ENGINE_PROP_VERSION "Version" |
The SHI_Engine supports the SHI_Properties interface that you can access through the SHI_Engine_GetInterface method.
The following properties are guaranteed to be defined with the corresponding data type.SHI_DATA_TYPE_INTEGER
#define SHI_ENGINE_VACUUM_FLAG_DONT_SAVE_RECENT_LINK (8) |
most recent expired link will not be spared
#define SHI_ENGINE_VACUUM_FLAG_LINKS (2) |
remove expired links
#define SHI_ENGINE_VACUUM_FLAG_NODES (1) |
vacuuming types
remove expired nodes
#define SHI_ENGINE_VACUUM_FLAG_SEASHELL (4) |
remove expired seashell objects
#define SHI_ENGINE_VACUUM_FLAG_WIPE (16) |
remove everything but personality
#define SHI_ERROR_ENGINE_ALREADY_PERSONALIZED (SHI_ERROR_BASE_API_ENGINE - 4) |
#define SHI_ERROR_ENGINE_INVALID_TEMPLATE (SHI_ERROR_BASE_API_ENGINE - 1) |
#define SHI_ERROR_ENGINE_NO_CONFIG_TOKEN (SHI_ERROR_BASE_API_ENGINE - 3) |
#define SHI_ERROR_ENGINE_NOT_PERSONALIZED (SHI_ERROR_BASE_API_ENGINE - 0) |
#define SHI_ERROR_ENGINE_POST_VACUUM (SHI_ERROR_BASE_API_ENGINE - 2) |
typedef struct SHI_EngineListenerInstance SHI_EngineListenerInstance |
typedef struct SHI_EngineListenerInterface SHI_EngineListenerInterface |
typedef struct SHI_RegistrationDataManager SHI_RegistrationDataManager |
Interface implemented and passed to SHI_Engine_ProcessServiceTokenEx to modify where the SDK should get the personality and nodes from and where to save nodes and links.
enum SHI_EngineCertChain |
enum SHI_EngineEventType |
Types of events that a SHI_EngineEventListener may receive.