SERIALIZER::ITEMDEF Class Reference

Item definition for single member of structure or class. More...

#include <mi32/serializ.h>

List of all members.

Public Types

enum  ACTION {
  ACTION_None = 0x0000, ACTION_ReadBegin = 0x0001, ACTION_ReadEnd = 0x0002, ACTION_WriteBegin = 0x0004,
  ACTION_WriteEnd = 0x0008, ACTION_Read = 0x0010, ACTION_Write = 0x0020
}
typedef ERRVALUE(* CBFUNC )(SERIALIZER &, const ITEMDEF *, void *data, ACTION action)
enum  FLAGS {
  FLAG_None = 0x0000, FLAG_NoWrite0 = 0x0001, FLAG_NoWrite = 0x0002, FLAG_NoRead = 0x0004,
  FLAG_FileNoExist0 = 0x0008, FLAG_Skippable = 0x0020, FLAG_AddOffsetCB = 0x0040, FLAG_FindFileImmed = 0x0080,
  FLAG_DontAskLinkFile = 0x0100
}
enum  TYPE {
  TYPE_End = 0, TYPE_UINT8 = 1, TYPE_INT8 = 2, TYPE_UINT16 = 3,
  TYPE_INT16 = 4, TYPE_UINT32 = 5, TYPE_INT32 = 6, TYPE_BitUINT32 = 7,
  TYPE_UInt = 8, TYPE_Int = 9, TYPE_Float = 10, TYPE_Double = 11,
  TYPE_Bool = 12, TYPE_UINT8_Array = 13, TYPE_Enum = 14, TYPE_StringU = 20,
  TYPE_MISTRING = 21, TYPE_MISTRING_ML = 22, TYPE_StringMLU = 23, TYPE_StringPtrU = 24,
  TYPE_StringA = 25, TYPE_StringMLA = 26, TYPE_StringPtrA = 27, TYPE_StringMLRaw = 28,
  TYPE_FileName = 30, TYPE_FILEPATH = 31, TYPE_Object = 32, TYPE_SubObject = 33,
  TYPE_RVCOBJECTNAME = 34, TYPE_RVCOBJITEMFILE = 35, TYPE_RVCOBJITEMOBJECT = 36, TYPE_Special = 40,
  TYPE_SpecialPtr = 41, TYPE_Struct = 42, TYPE_StructPtr = 43, TYPE_StructPtrArray = 44,
  TYPE_COLOR = 50, TYPE_DRECT2D = 51, TYPE_DPOINT2D = 52, TYPE_DPOINT3D = 53,
  TYPE_POINTSTYLE = 55, TYPE_LINESTYLE = 56, TYPE_POLYSTYLE = 57, TYPE_TEXTSTYLE = 58,
  TYPE_LPOINT2D = 59, TYPE_LRECT2D = 60, TYPE_OLDPROJPARMTOCRS = 61, TYPE_COORDREFSYS = 62,
  TYPE_REGION2D = 63, TYPE_DRECT3D = 64, TYPE_SERIALIZABLE = 90, TYPE_SERIALIZABLEPTR = 91,
  TYPE_InternalSer = 998, TYPE_Start = 999
}

Public Attributes

CBFUNC cbfunc
int extra
FLAGS flags
char * name
int offset
const ITEMDEFsubstruct
TYPE type


Detailed Description

Item definition for single member of structure or class.

Definition at line 179 of file serializ.h.


Member Typedef Documentation

typedef ERRVALUE(* SERIALIZER::ITEMDEF::CBFUNC)(SERIALIZER &, const ITEMDEF *, void *data, ACTION action)
 

Definition at line 274 of file serializ.h.


Member Enumeration Documentation

enum SERIALIZER::ITEMDEF::ACTION
 

Enumeration values:
ACTION_None 
ACTION_ReadBegin 
ACTION_ReadEnd 
ACTION_WriteBegin 
ACTION_WriteEnd 
ACTION_Read 
ACTION_Write 

Definition at line 264 of file serializ.h.

enum SERIALIZER::ITEMDEF::FLAGS
 

Enumeration values:
FLAG_None 
FLAG_NoWrite0  Don't write value if not set.
FLAG_NoWrite  Don't write this item.
FLAG_NoRead  Don't read this item.
FLAG_FileNoExist0  When reading PARMITEM_FileName zero string if file doesn't exist.
FLAG_Skippable  Item will be ignored if "IgnoreSkippable" set.
FLAG_AddOffsetCB  Add offset to pointer when passing to callback function.
FLAG_FindFileImmed  Search for file immediately instead of waiting until looking for object.
FLAG_DontAskLinkFile  Don't prompt user if can't find linked file.

Definition at line 252 of file serializ.h.

enum SERIALIZER::ITEMDEF::TYPE
 

Item types.

Enumeration values:
TYPE_End 
TYPE_UINT8  Scalars.
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  MISTRING.
TYPE_MISTRING_ML  Multi-line MISTRING.
TYPE_StringMLU  Multi-line Unicode string.
TYPE_StringPtrU  Pointer to Unicode string.
TYPE_StringA  ASCII string (.extra contains size).
TYPE_StringMLA  Multi-line ASCII string (pointer).
TYPE_StringPtrA  Multi-line Unicode String (pointer).
TYPE_StringMLRaw  Multi-line raw (char*) string (pointer).
TYPE_FileName  MIUNICODE filename.
TYPE_FILEPATH 
TYPE_Object  RVC object, type stored in ITEMDEF.extra.
TYPE_SubObject  Subobject, use previous TYPE_Object as parent.
TYPE_RVCOBJECTNAME  RVC::OBJECTNAME.
TYPE_RVCOBJITEMFILE  FilePath portion of RVC::OBJITEM.
TYPE_RVCOBJITEMOBJECT  Object portion of RVC::OBJITEM, type stored in ITEMDEF.extra.
TYPE_Special  Use cbfunc to do read and write.
TYPE_SpecialPtr  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 contain size.
TYPE_COLOR  COLOR.
TYPE_DRECT2D  DRECT2D.
TYPE_DPOINT2D  DPOINT2D.
TYPE_DPOINT3D  DPOINT3D.
TYPE_POINTSTYLE  POINTSTYLE.
TYPE_LINESTYLE  LINESTYLE.
TYPE_POLYSTYLE  POLYSTYLE.
TYPE_TEXTSTYLE  TEXTSTYLE.
TYPE_LPOINT2D  LPOINT2D.
TYPE_LRECT2D  LRECT2D.
TYPE_OLDPROJPARMTOCRS  Serialized as OLDPROJPARM, in memory as SPATREF::COORDREFSYS.
TYPE_COORDREFSYS  SPATREF::COORDREFSYS.
TYPE_REGION2D  REGION2D.
TYPE_DRECT3D  DRECT3D.
TYPE_SERIALIZABLE  SERIALIZABLE object.
TYPE_SERIALIZABLEPTR  Pointer to SERIALIZABLE object.
TYPE_InternalSer 
TYPE_Start  Used internally to start new structure.

Definition at line 183 of file serializ.h.


Member Data Documentation

CBFUNC SERIALIZER::ITEMDEF::cbfunc
 

Callback function for this item.

Definition at line 282 of file serializ.h.

int SERIALIZER::ITEMDEF::extra
 

Extra type-specific data, see below.

Definition at line 279 of file serializ.h.

FLAGS SERIALIZER::ITEMDEF::flags
 

Flags.

Definition at line 281 of file serializ.h.

char* SERIALIZER::ITEMDEF::name
 

Name of the item, 0 to terminate array, not case-sensitive.

Definition at line 276 of file serializ.h.

int SERIALIZER::ITEMDEF::offset
 

Offset into class/struct.

Definition at line 278 of file serializ.h.

const ITEMDEF* SERIALIZER::ITEMDEF::substruct
 

Sub-structure definition for TYPE_Struct/StructPtr.

Definition at line 280 of file serializ.h.

TYPE SERIALIZER::ITEMDEF::type
 

Item type.

Definition at line 277 of file serializ.h.


The documentation for this class was generated from the following file:
Generated on Wed May 31 15:29:07 2006 for TNTsdk by  doxygen 1.3.8-20040913