version 1.1.2.2, 2009/11/17 11:14:53
|
version 1.1.2.5, 2009/12/04 13:57:19
|
|
|
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
| |
struct SCMOResultionTable |
struct SCMOResolutionTable |
{ | { |
void* scmbptr; |
// Though we really store a pointer here, it is stored as Uint64 to |
|
// become independent from 64bit versus 32bit incarnations of the struct. |
|
Uint64 scmbptr; |
Uint32 index; | Uint32 index; |
}; | }; |
| |
#define PEGASUS_ARRAY_T SCMOResultionTable |
#define PEGASUS_ARRAY_T SCMOResolutionTable |
# include <Pegasus/Common/ArrayInter.h> | # include <Pegasus/Common/ArrayInter.h> |
#undef PEGASUS_ARRAY_T | #undef PEGASUS_ARRAY_T |
| |
|
|
// Instances | // Instances |
bool deserialize(); | bool deserialize(); |
| |
|
// Writes a single SCMOClass to the given CIMBuffer |
|
static void serializeClass(CIMBuffer& out, const SCMOClass& scmoClass); |
|
|
|
// Reads a single SCMOClass from the given CIMBuffer |
|
static bool deserializeClass(CIMBuffer& in, SCMOClass& scmoClass); |
|
|
private: | private: |
| |
| |
|
|
// and returns the new index position of the class. | // and returns the new index position of the class. |
Uint32 _appendToClassTable(const SCMOInstance& inst); | Uint32 _appendToClassTable(const SCMOInstance& inst); |
| |
void _putClasses(); |
static void _putClasses(CIMBuffer& out,Array<SCMBClass_Main*>& classTable); |
bool _getClasses(); |
static bool _getClasses(CIMBuffer& in,Array<SCMBClass_Main*>& classTable); |
void _putInstances(); | void _putInstances(); |
bool _getInstances(); | bool _getInstances(); |
| |
|
|
| |
// Index table used to resolve the absolute pointers to SCMOClasses | // Index table used to resolve the absolute pointers to SCMOClasses |
// to a relative sequence number (index) in the stream | // to a relative sequence number (index) in the stream |
Array<SCMOResultionTable> _clsResolverTable; |
Array<SCMOResolutionTable> _clsResolverTable; |
| |
// Index table used to resolve the absolute pointers to SCMOInstances | // Index table used to resolve the absolute pointers to SCMOInstances |
// to a relative sequence number (index) in the stream | // to a relative sequence number (index) in the stream |
Array<SCMOResultionTable> _instResolverTable; |
Array<SCMOResolutionTable> _instResolverTable; |
| |
// Table of pointers to SCMOClasses to be streamed | // Table of pointers to SCMOClasses to be streamed |
Array<const SCMBClass_Main*> _classTable; |
Array<SCMBClass_Main*> _classTable; |
}; | }; |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |