Wasabi ExpressPlay SDK for Embedded Systems  1.10
Data Structures | Macros | Typedefs | Enumerations | Functions
WsbDrmDbus.h File Reference

A Wasabi Marlin DRM D-Bus interface. More...

#include "Sushi.h"
#include "WsbTypes.h"
#include "WsbResults.h"

Go to the source code of this file.

Data Structures

struct  WSB_DrmDbus_TokenProcessed
 
struct  WSB_DrmDbus_ActionResultValidator
 

Macros

#define WSB_DRMDBUS_SERVICE   "com.intertrust.wasabi"
 
#define WSB_DRMDBUS_METHOD_PROCESS_MESSAGE   "processMessage"
 
#define WSB_DRMDBUS_METHOD_IS_ACTION_VALID   "isActionValid"
 

Typedefs

typedef struct WSB_DrmDbus WSB_DrmDbus
 

Enumerations

enum  WSB_DrmDbus_MessageType {
  WSB_DRMDBUS_MT_UNKNOWN = -1,
  WSB_DRMDBUS_MT_MARLIN_ACTION_TOKEN = 0
}
 
enum  WSB_DrmDbus_ActionType {
  WSB_DRMDBUS_AT_UNKNOWN = -1,
  WSB_DRMDBUS_AT_PLAY = 0
}
 
enum  WSB_DrmDbusResult {
  WSB_DRMDBUS_SUCCESS = 0,
  WSB_DRMDBUS_ERROR_INVALID_STATE = 1,
  WSB_DRMDBUS_ERROR_CLIENT = 2,
  WSB_DRMDBUS_ERROR_SERVER = 3,
  WSB_DRMDBUS_ERROR_SERVER_DENIED = 4,
  WSB_DRMDBUS_ERROR_COMMUNICATION = 5,
  WSB_DRMDBUS_ERROR_LICENSE_UNSUPPORTED = 7,
  WSB_DRMDBUS_ERROR_BAD_LICENSE_FORMAT = 8,
  WSB_DRMDBUS_ERROR_MISSING_CREDENTIALS = 9,
  WSB_DRMDBUS_ERROR_LICENSE_EXPIRED = 10,
  WSB_DRMDBUS_ERROR_PLAYCOUNT_EXCEEDED = 11,
  WSB_DRMDBUS_ERROR_SUBSCRIPTION_EXPIRED = 12,
  WSB_DRMDBUS_ERROR_CONTENT_PROTECTION_OTHER = 99
}
 

Functions

WSB_EXPORT WSB_Result WSB_DrmDbus_Initialize (WSB_DrmDbus **drm, WSB_Size max_pending_requests)
 
WSB_EXPORT WSB_Result WSB_DrmDbus_ProcessActionToken (WSB_DrmDbus *drm, const char *token, const WSB_DrmDbus_TokenProcessed callback)
 
WSB_EXPORT WSB_Result WSB_DrmDbus_IsActionValid (WSB_DrmDbus *drm, const char *content_id, WSB_DrmDbus_ActionType action, WSB_DrmDbus_ActionResultValidator validator, int *retval)
 
WSB_EXPORT WSB_Result WSB_DrmDbus_Terminate (WSB_DrmDbus *drm)
 
WSB_EXPORT WSB_DrmDbusResult WSB_DrmDbus_ResultMap (WSB_Result code)
 

Detailed Description

A Wasabi Marlin DRM D-Bus interface.

The D-Bus interface is defined by the Canvas project.

Macro Definition Documentation

#define WSB_DRMDBUS_METHOD_IS_ACTION_VALID   "isActionValid"
#define WSB_DRMDBUS_METHOD_PROCESS_MESSAGE   "processMessage"
#define WSB_DRMDBUS_SERVICE   "com.intertrust.wasabi"

Typedef Documentation

typedef struct WSB_DrmDbus WSB_DrmDbus

Enumeration Type Documentation

Enumerator
WSB_DRMDBUS_AT_UNKNOWN 
WSB_DRMDBUS_AT_PLAY 
Enumerator
WSB_DRMDBUS_MT_UNKNOWN 
WSB_DRMDBUS_MT_MARLIN_ACTION_TOKEN 
Enumerator
WSB_DRMDBUS_SUCCESS 
WSB_DRMDBUS_ERROR_INVALID_STATE 
WSB_DRMDBUS_ERROR_CLIENT 
WSB_DRMDBUS_ERROR_SERVER 
WSB_DRMDBUS_ERROR_SERVER_DENIED 
WSB_DRMDBUS_ERROR_COMMUNICATION 
WSB_DRMDBUS_ERROR_LICENSE_UNSUPPORTED 
WSB_DRMDBUS_ERROR_BAD_LICENSE_FORMAT 
WSB_DRMDBUS_ERROR_MISSING_CREDENTIALS 
WSB_DRMDBUS_ERROR_LICENSE_EXPIRED 
WSB_DRMDBUS_ERROR_PLAYCOUNT_EXCEEDED 
WSB_DRMDBUS_ERROR_SUBSCRIPTION_EXPIRED 
WSB_DRMDBUS_ERROR_CONTENT_PROTECTION_OTHER 

Function Documentation

WSB_EXPORT WSB_Result WSB_DrmDbus_Initialize ( WSB_DrmDbus **  drm,
WSB_Size  max_pending_requests 
)
WSB_EXPORT WSB_Result WSB_DrmDbus_IsActionValid ( WSB_DrmDbus drm,
const char *  content_id,
WSB_DrmDbus_ActionType  action,
WSB_DrmDbus_ActionResultValidator  validator,
int *  retval 
)
WSB_EXPORT WSB_Result WSB_DrmDbus_ProcessActionToken ( WSB_DrmDbus drm,
const char *  token,
const WSB_DrmDbus_TokenProcessed  callback 
)
WSB_EXPORT WSB_DrmDbusResult WSB_DrmDbus_ResultMap ( WSB_Result  code)
WSB_EXPORT WSB_Result WSB_DrmDbus_Terminate ( WSB_DrmDbus drm)