Serializer Item definition for single member of structure or class. More...
#include <mi32/serializeritem.h>
Serializer Item definition for single member of structure or class.
The meaning of the "extra" field is dependent on the "type" field:
"type" UINT8_Array Number of array entries StringA, StringU Number of bytes in entry (use membersize in definition) Object, SubObject Object type (0 for OTYPE_ALL) BitUINT32 Bit number to use, 0 = lowest StructPtr, StructPtrArray Size of structure to allocate Enum Size of member
When handling TYPE_Special items, the cbfunc will be called with ACTION_Read or ACTION_Write. The cbfunc is responsible for actually reading and writing the data using the SERIALIZER class reference provided.
| typedef ERRVALUE(* SERIALIZERITEM::CBFUNC)(SERIALIZER &, const SERIALIZERITEM *, void *data, ACTION action) |
| enum SERIALIZERITEM::TYPE |
Item types.
| TYPE_End | |
| TYPE_UINT8 | |
| TYPE_INT8 | |
| TYPE_UINT16 | |
| TYPE_INT16 | |
| TYPE_UINT32 | |
| TYPE_INT32 | |
| TYPE_BitUINT32 |
Bit value in UINT32, bit specified in "extra". |
| TYPE_UInt |
unsigned int |
| TYPE_Int |
int |
| TYPE_Float |
float |
| TYPE_Double |
double |
| TYPE_Bool |
bool |
| TYPE_UINT8_Array | |
| TYPE_Enum |
enum, size specified in "extra" |
| TYPE_StringU |
MIUNICODE string ("extra" contains size). |
| TYPE_MISTRING | |
| TYPE_MISTRING_ML |
Multi-line MISTRING. |
| TYPE_StringMLU |
Multi-line Unicode string. |
| TYPE_MISTRINGLIST | |
| TYPE_StringA |
ASCII string ("extra" contains size). |
| TYPE_StringMLRaw |
Multi-line raw (char*) string (pointer). |
| TYPE_FILEPATH |
File path. |
| TYPE_RVCOBJITEM | |
| TYPE_RVCOBJITEMLIST | |
| TYPE_RVCOBJECTNAME | |
| TYPE_RVCOBJITEMFILE |
FilePath portion of RVC::OBJITEM. |
| TYPE_RVCOBJITEMOBJECT |
Object portion of RVC::OBJITEM, type stored in "extra". |
| TYPE_RVCOBJECTFILE |
FilePath portion of RVC::OBJECT. |
| TYPE_RVCOBJECTOBJECT |
Object portion of RVC::OBJECT, type stored in "extra". |
| TYPE_RVCOBJITEMURL |
URL portion of RVC::OBJITEM, type stored in "extra". |
| TYPE_Special |
Use cbfunc to do read and write. |
| TYPE_Struct |
Structure/class. |
| TYPE_StructPtr |
Structure/class pointer, will be allocated if 0, "extra" contains size. |
| TYPE_StructPtrArray |
Array of structure pointers, "extra" contains size. |
| TYPE_SIMPLE_ARRAY |
Simple array of scalars, "extra" contains TYPE of array item, only TYPE_UINT8, TYPE_INT16, TYPE_INT32 supported. |
| TYPE_DOUBLE_ARRAY |
Double-precision array of "double" scalars. |
| TYPE_COLOR | |
| TYPE_DRECT2D | |
| TYPE_DPOINT2D | |
| TYPE_DPOINT3D | |
| TYPE_POINTSTYLE | |
| TYPE_LINESTYLE | |
| TYPE_POLYSTYLE | |
| TYPE_TEXTSTYLE | |
| TYPE_LPOINT2D | |
| TYPE_LRECT2D | |
| TYPE_OLDPROJPARMTOCRS |
Serialized as OLDPROJPARM, in memory as SPATREF::COORDREFSYS. |
| TYPE_COORDREFSYS | |
| TYPE_REGION2D | |
| TYPE_DRECT3D | |
| TYPE_DOUBLE_RANGE |
DOUBLE_RANGE. |
| TYPE_SERIALIZABLE |
SERIALIZABLE object. |
| TYPE_SERIALIZABLEPTR |
Pointer to SERIALIZABLE object. |
| TYPE_InternalSer | |
| TYPE_Start |
Used internally to start new structure. |
| static SERIALIZERITEM* SERIALIZERITEM::MergeArrays | ( | const SERIALIZERITEM * | def1, | |
| int | offset1, | |||
| const SERIALIZERITEM * | def2, | |||
| int | offset2 | |||
| ) | [static] |
Merge two item definition arrays with offsets, This is useful when inheriting from a class which already uses an item definition array.
| def1 | First definition array | |
| offset1 | Offset for first definition array | |
| def2 | Second definition array | |
| offset2 | Offset for second definition array |
| static SERIALIZERITEM* SERIALIZERITEM::MergeArrays | ( | const SERIALIZERITEM * | def1, | |
| const SERIALIZERITEM * | def2 | |||
| ) | [static] |
Merge two item definition arrays.
This is useful when inheriting from a class which already uses an item definition array.
| def1 | First definition array | |
| def2 | Second definition array |
Callback function for this item.
Extra type-specific data, see TYPE descriptions for usage.
Flags.
| const char* SERIALIZERITEM::name |
Name of the item, 0 to terminate array, not case-sensitive.
Offset into class/struct.
Sub-structure definition for TYPE_Struct/StructPtr.
Item type.
1.6.1