version 1.3.4.1, 2013/06/03 22:35:13
|
version 1.4, 2013/01/14 12:05:39
|
|
|
// | // |
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// |
// | // |
// This code implements part of PEP#348 - The CMPI infrastructure using SCMO |
|
// (Single Chunk Memory Objects). |
|
// The design document can be found on the OpenPegasus website openpegasus.org |
|
// at https://collaboration.opengroup.org/pegasus/pp/documents/21210/PEP_348.pdf |
|
// |
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#ifndef Pegasus_SCMOStreamer_h | #ifndef Pegasus_SCMOStreamer_h |
|
|
| |
struct SCMOResolutionTable | struct SCMOResolutionTable |
{ | { |
// Though we only store pointers here, it is stored as union of size 64bit |
// Though we really store a pointer here, it is stored as Uint64 to |
// to become independent from 64bit versus 32bit incarnations of the struct. |
// become independent from 64bit versus 32bit incarnations of the struct. |
union |
Uint64 scmbptr; |
{ |
|
Uint64 uint64; |
|
SCMOInstance* scmoInst; |
|
SCMBInstance_Main * scmbMain; |
|
} scmbptr; |
|
|
|
Uint64 index; | Uint64 index; |
}; | }; |
| |
|
|
// | // |
// Returns the index position at which the instance was inserted in the | // Returns the index position at which the instance was inserted in the |
// instance resolver table. | // instance resolver table. |
Uint32 _appendToInstResolverTable(SCMOInstance& inst, Uint32 idx); |
Uint32 _appendToInstResolverTable(const SCMOInstance& inst, Uint32 idx); |
| |
| |
// Adds an instance to the class resolution table. | // Adds an instance to the class resolution table. |