Wasabi ExpressPlay SDK for Embedded Systems  1.23.0
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

◆ WSB_DRMDBUS_METHOD_IS_ACTION_VALID

#define WSB_DRMDBUS_METHOD_IS_ACTION_VALID   "isActionValid"

◆ WSB_DRMDBUS_METHOD_PROCESS_MESSAGE

#define WSB_DRMDBUS_METHOD_PROCESS_MESSAGE   "processMessage"

◆ WSB_DRMDBUS_SERVICE

#define WSB_DRMDBUS_SERVICE   "com.intertrust.wasabi"

Typedef Documentation

◆ WSB_DrmDbus

typedef struct WSB_DrmDbus WSB_DrmDbus

Enumeration Type Documentation

◆ WSB_DrmDbus_ActionType

Enumerator
WSB_DRMDBUS_AT_UNKNOWN 
WSB_DRMDBUS_AT_PLAY 

◆ WSB_DrmDbus_MessageType

Enumerator
WSB_DRMDBUS_MT_UNKNOWN 
WSB_DRMDBUS_MT_MARLIN_ACTION_TOKEN 

◆ WSB_DrmDbusResult

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