[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