A DOF data type representation. More...
Files | |
file | oal.h |
Header file for the C OAL functions, defines and data types. | |
Macros | |
#define | DOFTYPE_UINT8 |
8-bit unsigned integer type. | |
#define | DOFTYPE_UINT16 |
16-bit unsigned integer type. | |
#define | DOFTYPE_UINT32 |
32-bit unsigned integer type. | |
#define | DOFTYPE_UINT64 |
64-bit unsigned integer type. | |
#define | DOFTYPE_INT8 |
8-bit signed integer type. | |
#define | DOFTYPE_INT16 |
16-bit signed integer type. | |
#define | DOFTYPE_INT32 |
32-bit signed integer type. | |
#define | DOFTYPE_INT64 |
64-bit signed integer type. | |
#define | DOFTYPE_FLOAT32 |
32-bit IEEE floating point type. | |
#define | DOFTYPE_FLOAT64 |
64-bit IEEE floating point type. | |
#define | DOFTYPE_DATETIME |
64-bit Date/Time type. | |
#define | DOFTYPE_BOOLEAN |
Boolean type. | |
#define | DOFTYPE_INTERFACEID |
Interface Identifier type. | |
#define | DOFTYPE_OBJECTID |
Object Identifier type. | |
#define | DOFTYPE_GUID |
Globally Unique Identifier (GUID) type. | |
#define | DOFTYPE_STRING |
String type. | |
#define | DOFTYPE_BLOB |
Blob (large, opaque, binary data) type. | |
#define | DOFTYPE_ARRAY |
Fixed-size Array type. | |
#define | DOFTYPE_REFERENCE |
Reference type (to another, defined type in an interface). | |
#define | DOFTYPE_NULLABLE |
Nullable type. | |
#define | DOFTYPE_STRUCTURE |
Structure type. | |
#define | DOFTYPE_VOID |
Unknown or invalid type. | |
Typedefs | |
typedef struct DOFType_t * | DOFType |
DOF Data Type Representation. | |
typedef uint16 | DOFTypeID |
Identifies the DOF Data Type Identifier of a DOFType. | |
Functions | |
DOFType | DOFTypeTypedef_Create (const DOFType type) |
Create a new Typedef of another type. | |
DOFType | DOFTypeNullable_Create (const DOFType type) |
Create a new Nullable Type. | |
DOFType | DOFType_Copy (DOFType self) |
Create a new copy of an existing DOFType. | |
void | DOFType_Destroy (DOFType type) |
Destroy the given type. | |
DOFTypeID | DOFType_GetTypeID (const DOFType type) |
Retrieve the type represented within the DOFType. | |
boolean | DOFTypeTypedef_DefineAs (DOFType self, const DOFType type) |
Define a previously created reference type as its real type. | |
boolean | DOFType_IsDefined (const DOFType type) |
Report whether or not a type is fully defined. | |
uint32 | DOFType_GetMaxLength (const DOFType type) |
Report the maximum length of the given type. | |
uint32 | DOFType_GetSubtypesCount (const DOFType type) |
Report the number of subtypes contained within a type. | |
uint32 | DOFType_GetMinLength (const DOFType type) |
Report the minimum length of the given type. | |
uint16 | DOFType_GetEncoding (const DOFType type) |
Report the character encoding defined for a String type. | |
DOFType | DOFType_GetSubtype (const DOFType type, uint32 index) |
Retrieve a subtype from a type. | |
const DOFType * | DOFType_GetSubtypes (const DOFType type) |
Retrieve the subtypes from a type. | |
A DOF data type representation.
A DOFType can be created using a variety of constructors, or can be obtained from an Interface Definition. There are three main classes of DOFTypes: Primitives, Arrays, and Structures. Primitive DOFTypes often map directly to primitive types in a language, such as integers and floating point numbers. Other Primitive DOFTypes in DOF include GUIDs, Object IDs, Interface IDs, and BLOBs. Arrays and Structures are different than Primitives in that they contain other DOFTypes. Array DOFTypes contain a single sub-type, the element type. Structure DOFTypes contain a list of sub-types, each of which representing a field of the structure. In both cases, an element may be of any DOFType, including other Arrays and Structures.