Wasabi ExpressPlay SDK for Desktop Systems  1.23.0
ShiData.h
Go to the documentation of this file.
1 /*****************************************************************
2 |
3 | Sushi - Data Objects
4 |
5 | $Id: ShiData.h 7930 2014-06-25 11:05:10Z jebaseelir $
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) 2005-2014 by Intertrust. All rights reserved.
14 |
15 ****************************************************************/
21 #ifndef _SHI_DATA_H_
22 #define _SHI_DATA_H_
23 
24 /*----------------------------------------------------------------------
25 | includes
26 +---------------------------------------------------------------------*/
27 #include "ShiResults.h"
28 #include "ShiTypes.h"
29 #include "ShiInterfaces.h"
30 
31 /*----------------------------------------------------------------------
32 | types
33 +---------------------------------------------------------------------*/
37 typedef enum {
46 } SHI_DataType;
47 
49 
53 typedef struct {
58 
62 typedef struct {
64  const void* instance;
66 
70 typedef struct {
72  const void* pointer;
74 
81 typedef struct {
82  const void* a0;
83  const void* a1;
84 } SHI_DataAny;
85 
93  const char* string;
99 };
100 
101 /*----------------------------------------------------------------------
102 | interfaces
103 +---------------------------------------------------------------------*/
104 #if defined(__cplusplus)
105 extern "C" {
106 #endif
107 
116 typedef struct SHI_Data SHI_Data;
117 
127 
137 
151 const SHI_DataValue*
153 
155 #if defined(__cplusplus)
156 }
157 #endif
158 
159 #endif /* _SHI_DATA_H_ */
#define SHI_PUBLIC_API
Definition: ShiTypes.h:52
SHI_DataAny any
Untyped.
Definition: ShiData.h:91
unsigned int SHI_UInt32
32-bit (or more) unsigned integer
Definition: ShiTypes.h:27
Pointer to an object with a specific interface.
Definition: ShiData.h:62
const void * instance
Pointer to an object.
Definition: ShiData.h:64
Array of values.
Definition: ShiData.h:53
Pointer to a typed data structure.
Definition: ShiData.h:70
Result codes.
SHI_Boolean boolean
A boolean value.
Definition: ShiData.h:94
Interfaces.
const char * string
A character string.
Definition: ShiData.h:93
Structure used solely to be the first entry in the SHI_DataValue union type in order to allow static ...
Definition: ShiData.h:81
SHI_PUBLIC_API SHI_DataType SHI_Data_GetType(SHI_Data *self)
Gets the type of this data object's value.
const void * a1
Second pointer.
Definition: ShiData.h:83
Union of different possible types of values encapsulated by a SHI_Data object.
Definition: ShiData.h:90
The value is a SHI_TypedPointer.
Definition: ShiData.h:45
const SHI_DataValue * values
Pointer to the array values.
Definition: ShiData.h:56
SHI_DataType
Possible types of data in the value encapsulated by a SHI_Data object.
Definition: ShiData.h:37
SHI_ValueArray array
An array of values.
Definition: ShiData.h:96
The value is a SHI_Boolean.
Definition: ShiData.h:41
SHI_DataType value_type
Type of the values in the array.
Definition: ShiData.h:54
The value is a string.
Definition: ShiData.h:40
const void * pointer
Pointer to a data structure.
Definition: ShiData.h:72
SHI_UInt32 type_id
Type ID.
Definition: ShiData.h:71
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
signed int SHI_Int32
32-bit (or more) signed integer
Definition: ShiTypes.h:28
SHI_InterfaceId interface_id
Object interface ID.
Definition: ShiData.h:63
SHI_UInt32 SHI_InterfaceId
Definition: ShiInterfaces.h:33
The value is a SHI_ByteArray.
Definition: ShiData.h:42
SHI_PUBLIC_API const SHI_DataValue * SHI_Data_GetValue(SHI_Data *self)
Gets a pointer to this data object's value.
SHI_Boolean
Boolean type used for variables that can be true (SHI_TRUE) or false (SHI_FALSE). ...
Definition: ShiTypes.h:62
SHI_TypedPointer pointer
A typed pointer.
Definition: ShiData.h:98
An untyped array of bytes.
Definition: ShiTypes.h:141
SHI_Int32 integer
An integer number.
Definition: ShiData.h:92
Used as a wild card (type not specified)
Definition: ShiData.h:38
The value is a SHI_TypedObject.
Definition: ShiData.h:44
The value is a SHI_ValueArray.
Definition: ShiData.h:43
struct SHI_Data SHI_Data
A SHI_Data object represents a typed data object.
Definition: ShiData.h:116
Common data types.
SHI_TypedObject object
A typed object reference.
Definition: ShiData.h:97
The value is a SHI_Int32.
Definition: ShiData.h:39
int SHI_Result
Signed integer value representing a function or method result (return value).
Definition: ShiTypes.h:74
SHI_ByteArray bytes
An untyped array of bytes.
Definition: ShiData.h:95
SHI_Cardinal value_count
Number of values in the array.
Definition: ShiData.h:55
SHI_PUBLIC_API SHI_Result SHI_Data_Release(SHI_Data *self)
Releases this data object.
const void * a0
First pointer.
Definition: ShiData.h:82