Wasabi ExpressPlay SDK for Embedded Systems  1.23.0
Typedefs | Functions
WSB_ActionResultInfo Class

Marlin license consumption result information access. More...

Typedefs

typedef struct WSB_ActionResultInfo WSB_ActionResultInfo
 A WSB_ActionResultInfo object represents information about a SHI_ActionResult. More...
 

Functions

WSB_EXPORT WSB_Result WSB_ExplainActionResultFailure (SHI_ActionResult *action_result, SHI_Engine *engine, WSB_MediaFile *media_file, SHI_Data **goto_url)
 Explains the action result failure (action is not granted) with a meaningful error code and an optional goto URL which semantics is error code dependent (rights issuer URL or link renewal URL (for a WSB_ERROR_DRM_SUBSCRIPTION_EXPIRED case)). More...
 
WSB_EXPORT WSB_Result WSB_ActionResultInfo_Create (SHI_ActionResult *action_result, WSB_ActionResultInfo **info)
 Creates an instance of a WSB_ActionResultInfo object, which analyzes the passed-in SHI_ActionResult object and allows queries on the information contained within that object. More...
 
WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_IsGranted (WSB_ActionResultInfo *info)
 Returns whether the SHI_ActionResult grants access to the associated content keys. More...
 
WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_IsPermanent (WSB_ActionResultInfo *info)
 Returns whether the SHI_ActionResult grants permanent rights to access the content. More...
 
WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_MustAccept (WSB_ActionResultInfo *info)
 Returns whether the caller must explicitly accept the constraints (obligations and/or callbacks) specified by the SHI_ActionResult. More...
 
WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_HasObligations (WSB_ActionResultInfo *info)
 Returns WSB_TRUE if the SHI_ActionResult specifies obligations. More...
 
WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_HasMandatoryObligations (WSB_ActionResultInfo *info)
 Returns WSB_TRUE if the SHI_ActionResult specifies mandatory obligations. More...
 
WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_HasCallbacks (WSB_ActionResultInfo *info)
 Returns WSB_TRUE if the SHI_ActionResult specifies callbacks. More...
 
WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_HasMandatoryCallbacks (WSB_ActionResultInfo *info)
 Returns WSB_TRUE if the SHI_ActionResult specifies mandatory callbacks. More...
 
WSB_EXPORT WSB_Cardinal WSB_ActionResultInfo_GetConstraintCount (WSB_ActionResultInfo *info, WSB_Boolean mandatory_only)
 Returns the count of constraints, which includes obligations and callbacks. More...
 
WSB_EXPORT WSB_Result WSB_ActionResultInfo_GetConstraintByIndex (WSB_ActionResultInfo *info, WSB_Boolean mandatory_only, WSB_Ordinal indx, WSB_ActionResultConstraint **constraint)
 Returns a constraint, specified by index, from all constraints reflected in the SHI_ActionResult object. More...
 
WSB_EXPORT WSB_Result WSB_ActionResultInfo_CheckSecurityClasses (WSB_ActionResultInfo *info, const WSB_Int32 sec_classes[], WSB_UInt32 num_sec_classes, const char *content_id, WSB_Int32 target_portion)
 Checks the security classes supported by the host application/device can satisfy the mandatory obligation in the SecurityClass parameter of SecureContentPath output control technology reflected in the SHI_ActionResult object. More...
 
WSB_EXPORT WSB_Result WSB_ActionResultInfo_CheckHdcpSrm (WSB_ActionResultInfo *info)
 Checks High-bandwidth Digital Content Protection System Renewability Message (HDCP-SRM) supported by the device that can satisfy the mandatory obligation in the SRM parameter of HDCP output control technology in the SHI_ActionResult object. More...
 
WSB_EXPORT WSB_Result WSB_ActionResultInfo_Destroy (WSB_ActionResultInfo *store)
 Destroys the WSB_ActionResultInfo object. More...
 

Detailed Description

Marlin license consumption result information access.

Typedef Documentation

◆ WSB_ActionResultInfo

A WSB_ActionResultInfo object represents information about a SHI_ActionResult.

Function Documentation

◆ WSB_ActionResultInfo_CheckHdcpSrm()

WSB_EXPORT WSB_Result WSB_ActionResultInfo_CheckHdcpSrm ( WSB_ActionResultInfo info)

Checks High-bandwidth Digital Content Protection System Renewability Message (HDCP-SRM) supported by the device that can satisfy the mandatory obligation in the SRM parameter of HDCP output control technology in the SHI_ActionResult object.

This method should be called in WSB_Config_ValidateActionResult function for device that has built in support for HDCP-SRM. User of this function must implement two callbacks: WSB_Config_ValidateHdcpSrmVersion and WSB_Config_ValidateHdcpSrmUpdate. See the example HDCP-SRM config action result validator in $WASABI_HOME/Source/Config/Validator/HdcpSrm/ for more details.

Parameters
infoThe WSB_ActionResultInfo object.
Returns
WSB_SUCCESS if HDCP-SRM supported by the device meets the SRM requirement in its current form or performs SRM update successfully. WSB_ERROR_NO_SUCH_ITEM when there is no HDCP-SRM mandatory obligation. WSB_ERROR_OC_HDCP_SRM_PARSE when fail to parse HDCP_SRM mandatory obligation. WSB_ERROR_OC_HDCP_SRM_UPDATE when fail to process or perform SRM update. WSB_ERROR_OC_HDCP_SRM_NOT_SUPPORTED if the device does not support HDCP-SRM.
Since
1.19.0

◆ WSB_ActionResultInfo_CheckSecurityClasses()

WSB_EXPORT WSB_Result WSB_ActionResultInfo_CheckSecurityClasses ( WSB_ActionResultInfo info,
const WSB_Int32  sec_classes[],
WSB_UInt32  num_sec_classes,
const char *  content_id,
WSB_Int32  target_portion 
)

Checks the security classes supported by the host application/device can satisfy the mandatory obligation in the SecurityClass parameter of SecureContentPath output control technology reflected in the SHI_ActionResult object.

This method should be called in WSB_Config_ValidateActionResult function when host application/device has built in support for security classes.

Parameters
infoThe WSB_ActionResultInfo object.
sec_classesAn array of security class ids that are supported by the host application/device, see version 1.0.3, Appendix A of the Marlin - Output Control Specification
num_sec_classesNumber of security class ids in sec_classes array
content_idContent id to which the specified security class is applied
target_portion0 for all portion (for ex, for EBook content), 1 for audio portion, 2 for video portion
Returns
WSB_SUCCESS if security classes supported by the host application/device meet the SecurityClass requirement. The host application/device should enable the SecureContentPath described by sec_classes for the target_portion. WSB_ERROR_OC_NOT_SUBJECT_TO_SEC_CLASS when the content_id or target_portion specified is not subject to the SecurityClass requirement. WSB_ERROR_NO_SUCH_ITEM when there is no SecurityClass requirement. WSB_ERROR_DRM_LICENSE_UNSUPPORTED when security classes supported by the host application/device do not meet the SecurityClass requirement.
Since
1.12.2

◆ WSB_ActionResultInfo_Create()

WSB_EXPORT WSB_Result WSB_ActionResultInfo_Create ( SHI_ActionResult action_result,
WSB_ActionResultInfo **  info 
)

Creates an instance of a WSB_ActionResultInfo object, which analyzes the passed-in SHI_ActionResult object and allows queries on the information contained within that object.

Provides a high-level interface for obtaining information about obligations, callbacks, and other constraints specified in MS3 and Broadband licenses.

Parameters
action_resultPointer to a SHI_ActionResult object.
infoAddress of a WSB_ActionResultInfo pointer that will be set to refer to the WSB_ActionResultInfo object created.

◆ WSB_ActionResultInfo_Destroy()

WSB_EXPORT WSB_Result WSB_ActionResultInfo_Destroy ( WSB_ActionResultInfo store)

Destroys the WSB_ActionResultInfo object.

Parameters
storeThe WSB_ActionResultInfo object to be destroyed.

◆ WSB_ActionResultInfo_GetConstraintByIndex()

WSB_EXPORT WSB_Result WSB_ActionResultInfo_GetConstraintByIndex ( WSB_ActionResultInfo info,
WSB_Boolean  mandatory_only,
WSB_Ordinal  indx,
WSB_ActionResultConstraint **  constraint 
)

Returns a constraint, specified by index, from all constraints reflected in the SHI_ActionResult object.

A constraint is specified as a WSB_ActionResultConstraint object.

Parameters
infoThe WSB_ActionResultInfo object.
mandatory_onlyWhether to select constraints only if they are marked mandatory.
indxThe index of a constraint to return. Must be between 0 and one less than the value returned by WSB_ActionResultInfo_GetConstraintCount.
constraintAddress of a WSB_ActionResultConstraint pointer that will be set to refer to the WSB_ActionResultConstraint object created.

◆ WSB_ActionResultInfo_GetConstraintCount()

WSB_EXPORT WSB_Cardinal WSB_ActionResultInfo_GetConstraintCount ( WSB_ActionResultInfo info,
WSB_Boolean  mandatory_only 
)

Returns the count of constraints, which includes obligations and callbacks.

Currently, only obligations are supported, and thus all constraints returned reflect obligations, not callbacks. See the WSB_ActionResultInfo_GetConstraintByIndex function for details on how to gain access to the constraint details.

Parameters
infoThe WSB_ActionResultInfo object.
mandatory_onlyWhether to only include mandatory constraints in the return count.
Returns
The number of constraints (either all or mandatory, depending on the mandatory_only flag)

◆ WSB_ActionResultInfo_HasCallbacks()

WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_HasCallbacks ( WSB_ActionResultInfo info)

Returns WSB_TRUE if the SHI_ActionResult specifies callbacks.

This method returns WSB_TRUE if there are any callbacks, whether they are mandatory or not.

Parameters
infoThe WSB_ActionResultInfo object.
Returns
WSB_TRUE if there are callbacks, WSB_FALSE otherwise.

◆ WSB_ActionResultInfo_HasMandatoryCallbacks()

WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_HasMandatoryCallbacks ( WSB_ActionResultInfo info)

Returns WSB_TRUE if the SHI_ActionResult specifies mandatory callbacks.

This method returns WSB_FALSE if there are callbacks, but they are all marked non-mandatory.

Parameters
infoThe WSB_ActionResultInfo object.
Returns
WSB_TRUE if there are mandatory callbacks, WSB_FALSE otherwise.

◆ WSB_ActionResultInfo_HasMandatoryObligations()

WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_HasMandatoryObligations ( WSB_ActionResultInfo info)

Returns WSB_TRUE if the SHI_ActionResult specifies mandatory obligations.

This method returns WSB_FALSE if there are obligations, but they are all marked non-mandatory.

Parameters
infoThe WSB_ActionResultInfo object.
Returns
WSB_TRUE if there are mandatory obligations, WSB_FALSE otherwise.

◆ WSB_ActionResultInfo_HasObligations()

WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_HasObligations ( WSB_ActionResultInfo info)

Returns WSB_TRUE if the SHI_ActionResult specifies obligations.

This method returns WSB_TRUE if there are any obligations, whether they are mandatory or not.

Parameters
infoThe WSB_ActionResultInfo object.
Returns
WSB_TRUE if there are obligations, WSB_FALSE otherwise.

◆ WSB_ActionResultInfo_IsGranted()

WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_IsGranted ( WSB_ActionResultInfo info)

Returns whether the SHI_ActionResult grants access to the associated content keys.

Parameters
infoThe WSB_ActionResultInfo object.
Returns
WSB_TRUE if permission is granted, WSB_FALSE otherwise

◆ WSB_ActionResultInfo_IsPermanent()

WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_IsPermanent ( WSB_ActionResultInfo info)

Returns whether the SHI_ActionResult grants permanent rights to access the content.

If permanent permission is not granted, then the application must reevaluate the rights each time the content is to be rendered.

Parameters
infoThe WSB_ActionResultInfo object.
Returns
WSB_TRUE if permission is permanent, WSB_FALSE otherwise.

◆ WSB_ActionResultInfo_MustAccept()

WSB_EXPORT WSB_Boolean WSB_ActionResultInfo_MustAccept ( WSB_ActionResultInfo info)

Returns whether the caller must explicitly accept the constraints (obligations and/or callbacks) specified by the SHI_ActionResult.

For example, if the Wasabi Playback Enabler is being used, WSB_PlaybackEnabler_AcceptActionResult must be called before attempting to access the content keys.

Parameters
infoThe WSB_ActionResultInfo object.
Returns
WSB_TRUE if caller must explicitly accept the constraints, WSB_FALSE otherwise.

◆ WSB_ExplainActionResultFailure()

WSB_EXPORT WSB_Result WSB_ExplainActionResultFailure ( SHI_ActionResult action_result,
SHI_Engine engine,
WSB_MediaFile media_file,
SHI_Data **  goto_url 
)

Explains the action result failure (action is not granted) with a meaningful error code and an optional goto URL which semantics is error code dependent (rights issuer URL or link renewal URL (for a WSB_ERROR_DRM_SUBSCRIPTION_EXPIRED case)).

Parameters
action_resultThe ActionResult object
engineSushi engine, can be set to NULL and the function will create its own engine.
media_fileThe media file that was used. Can be set to NULL if not available.
goto_urlAddress of a SHI_Data object that will be used in order to carry the goto URL. Can be set to NULL if the caller is not interested. It is the responsability of the caller to release this SHI_Data type object of type SHI_DATA_TYPE_STRING if it was populated.
Returns
WSB_SUCCESS if the action_result was actually granted (pathological case). WSB_ERROR_DRM_MISSING_CREDENTIALS if a missing link was detected. WSB_ERROR_DRM_SUBSCRIPTION_EXPIRED in the case of an expired subscription. WSB_ERROR_DRM_LICENSE_EXPIRED if the license expired. WSB_ERROR_DRM_PLAY_COUNT_EXCEEDED if the playcount is exceeded. WSB_ERROR_DRM_DENY_RIGHTS if no useful information could be extracted.