[GME-commit] GMESRC/GME/Core CoreXmlFile.cpp,1.2,1.3 CoreXmlFile.h,1.2,1.3

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Thu May 27 18:54:59 CDT 2004


Update of /var/lib/gme/GMESRC/GME/Core
In directory braindrain:/tmp/cvs-serv20871

Modified Files:
	CoreXmlFile.cpp CoreXmlFile.h 
Log Message:
no message

CVS User: bogyom

Index: CoreXmlFile.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Core/CoreXmlFile.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** CoreXmlFile.cpp	11 May 2004 16:29:41 -0000	1.2
--- CoreXmlFile.cpp	27 May 2004 22:54:55 -0000	1.3
***************
*** 1,10 ****
  #include "stdafx.h"
  #include <io.h>
  #include <stdlib.h>
- //#include <util/PlatformUtils.hpp>
- //#include <dom/DOM_NamedNodeMap.hpp>
  #include "CoreXmlFile.h"
  #include "CommonCollection.h"
  
  
  void bin2string( const unsigned char * bytes, int len, string& str )
[...1426 lines suppressed...]
!     _findclose( searchHandle );
! 
!     resolvePointers( pointers );
! }
! 
! void CCoreXmlFile::incrementalUpdate()
! {
!     // vegig kell menni a fileokon es megnezni az uj es a modosult fileokat
! 
!     // minden file-ra meghivjuk a readXMLFile ami beolvassa az objektumokat a filebol, 
!     // torli a mar nem letezo objektumokat beolvassa az atributumokat
!     // (lehet hogy csak a pointereket kene beolvasni!)
!     // a feloldatlan pointereket egy listaba gyujtjuk
!     // objektum torlesnel figyelni kell hogy a pointereket is update-eljuk
! 
!     // a felodatlan pointereket a vegen feloldjuk
!     
  
  }
  

Index: CoreXmlFile.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Core/CoreXmlFile.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** CoreXmlFile.h	11 May 2004 16:29:41 -0000	1.2
--- CoreXmlFile.h	27 May 2004 22:54:55 -0000	1.3
***************
*** 8,12 ****
  #include <hash_map>
  #include <set>
! //#include <parsers/DOMParser.hpp>
  #include "..\Mga\MgaGeneric.h"
  
--- 8,12 ----
  #include <hash_map>
  #include <set>
! #include <xercesc/dom/dom.hpp>
  #include "..\Mga\MgaGeneric.h"
  
***************
*** 41,48 ****
  };
  
! typedef vector<GUID>        GUIDVec;
! typedef GUIDVec::iterator   GUIDVecIter;
! typedef set<GUID,GUID_less> GUIDSet;
! typedef GUIDSet::iterator   GUIDSetIter;
  
  
--- 41,53 ----
  };
  
! class XmlObject;
! 
! typedef set<XmlObject*>                 XmlObjSet;
! typedef XmlObjSet::iterator             XmlObjSetIter;
! typedef vector<XmlObject*>              XmlObjVec;
! typedef XmlObjVec::iterator             XmlObjVecIter;
! typedef map<metaid_type,attrid_type>    ParentMap;
! typedef map<GUID, XmlObject*,GUID_less> GUIDToXmlObjectMap;
! typedef GUIDToXmlObjectMap::iterator    GUIDToXmlObjectMapIter;
  
  
***************
*** 60,69 ****
  
      virtual valtype_type getType     () const            = 0;
!     virtual void         fromVariant (VARIANT p)         = 0;
! 	virtual void         toVariant   (VARIANT *p) const  = 0;
!     virtual void         fromString  (const char * str)  = 0;
!     virtual void         toString    (string& str) const = 0;
! 
!     attrid_type     m_attrId;
  };
  
--- 65,72 ----
  
      virtual valtype_type getType     () const            = 0;
!     virtual void         fromVariant (VARIANT p)         {}
!     virtual void         toVariant   (VARIANT *p) const  {}
!     virtual void         fromString  (const char * str)  {}
!     virtual void         toString    (string& str) const {}
  };
  
***************
*** 168,177 ****
  
      virtual valtype_type getType        () const;
-     virtual void         fromVariant    (VARIANT p);
- 	virtual void         toVariant      (VARIANT *p) const;
-     virtual void         fromString     (const char * str);
-     virtual void         toString       (string& str) const;
  protected:
!     GUID    m_parentGUID;
  
      friend class CCoreXmlFile;
--- 171,176 ----
  
      virtual valtype_type getType        () const;
  protected:
!     XmlObject * m_parent;
  
      friend class CCoreXmlFile;
***************
*** 186,195 ****
  public:
      virtual valtype_type getType     () const;
-     virtual void         fromVariant (VARIANT p);
- 	virtual void         toVariant   (VARIANT *p) const;
-     virtual void         fromString  (const char * str);
-     virtual void         toString    (string& str) const;
  protected:
!     GUIDSet    m_childGUIDs;
  
      friend class CCoreXmlFile;
--- 185,190 ----
  public:
      virtual valtype_type getType     () const;
  protected:
!     XmlObjSet   m_children;
  
      friend class CCoreXmlFile;
***************
*** 204,218 ****
  {
  public:
!                 XmlObject           (ICoreMetaObject *metaobject);
  
!     void        createAttributes    (ICoreMetaObject *metaobject);
  
  protected:
!     AttribMap          m_attributes;
      GUID               m_guid;
!     metaobjidpair_type m_objIdPair;
      bool               m_deleted;
!     bool               m_attribsInMemory;
!     bool               m_readOnly;
      bool               m_modified;
  
--- 199,218 ----
  {
  public:
!                 XmlObject           (ICoreMetaObject *metaobject, bool createAllAttributes=true);
!                ~XmlObject           ();
  
! protected:
!     void        createAttributes        (ICoreMetaObject *metaobject, bool all=false);
!     void        deleteSecondaryAttribs  ();
  
  protected:
!     long               m_metaid;
      GUID               m_guid;
!     int                m_index;            // index in the m_objects array
!     AttribMap          m_attributes;
!     bool               m_loaded;           // true if all attributes are loded (otherwise only pointer, collections and locks stored)
! 
      bool               m_deleted;
!     //bool               m_readOnly;
      bool               m_modified;
  
***************
*** 220,258 ****
  
      friend class CCoreXmlFile;
- 
  };
  
! typedef map<GUID, XmlObject*,GUID_less>                         GUIDToXmlObjectMap;
! typedef GUIDToXmlObjectMap::iterator                            GUIDToXmlObjectMapIter;
! typedef map<metaobjidpair_type, XmlObject*,metaobjidpair_less>  ObjIdPairToXmlObjectMap;
! typedef ObjIdPairToXmlObjectMap::iterator                       ObjIdPairToXmlObjectMapIter;
! 
! 
! /*
!   - metaid, objid
!   - GUID
!   - attributumok listaja
!     (lehet hogy csak a pointer es collection attributumok vannak meg->az ojektum meg nem lett 
!     beolvasva a file-bol)
!   
! */
! 
! 
! 
! ////////////////////////////////////////////////////////////////////////////////
! // CCoreXmlFile class
! ////////////////////////////////////////////////////////////////////////////////
! 
! /*
!   - objektumok, GUID szerint mapelve
!   - objektumok, metaid+corid szerint mapelve
! 
!   /- kell egy adatszerkezet a modositasok tarolasahoz a tranzakcio kezeles miatt
! 
  
!   
!   
  
- */
  
  class ATL_NO_VTABLE CCoreXmlFile : 
--- 220,235 ----
  
      friend class CCoreXmlFile;
  };
  
! struct UnresolvedPointer
! {
!     XmlObject   * m_object;             // whose attribute is this
!     attrid_type   m_attrib;
!     GUID          m_pointedObjGuid;
! };
  
! typedef vector<UnresolvedPointer>       UnresolvedPointerVec;
! typedef UnresolvedPointerVec::iterator  UnresolvedPointerVecIt;
  
  
  class ATL_NO_VTABLE CCoreXmlFile : 
***************
*** 303,306 ****
--- 280,285 ----
  
  protected:
+     void         fillParentMap          ();
+ 
      void         closeMetaProject       ();
      void         openMetaObject         ();
***************
*** 308,320 ****
      void         openMetaAttribute      ();
      void         closeMetaAttribute     ();
!     void         clearObjects           ();
!     void         setFolderPath          (BSTR connection);
      void         addObject              (XmlObject * obj);
!     void         getPointerAttrVal      (XmlAttrPointer * attr, VARIANT * p);    
!     void         getCollectionAttrVal   (XmlAttrCollection * attr, VARIANT * p);
!     void         setPointerAttrVal      (XmlAttrPointer * attr, VARIANT p);
      
-     void         writeCache             ();
-     //void         readCache             ();
  
  protected:
--- 287,340 ----
      void         openMetaAttribute      ();
      void         closeMetaAttribute     ();
! 
!     void         setFolderPathOnCreate  (BSTR connection);
!     void         setFolderPathOnOpen    (BSTR connection);
! 
!     // graph operatrions
!     void         clearAll               ();
! 
      void         addObject              (XmlObject * obj);
! 
!     void         removeObject           (XmlObject * obj);
! 
!     void         setPointer             (XmlObject * obj, attrid_type attribId, XmlObject * pointed);
! 
!     void         setPointer             (XmlAttrPointer * attr, VARIANT p);
!     
!     void         updateCollections      ();
! 
!     void         resolvePointers        (UnresolvedPointerVec& pointers);
! 
!     // getting connections
!     void         getPointer             (XmlAttrPointer * attr, VARIANT * p);
! 
!     void         getCollection          (XmlAttrCollection * attr, VARIANT * p);
! 
!     // object pointer and id conversion
!     XmlObject *  objectFromObjId        (metaobjidpair_type idpair);
! 
!     void         objIdFromObject        (XmlObject * obj, metaobjidpair_type& idpair);
!     
!     // serialization
!     void         writeBinaryCache       ();
! 
!     void         readBinaryCache        ();
! 
!     void         writeAll               ();
! 
!     void         writeXMLFile           (XmlObject * container);
! 
!     void         writeObject            (XmlObject * obj, FILE * file, bool container, const char * prefix);
! 
!     void         readXMLFile            (const char * fileName, UnresolvedPointerVec& pointers );
! 
!     void         readObject             (XERCES_CPP_NAMESPACE::DOMElement * e, UnresolvedPointerVec& pointers, XmlObject * parent);
! 
!     void         readAll                ();
! 
! 
! 
!     void         incrementalUpdate      ();
      
  
  protected:
***************
*** 329,332 ****
--- 349,355 ----
      CComObjPtr<ICoreMetaAttribute>  m_metaAttribute;
  	attrid_type                     m_metaAttributeId;
+     valtype_type                    m_metaAttributeValType;
+ 
+     ParentMap                       m_parentMap;
      
      // project
***************
*** 338,346 ****
  
      // objects
!     GUIDToXmlObjectMap              m_objectsByGuid;
!     ObjIdPairToXmlObjectMap         m_objectsByObjIdPair;
      XmlObject                     * m_openedObject;
!     int                             m_lastObjID;
! 
  };
  
--- 361,368 ----
  
      // objects
!     XmlObjVec                       m_objects;
!     GUIDToXmlObjectMap              m_objectsByGUID;
      XmlObject                     * m_openedObject;
!     XmlObject                     * m_root;
  };
  



More information about the GME-commit mailing list