Wasabi ExpressPlay SDK for Desktop Systems
1.10
Main Page
Modules
Data Structures
Files
File List
Globals
Client
ThirdParty
Sushi
Source
Core
Interface
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
{
38
SHI_DATA_TYPE_UNKNOWN
,
39
SHI_DATA_TYPE_INTEGER
,
40
SHI_DATA_TYPE_STRING
,
41
SHI_DATA_TYPE_BOOLEAN
,
42
SHI_DATA_TYPE_BYTE_ARRAY
,
43
SHI_DATA_TYPE_ARRAY
,
44
SHI_DATA_TYPE_OBJECT
,
45
SHI_DATA_TYPE_POINTER
46
}
SHI_DataType
;
47
48
typedef
union
SHI_DataValue
SHI_DataValue
;
49
53
typedef
struct
{
54
SHI_DataType
value_type
;
55
SHI_Cardinal
value_count
;
56
const
SHI_DataValue
*
values
;
57
}
SHI_ValueArray
;
58
62
typedef
struct
{
63
SHI_InterfaceId
interface_id
;
64
const
void
*
instance
;
65
}
SHI_TypedObject
;
66
70
typedef
struct
{
71
SHI_UInt32
type_id
;
72
const
void
*
pointer
;
73
}
SHI_TypedPointer
;
74
81
typedef
struct
{
82
const
void
*
a0
;
83
const
void
*
a1
;
84
}
SHI_DataAny
;
85
90
union
SHI_DataValue
{
91
SHI_DataAny
any
;
92
SHI_Int32
integer
;
93
const
char
*
string
;
94
SHI_Boolean
boolean
;
95
SHI_ByteArray
bytes
;
96
SHI_ValueArray
array
;
97
SHI_TypedObject
object
;
98
SHI_TypedPointer
pointer
;
99
};
100
101
/*----------------------------------------------------------------------
102
| interfaces
103
+---------------------------------------------------------------------*/
104
#if defined(__cplusplus)
105
extern
"C"
{
106
#endif
107
116
typedef
struct
SHI_Data
SHI_Data
;
117
124
SHI_PUBLIC_API
125
SHI_Result
126
SHI_Data_Release
(
SHI_Data
*
self
);
127
134
SHI_PUBLIC_API
135
SHI_DataType
136
SHI_Data_GetType
(
SHI_Data
*
self
);
137
150
SHI_PUBLIC_API
151
const
SHI_DataValue
*
152
SHI_Data_GetValue
(
SHI_Data
*
self
);
153
155
#if defined(__cplusplus)
156
}
157
#endif
158
159
#endif
/* _SHI_DATA_H_ */