Wasabi ExpressPlay SDK for Embedded Systems  1.23.0
WsbRuntime.h
Go to the documentation of this file.
1 /*****************************************************************
2 |
3 | Wasabi - Runtime
4 |
5 | $Id: WsbRuntime.h 14217 2018-05-29 21:17:31Z hwa $
6 | Original author: Gilles Boccon-Gibod
7 |
8 | This software is provided to you pursuant to your agreement
9 | with Intertrust Technologies Corporation ("Intertrust").
10 | This software may be used only in accordance with the terms
11 | of the agreement.
12 |
13 | Copyright (c) 2008-2014 by Intertrust. All rights reserved.
14 |
15 ****************************************************************/
21 #ifndef _WSB_RUNTIME_H_
22 #define _WSB_RUNTIME_H_
23 
24 /*----------------------------------------------------------------------
25 | includes
26 +---------------------------------------------------------------------*/
27 #include "WsbTypes.h"
28 #include "ShiData.h"
29 
30 /*----------------------------------------------------------------------
31 | prototypes
32 +---------------------------------------------------------------------*/
33 struct SHI_Engine;
34 
35 /*----------------------------------------------------------------------
36 | functions
37 +---------------------------------------------------------------------*/
38 #if defined(__cplusplus)
39 extern "C" {
40 #endif
41 
59 WSB_EXPORT WSB_Result
60 WSB_Runtime_InitializeEx(const char* db_name_param);
61 
70 WSB_EXPORT WSB_Result
72 
80 WSB_EXPORT WSB_Boolean
82 
88 WSB_EXPORT WSB_Result
90 
95 WSB_EXPORT WSB_Boolean
97 
107 WSB_EXPORT WSB_Result
108 WSB_Runtime_Personalize(const char* token, WSB_Size token_length);
109 
123 WSB_EXPORT WSB_Result
124 WSB_Runtime_ProcessServiceToken(const char* token, WSB_Size token_length);
125 
142 WSB_EXPORT WSB_Result
143 WSB_Runtime_CheckLicense(const char* content_id);
144 
151 #define WSB_PROPERTY_NAME_MS3_ACCEPT_SELF_SIGNED_CERTS \
152  "WASABI_MS3_ACCEPT_SELF_SIGNED_CERTS"
153 
159 #define WSB_PROPERTY_NAME_MS3_ACCEPT_HOSTNAME_MISMATCH \
160  "WASABI_MS3_ACCEPT_HOSTNAME_MISMATCH"
161 
168 #define WSB_PROPERTY_NAME_STORAGE_DIRECTORY \
169  "WASABI_PROPERTY_STORAGE_DIRECTORY"
170 
185 #define WSB_PROPERTY_NAME_PROXY_DASH_CONTENT_LENGTH \
186  "WASABI_PROPERTY_PROXY_DASH_CONTENT_LENGTH"
187 
198 #define WSB_PROPERTY_NAME_ROOTED_OK \
199  "WASABI_PROPERTY_ROOTED_OK"
200 
210 #define WSB_PROPERTY_NAME_KEY_SPACE \
211  "WASABI_PROPERTY_KEY_SPACE"
212 #define WSB_PROPERTY_KEY_SPACE_TEST \
213  "TEST-KEYS"
214 #define WSB_PROPERTY_KEY_SPACE_PRODUCTION \
215  "PRODUCTION-KEYS"
216 
217 
227 #define WSB_PROPERTY_NAME_NEMO_DEVICE_ID \
228  "WASABI_PROPERTY_NEMO_DEVICE_ID"
229 
230 
240 #define WSB_PROPERTY_NAME_PERSONALITY_NODE_ID \
241  "WASABI_PROPERTY_PERSONALITY_NODE_ID"
242 
254 #define WSB_PROPERTY_NAME_TLS_SESSION_TICKET_LIFETIME \
255  "WASABI_PROPERTY_TLS_SESSION_TICKET_LIFETIME"
256 
276 #define WSB_PROPERTY_NAME_TLS_VERSION_MINOR_HIGH \
277  "WSB_PROPERTY_NAME_TLS_VERSION_MINOR_HIGH"
278 
301 #define WSB_PROPERTY_NAME_TLS_VERSION_MINOR_LOW \
302  "WSB_PROPERTY_NAME_TLS_VERSION_MINOR_LOW"
303 
317 #define WSB_PROPERTY_NAME_TLS_SESSION_ID_LIFETIME \
318  "WSB_PROPERTY_NAME_TLS_SESSION_ID_LIFETIME"
319 
331 #define WSB_PROPERTY_NAME_DEVICE_MANUFACTURER_ID \
332  "WSB_PROPERTY_NAME_DEVICE_MANUFACTURER_ID"
333 
345 #define WSB_PROPERTY_NAME_SHORT_DEVICE_ID \
346  "WSB_PROPERTY_NAME_SHORT_DEVICE_ID"
347 
361 WSB_EXPORT WSB_Result
362 WSB_Runtime_GetProperty(const char* name,
363  SHI_DataType type,
364  SHI_Data** value);
365 
379 WSB_EXPORT WSB_Result
380 WSB_Runtime_SetProperty(const char* name,
381  SHI_DataType type,
382  const SHI_DataValue* value);
383 
425 WSB_EXPORT WSB_Result
426 WSB_Runtime_VolatileStore(const char* content_type,
427  const void* data, WSB_Size data_size,
428  char* url_buffer, WSB_Size* url_buffer_size);
429 
431 #if defined(__cplusplus)
432 }
433 #endif
434 
435 #endif /* _WSB_RUNTIME_H_ */
struct SHI_Engine SHI_Engine
A SHI_Engine object is the initial point of interaction between an application and a DRM Engine...
Definition: ShiEngine.h:331
WSB_Boolean
Boolean type used for variables that can be true (WSB_TRUE) or false (WSB_FALSE). ...
Definition: WsbTypes.h:71
WSB_EXPORT WSB_Result WSB_Runtime_InitializeEx(const char *db_name_param)
Initializes the SDK for an application.
WSB_EXPORT WSB_Result WSB_Runtime_SetProperty(const char *name, SHI_DataType type, const SHI_DataValue *value)
Assign a Wasabi property value.
WSB_EXPORT WSB_Result WSB_Runtime_ProcessServiceToken(const char *token, WSB_Size token_length)
Process Marlin service token synchronously.
Union of different possible types of values encapsulated by a SHI_Data object.
Definition: ShiData.h:90
SHI_DataType
Possible types of data in the value encapsulated by a SHI_Data object.
Definition: ShiData.h:37
WSB_EXPORT WSB_Result WSB_Runtime_Initialize()
Initializes the SDK for an application, with the default DRM database name parameter selected during ...
WSB_EXPORT WSB_Boolean WSB_Runtime_IsPersonalized()
Check whether the runtime has been personalized.
WSB_EXPORT WSB_Result WSB_Runtime_VolatileStore(const char *content_type, const void *data, WSB_Size data_size, char *url_buffer, WSB_Size *url_buffer_size)
Store a data object into Volatile Store returning a new special URL string that can be passed as medi...
int WSB_Result
Signed integer value representing a function or method result (return value).
Definition: WsbTypes.h:83
WSB_EXPORT WSB_Result WSB_Runtime_Personalize(const char *token, WSB_Size token_length)
Perform personalization.
WSB_EXPORT WSB_Result WSB_Runtime_CheckLicense(const char *content_id)
Check for a valid playback license.
WSB_EXPORT WSB_Result WSB_Runtime_Terminate()
Terminates the SDK.
struct SHI_Data SHI_Data
A SHI_Data object represents a typed data object.
Definition: EmbProcessor.h:231
WSB_EXPORT WSB_Boolean WSB_Runtime_IsInitialized()
Checks to see whether WSB_Runtime_Initialize has already been called successfully.
WSB_EXPORT WSB_Result WSB_Runtime_GetProperty(const char *name, SHI_DataType type, SHI_Data **value)
Query a Wasabi property value.
Wasabi Result.
Generic Data Objects.
WSB_UInt32 WSB_Size
An unsigned integer used to represent a measurable quantity (e.g., the size of a file).
Definition: WsbTypes.h:104