(file) Return to SCMOStreamer.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/SCMOStreamer.h between version 1.1.2.2 and 1.6

version 1.1.2.2, 2009/11/17 11:14:53 version 1.6, 2013/02/13 11:39:58
Line 27 
Line 27 
 // //
 ////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
 // //
   // 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
Line 42 
Line 47 
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
  
 struct SCMOResultionTable  struct SCMOResolutionTable
   {
       // Though we only store pointers here, it is stored as union of size 64bit
       // to become independent from 64bit versus 32bit incarnations of the struct.
       union
 { {
     void* scmbptr;          Uint64 uint64;
     Uint32 index;          SCMOInstance* scmoInst;
           SCMBInstance_Main * scmbMain;
       } scmbptr;
   
       Uint64 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
  
Line 68 
Line 81 
     // 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:
  
  
Line 87 
Line 106 
     //     //
     // 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(const SCMOInstance& inst, Uint32 idx);      Uint32 _appendToInstResolverTable(SCMOInstance& inst, Uint32 idx);
  
  
     // Adds an instance to the class resolution table.     // Adds an instance to the class resolution table.
Line 104 
Line 123 
     // 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();
  
Line 120 
Line 139 
     // The array of SCMOInstances to be streamed     // The array of SCMOInstances to be streamed
     Array<SCMOInstance>& _scmoInstances;     Array<SCMOInstance>& _scmoInstances;
  
     // Counters for the total number of classes and scmo instances  
     // to be streamed. These counters increase during streaming process.  
     Uint32 _ttlNumInstances;  
     Uint32 _ttlNumClasses;  
   
     // 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


Legend:
Removed from v.1.1.2.2  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2