21 #ifndef _SHI_LICENSE_H_ 22 #define _SHI_LICENSE_H_ 39 #define SHI_ERROR_LICENSE_IDS_ALREADY_SET (SHI_ERROR_BASE_API_LICENSE - 0) 40 #define SHI_ERROR_LICENSE_ID_NOT_FOUND (SHI_ERROR_BASE_API_LICENSE - 1) 41 #define SHI_ERROR_LICENSE_INVALID_DATA (SHI_ERROR_BASE_API_LICENSE - 2) 42 #define SHI_ERROR_LICENSE_ACTION_PENDING (SHI_ERROR_BASE_API_LICENSE - 3) 43 #define SHI_ERROR_LICENSE_MUST_PERFORM (SHI_ERROR_BASE_API_LICENSE - 4) 44 #define SHI_ERROR_LICENSE_INCOMPLETE_DATA (SHI_ERROR_BASE_API_LICENSE - 5) 45 #define SHI_ERROR_LICENSE_NO_SUCH_ACTION (SHI_ERROR_BASE_API_LICENSE - 6) 46 #define SHI_ERROR_LICENSE_ACCEPT_FAILED (SHI_ERROR_BASE_API_LICENSE - 7) 47 #define SHI_ERROR_LICENSE_CALLBACK_NOT_FOUND (SHI_ERROR_BASE_API_LICENSE - 8) 48 #define SHI_ERROR_LICENSE_CALLBACK_FAILED (SHI_ERROR_BASE_API_LICENSE - 9) 49 #define SHI_ERROR_LICENSE_MUST_ACCEPT (SHI_ERROR_BASE_API_LICENSE - 10) 50 #define SHI_ERROR_LICENSE_PARSE_FAILURE (SHI_ERROR_BASE_API_LICENSE - 11) 55 #if defined(__cplusplus) 156 const char*
const* ids,
181 const char* content_id,
182 SHI_ContentKeyFormat format,
183 const void* format_parameters,
225 const void* parameters,
252 const void* parameters,
257 #if defined(__cplusplus) #define SHI_PUBLIC_API
Definition: ShiTypes.h:52
SHI_ContentKeyFormat
Format indenfifier for content keys.
Definition: ShiLicense.h:73
Definition: ShiLicense.h:74
SHI_PUBLIC_API SHI_Result SHI_License_Describe(SHI_License *self, SHI_LicenseInfo **description)
Gets a description for this license.
SHI_UInt32 SHI_Size
An unsigned integer used to represent a measurable quantity (e.g., the size of a file).
Definition: ShiTypes.h:95
SHI_PUBLIC_API SHI_Result SHI_License_SetContentIds(SHI_License *self, const char *const *ids, SHI_Cardinal id_count)
Specifies a set of content IDs for this license.
struct SHI_Action SHI_Action
A SHI_Action object represents an action that can be performed on the content item represented by a l...
Definition: ShiAction.h:575
Definition: ShiLicense.h:75
SHI_PUBLIC_API SHI_Result SHI_License_CreateAction(SHI_License *self, const char *name, const void *parameters, SHI_Action **action)
Creates a SHI_Action object for this license.
SHI_PUBLIC_API SHI_Result SHI_License_Destroy(SHI_License *self)
Destroys this license object.
Definition: ShiLicense.h:76
SHI_UInt32 SHI_Cardinal
An unsigned integer used to represent a quantity that can be counted (such as a number of elements in...
Definition: ShiTypes.h:112
SHI_PUBLIC_API SHI_Result SHI_License_ProcessLicenseData(SHI_License *self, const void *data, SHI_Size size)
Registers a license data element that contains Octopus data for this license.
struct SHI_LicenseInfo SHI_LicenseInfo
A SHI_LicenseInfo object represents the information for a license or for an action of a license (such...
Definition: ShiLicenseInfo.h:59
SHI_UInt32 SHI_InterfaceId
Definition: ShiInterfaces.h:33
SHI_PUBLIC_API SHI_Result SHI_License_CreateActionEx(SHI_License *self, const char *name, const void *parameters, SHI_Size parameters_size, SHI_Action **action)
This function is similar to SHI_License_CreateAction, but can be used for arbitrary actions...
struct SHI_Data SHI_Data
A SHI_Data object represents a typed data object.
Definition: EmbProcessor.h:231
SHI_PUBLIC_API SHI_Result SHI_License_GetContentKey(SHI_License *self, const char *content_id, SHI_ContentKeyFormat format, const void *format_parameters, SHI_Data **data)
Gets the content key for a specific content ID.
int SHI_Result
Signed integer value representing a function or method result (return value).
Definition: ShiTypes.h:74
SHI_PUBLIC_API void * SHI_License_GetInterface(SHI_License *self, SHI_InterfaceId iface_id)
Obtains a pointer to a SHI_License object with a different interface.
struct SHI_License SHI_License
A SHI_License object represents the license information for a piece of content.
Definition: ShiLicense.h:68