]> OCCT Git - occt-copy.git/commitdiff
Port to 7.0, removing cdl
authorpdn <pdn@opencascade.com>
Fri, 21 Aug 2015 05:49:46 +0000 (08:49 +0300)
committermkv <mkv@opencascade.com>
Fri, 11 Sep 2015 15:35:05 +0000 (18:35 +0300)
52 files changed:
src/BinDrivers/BinDrivers.cxx
src/BinDrivers/BinDrivers_DocumentRetrievalDriver.hxx
src/BinDrivers/BinDrivers_DocumentStorageDriver.cxx
src/BinDrivers/BinDrivers_DocumentStorageDriver.hxx
src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.hxx
src/BinLDrivers/BinLDrivers_DocumentSection.hxx
src/BinLDrivers/BinLDrivers_DocumentStorageDriver.hxx
src/BinMDataXtd/BinMDataXtd.cxx
src/BinObjMgt/BinObjMgt_Persistent.hxx
src/CDF/CDF_Application.hxx
src/CDF/CDF_FWOSDriver.hxx
src/CDF/CDF_MetaDataDriver.hxx
src/CDF/CDF_Store.hxx
src/CDM/CDM_Document.hxx
src/CDM/CDM_MetaData.hxx
src/FSD/FSD_BinaryFile.hxx
src/FSD/FSD_CmpFile.hxx
src/FSD/FSD_File.hxx
src/PCDM/FILES
src/PCDM/PCDM.hxx
src/PCDM/PCDM_ReadError.hxx [new file with mode: 0644]
src/PCDM/PCDM_ReadWriter.hxx
src/PCDM/PCDM_ReadWriter_1.cxx
src/PCDM/PCDM_ReadWriter_1.hxx
src/PCDM/PCDM_Reader.hxx
src/PCDM/PCDM_Reference.hxx
src/PCDM/PCDM_RetrievalDriver.hxx
src/PCDM/PCDM_StorageDriver.hxx
src/PCDM/PCDM_WriteError.hxx [new file with mode: 0644]
src/PCDM/PCDM_Writer.hxx
src/Storage/FILES
src/Storage/Storage_BaseDriver.hxx
src/Storage/Storage_File.cxx
src/Storage/Storage_File.hxx [new file with mode: 0644]
src/Storage/Storage_IODevice.cxx
src/Storage/Storage_IODevice.hxx [new file with mode: 0644]
src/Storage/Storage_IStream.cxx
src/Storage/Storage_IStream.hxx [new file with mode: 0644]
src/Storage/Storage_OStream.cxx
src/Storage/Storage_OStream.hxx [new file with mode: 0644]
src/Storage/Storage_OpenMode.hxx
src/Storage/Storage_SeekMode.hxx [new file with mode: 0644]
src/TDataXtd/FILES
src/TDataXtd/TDataXtd_Presentation.cxx
src/TDataXtd/TDataXtd_Presentation.hxx [new file with mode: 0644]
src/TDocStd/TDocStd_Application.hxx
src/TKVRML/EXTERNLIB
src/TKXCAF/EXTERNLIB
src/TPrsStd/TPrsStd_AISPresentation.cxx
src/XmlLDrivers/XmlLDrivers_DocumentRetrievalDriver.hxx
src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.hxx
src/XmlMDataXtd/XmlMDataXtd.cxx

index 7caed73aeda28567adbab5b85380e73df4b09555..cb9103752f69b174b3b850b1a75eb64fc53ccda5 100644 (file)
@@ -21,6 +21,7 @@
 #include <BinMDataStd.hxx>
 #include <BinMDataXtd.hxx>
 #include <BinMDF.hxx>
+#include <BinMNaming.hxx>
 #include <BinMDF_ADriverTable.hxx>
 #include <BinMDocStd.hxx>
 #include <BinMFunction.hxx>
index c24e7ad3fec78ab1d2f75202b2f90da3bdf7ede9..6fc49ce47def2b41704243bcda3bd92125f691a2 100644 (file)
@@ -24,6 +24,7 @@
 #include <Standard_Boolean.hxx>
 #include <Storage_Position.hxx>
 #include <Standard_Integer.hxx>
+#include <Storage_IODevice.hxx>
 class BinMDF_ADriverTable;
 class CDM_MessageDriver;
 class BinLDrivers_DocumentSection;
@@ -44,9 +45,9 @@ public:
   
   Standard_EXPORT virtual Handle(BinMDF_ADriverTable) AttributeDrivers (const Handle(CDM_MessageDriver)& theMsgDriver) Standard_OVERRIDE;
   
-  Standard_EXPORT virtual void ReadShapeSection (BinLDrivers_DocumentSection& theSection, Standard_IStream& theIS, const Standard_Boolean isMess = Standard_False) Standard_OVERRIDE;
+  Standard_EXPORT virtual void ReadShapeSection (BinLDrivers_DocumentSection& theSection, const Handle(Storage_IODevice)& theDevice, const Standard_Boolean isMess = Standard_False) Standard_OVERRIDE;
   
-  Standard_EXPORT virtual void CheckShapeSection (const Storage_Position& thePos, Standard_IStream& theIS) Standard_OVERRIDE;
+  Standard_EXPORT virtual void CheckShapeSection (const Storage_Position& thePos, const Handle(Storage_IODevice)& theDevice) Standard_OVERRIDE;
   
   Standard_EXPORT virtual void PropagateDocumentVersion (const Standard_Integer theVersion) Standard_OVERRIDE;
 
index 5ad62189f4a4778f61a3c50a9a2c74945bfd6fdf..0dd2cb7e6af72c9706cbfd0a04ee5b4d19a423be 100644 (file)
@@ -13,7 +13,7 @@
 // Alternatively, this file may be used under the terms of Open CASCADE
 // commercial license or contractual agreement.
 
-#include <BinDrivers_DocumentStorageDriver.ixx>
+#include <BinDrivers_DocumentStorageDriver.hxx>
 #include <Standard_ErrorHandler.hxx>
 #include <Standard_SStream.hxx>
 #include <TCollection_AsciiString.hxx>
index 2d6703f71f0661a5e1f58f7a52520289c0b48e95..093acf4d1a457b08ddfc963e20577435a6e160b9 100644 (file)
@@ -21,6 +21,7 @@
 
 #include <BinLDrivers_DocumentStorageDriver.hxx>
 #include <Standard_OStream.hxx>
+#include <Storage_IODevice.hxx>
 class BinMDF_ADriverTable;
 class CDM_MessageDriver;
 class BinLDrivers_DocumentSection;
@@ -42,7 +43,7 @@ public:
   Standard_EXPORT virtual Handle(BinMDF_ADriverTable) AttributeDrivers (const Handle(CDM_MessageDriver)& theMsgDriver) Standard_OVERRIDE;
   
   //! implements the procedure of writing a shape section to file
-  Standard_EXPORT virtual void WriteShapeSection (BinLDrivers_DocumentSection& theDocSection, Standard_OStream& theOS) Standard_OVERRIDE;
+  Standard_EXPORT virtual void WriteShapeSection (BinLDrivers_DocumentSection& theDocSection, const Handle(Storage_IODevice)& theDevice) Standard_OVERRIDE;
 
 
 
index 7c3eea2a868e3a79816e79c6425cdfb14b845d4b..dc6386a89b29603a59757851af76571b68e18b36 100644 (file)
@@ -28,6 +28,7 @@
 #include <Standard_IStream.hxx>
 #include <Storage_Position.hxx>
 #include <Standard_Boolean.hxx>
+#include <Storage_IODevice.hxx>
 class BinMDF_ADriverTable;
 class CDM_MessageDriver;
 class TCollection_ExtendedString;
@@ -63,7 +64,7 @@ public:
   Standard_EXPORT virtual Handle(CDM_Document) CreateDocument() Standard_OVERRIDE;
   
   //! retrieves the content of the file into a new Document.
-  Standard_EXPORT virtual void Read (const TCollection_ExtendedString& theFileName, const Handle(CDM_Document)& theNewDocument, const Handle(CDM_Application)& theApplication) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Read (const Handle(Storage_IODevice)& theDevice, const Handle(CDM_Document)& theNewDocument, const Handle(CDM_Application)& theApplication) Standard_OVERRIDE;
   
   Standard_EXPORT virtual Handle(BinMDF_ADriverTable) AttributeDrivers (const Handle(CDM_MessageDriver)& theMsgDriver);
 
@@ -76,19 +77,19 @@ protected:
 
   
   //! Read the tree from the stream <theIS> to <theLabel>
-  Standard_EXPORT virtual Standard_Integer ReadSubTree (Standard_IStream& theIS, const TDF_Label& theData);
+  Standard_EXPORT virtual Standard_Integer ReadSubTree (const Handle(Storage_IODevice)& theDevice, const TDF_Label& theData);
   
   //! Read the  info  section  of  theFile into theData,
   //! return a file  position  corresponding to the info
   //! section end
-  Standard_EXPORT Storage_Position ReadInfoSection (const TCollection_AsciiString& theFile, Handle(Storage_HeaderData)& theData);
+  Standard_EXPORT Storage_Position ReadInfoSection (const Handle(Storage_IODevice)& theDevice, Handle(Storage_HeaderData)& theData);
   
   //! define the procedure of reading a section to file.
-  Standard_EXPORT virtual void ReadSection (BinLDrivers_DocumentSection& theSection, const Handle(CDM_Document)& theDoc, Standard_IStream& theIS);
+  Standard_EXPORT virtual void ReadSection (BinLDrivers_DocumentSection& theSection, const Handle(CDM_Document)& theDoc, const Handle(Storage_IODevice)&   theDevice);
   
-  Standard_EXPORT virtual void ReadShapeSection (BinLDrivers_DocumentSection& theSection, Standard_IStream& theIS, const Standard_Boolean isMess = Standard_False);
+  Standard_EXPORT virtual void ReadShapeSection (BinLDrivers_DocumentSection& theSection, const Handle(Storage_IODevice)& theDevice, const Standard_Boolean isMess = Standard_False);
   
-  Standard_EXPORT virtual void CheckShapeSection (const Storage_Position& thePos, Standard_IStream& theIS);
+  Standard_EXPORT virtual void CheckShapeSection (const Storage_Position& thePos, const Handle(Storage_IODevice)& theDevice);
   
   Standard_EXPORT virtual void PropagateDocumentVersion (const Standard_Integer theVersion);
   
index bafc9df25a8d8a41623e6a09987cc5cbe24706ed..82d3781b4c0f84d3978a35bc42ca20246736f69b 100644 (file)
@@ -24,6 +24,7 @@
 #include <Standard_Boolean.hxx>
 #include <Standard_OStream.hxx>
 #include <Standard_IStream.hxx>
+#include <Storage_IODevice.hxx>
 class TCollection_AsciiString;
 
 
@@ -64,15 +65,15 @@ public:
   Standard_EXPORT void SetLength (const Standard_Size theLength);
   
   //! Create a Section entry in the Document TOC (list of sections)
-  Standard_EXPORT void WriteTOC (Standard_OStream& theOS);
+  Standard_EXPORT void WriteTOC (const Handle(Storage_IODevice)& theDevice);
   
   //! Save Offset and Length data into the Section entry
   //! in the Document TOC (list of sections)
-  Standard_EXPORT void Write (Standard_OStream& theOS, const Standard_Size theOffset);
+  Standard_EXPORT void Write (const Handle(Storage_IODevice)& theDevice, const Standard_Size theOffset);
   
   //! Fill a DocumentSection instance from the data that are read
   //! from TOC.
-  Standard_EXPORT static void ReadTOC (BinLDrivers_DocumentSection& theSection, Standard_IStream& theIS);
+  Standard_EXPORT static void ReadTOC (BinLDrivers_DocumentSection& theSection, const Handle(Storage_IODevice)& theDevice);
 
 
 
index 29f2c3c1f507ccde35ec34602af4ab536a8bd7ef..0969f3948ebd2f81848087830e6e5282b07fbb34 100644 (file)
@@ -29,6 +29,7 @@
 #include <Standard_OStream.hxx>
 #include <Standard_Boolean.hxx>
 #include <Standard_Type.hxx>
+#include <Storage_IODevice.hxx>
 class BinMDF_ADriverTable;
 class CDM_MessageDriver;
 class TCollection_ExtendedString;
@@ -55,7 +56,7 @@ public:
   Standard_EXPORT virtual TCollection_ExtendedString SchemaName() const Standard_OVERRIDE;
   
   //! Write <theDocument> to the binary file <theFileName>
-  Standard_EXPORT virtual void Write (const Handle(CDM_Document)& theDocument, const TCollection_ExtendedString& theFileName) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Write (const Handle(CDM_Document)& theDocument, const Handle(Storage_IODevice)& theDevice) Standard_OVERRIDE;
   
   Standard_EXPORT virtual Handle(BinMDF_ADriverTable) AttributeDrivers (const Handle(CDM_MessageDriver)& theMsgDriver);
   
@@ -71,13 +72,13 @@ protected:
 
   
   //! Write the tree under <theLabel> to the stream <theOS>
-  Standard_EXPORT void WriteSubTree (const TDF_Label& theData, Standard_OStream& theOS);
+  Standard_EXPORT void WriteSubTree (const TDF_Label& theData, const Handle(Storage_IODevice)& theDevice);
   
   //! define the procedure of writing a section to file.
-  Standard_EXPORT virtual void WriteSection (const TCollection_AsciiString& theName, const Handle(CDM_Document)& theDoc, Standard_OStream& theOS);
+  Standard_EXPORT virtual void WriteSection (const TCollection_AsciiString& theName, const Handle(CDM_Document)& theDoc, const Handle(Storage_IODevice)& theDevice);
   
   //! defines the procedure of writing a shape  section to file
-  Standard_EXPORT virtual void WriteShapeSection (BinLDrivers_DocumentSection& theDocSection, Standard_OStream& theOS);
+  Standard_EXPORT virtual void WriteShapeSection (BinLDrivers_DocumentSection& theDocSection, const Handle(Storage_IODevice)& theDevice);
   
   //! write  theMessage  to  the  MessageDriver  of  the
   //! Application
@@ -97,7 +98,7 @@ private:
   Standard_EXPORT Standard_Boolean FirstPassSubTree (const TDF_Label& L, TDF_LabelList& ListOfEmptyL);
   
   //! Write info secton using FSD_BinaryFile driver
-  Standard_EXPORT void WriteInfoSection (const Handle(CDM_Document)& theDocument, const TCollection_AsciiString& theFile);
+  Standard_EXPORT void WriteInfoSection (const Handle(CDM_Document)& theDocument, const Handle(Storage_IODevice)& theDevice);
   
   Standard_EXPORT void UnsupportedAttrMsg (const Handle(Standard_Type)& theType);
 
index b14cc54826609c6e0c48e17d00e2ef09b3ee5dee..96400513a15ad7a6862c73e9bb5cb7e586294365 100644 (file)
@@ -26,8 +26,8 @@
 #include <BinMDataXtd_ShapeDriver.hxx>
 #include <BinMDF_ADriverTable.hxx>
 #include <CDM_MessageDriver.hxx>
-#include <BinMDataXtd_PresentationDriver.hxx>
-#include <BinMDataXtd_PositionDriver.hxx>
+//#include <BinMDataXtd_PresentationDriver.hxx>
+//#include <BinMDataXtd_PositionDriver.hxx>
 
 static Standard_Integer myDocumentVersion = -1;
 //=======================================================================
@@ -46,8 +46,8 @@ void BinMDataXtd::AddDrivers (const Handle(BinMDF_ADriverTable)& theDriverTable,
   theDriverTable->AddDriver (new BinMDataXtd_AxisDriver        (theMsgDriver) );
   theDriverTable->AddDriver (new BinMDataXtd_PlaneDriver       (theMsgDriver) );
   theDriverTable->AddDriver (new BinMDataXtd_PlacementDriver   (theMsgDriver) );
-  theDriverTable->AddDriver (new BinMDataXtd_PresentationDriver(theMsgDriver) );
-  theDriverTable->AddDriver (new BinMDataXtd_PositionDriver    (theMsgDriver) );
+//  theDriverTable->AddDriver (new BinMDataXtd_PresentationDriver(theMsgDriver) );
+//  theDriverTable->AddDriver (new BinMDataXtd_PositionDriver    (theMsgDriver) );
 
 }
 
index a43a51de7b2783712f0c22c149222557e30d404b..6c34bc608129c8b4916d1fe789cb59c4f599e0d2 100644 (file)
@@ -38,6 +38,7 @@
 #include <Standard_OStream.hxx>
 #include <Standard_IStream.hxx>
 #include <Standard_Address.hxx>
+#include <Storage_IODevice.hxx>
 class TCollection_AsciiString;
 class TCollection_ExtendedString;
 class TDF_Label;
@@ -291,11 +292,15 @@ operator Standard_Boolean () const { return IsOK(); }
   //! inline Standard_OStream& operator<< (Standard_OStream&,
   //! BinObjMgt_Persistent&) is also available
   Standard_EXPORT Standard_OStream& Write (Standard_OStream& theOS);
+
+  Standard_EXPORT void Write (const Handle(Storage_IODevice)& theDevice);
   
   //! Retrieves <me> from the stream.
   //! inline Standard_IStream& operator>> (Standard_IStream&,
   //! BinObjMgt_Persistent&) is also available
   Standard_EXPORT Standard_IStream& Read (Standard_IStream& theIS);
+
+  Standard_EXPORT void Read (const Handle(Storage_IODevice)& aDevice);
   
   //! Frees the allocated memory;
   //! This object can be reused after call to Init
index 8a35dde67b3f76f74e744915e4ed83fe04030250..76333fd886eab3e5e811482cb1156bb41fffd526 100644 (file)
@@ -29,6 +29,7 @@
 #include <CDF_TypeOfActivation.hxx>
 #include <Standard_ExtString.hxx>
 #include <Standard_Integer.hxx>
+#include <Storage_IODevice.hxx>
 class Standard_NoSuchObject;
 class CDF_Session;
 class Standard_GUID;
@@ -89,7 +90,7 @@ public:
   //!
   //! Since  the version is not specified in  this syntax, the  latest wil be used.
   //! A link is kept with the database through an instance of CDM_MetaData
-  Standard_EXPORT Handle(CDM_Document) Retrieve (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName, const Standard_Boolean UseStorageConfiguration = Standard_True);
+  Standard_EXPORT Handle(CDM_Document) Retrieve (Handle(Storage_IODevice)& aDevice, const Standard_Boolean UseStorageConfiguration = Standard_True);
   
   //! This method retrieves  a  document from the database.
   //! If the  Document references other documents which have
@@ -105,20 +106,20 @@ public:
   //! Handle(CDM_Document) theDocument=myApplication->Retrieve("|user|cascade","box","2");
   //! A link is kept with the database through an instance
   //! of CDM_MetaData
-  Standard_EXPORT Handle(CDM_Document) Retrieve (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName, const TCollection_ExtendedString& aVersion, const Standard_Boolean UseStorageConfiguration = Standard_True);
+  Standard_EXPORT Handle(CDM_Document) Retrieve (Handle(Storage_IODevice)& aDevice, const TCollection_ExtendedString& aVersion, const Standard_Boolean UseStorageConfiguration = Standard_True);
   
-  Standard_EXPORT PCDM_ReaderStatus CanRetrieve (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName);
+  Standard_EXPORT PCDM_ReaderStatus CanRetrieve (Handle(Storage_IODevice)& aDevice);
   
-  Standard_EXPORT PCDM_ReaderStatus CanRetrieve (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName, const TCollection_ExtendedString& aVersion);
+  Standard_EXPORT PCDM_ReaderStatus CanRetrieve (Handle(Storage_IODevice)& aDevice, const TCollection_ExtendedString& aVersion);
   
   Standard_EXPORT virtual void Formats (TColStd_SequenceOfExtendedString& Formats) = 0;
   
   //! Checks  status  after  Retrieve
     PCDM_ReaderStatus GetRetrieveStatus() const;
   
-  Standard_EXPORT Standard_Boolean FindReader (const TCollection_ExtendedString& aFileName);
+  Standard_EXPORT Standard_Boolean FindReader (const Handle(Storage_IODevice)& aDevice);
   
-  Standard_EXPORT Handle(PCDM_Reader) Reader (const TCollection_ExtendedString& aFileName);
+  Standard_EXPORT Handle(PCDM_Reader) Reader (const Handle(Storage_IODevice)& aDevice);
   
   Standard_EXPORT Standard_Boolean FindReaderFromFormat (const TCollection_ExtendedString& aFormat);
   
@@ -127,7 +128,7 @@ public:
   //! try to  retrieve a Format  directly in the  file or in
   //! application   resource  by using   extension. returns
   //! True if found;
-  Standard_EXPORT Standard_Boolean Format (const TCollection_ExtendedString& aFileName, TCollection_ExtendedString& theFormat);
+  Standard_EXPORT Standard_Boolean Format (const Handle(Storage_IODevice)& aDevice, TCollection_ExtendedString& theFormat);
   
   Standard_EXPORT Standard_ExtString DefaultFolder();
   
@@ -173,7 +174,7 @@ private:
   
   Standard_EXPORT Standard_Integer DocumentVersion (const Handle(CDM_MetaData)& theMetaData);
   
-  Standard_EXPORT Standard_Boolean FindReader (const TCollection_ExtendedString& aFileName, Standard_GUID& PluginIn, TCollection_ExtendedString& ResourceName);
+  Standard_EXPORT Standard_Boolean FindReader (const Handle(Storage_IODevice)& aDevice, Standard_GUID& PluginIn, TCollection_ExtendedString& ResourceName);
   
   Standard_EXPORT Standard_Boolean FindReaderFromFormat (const TCollection_ExtendedString& aFormat, Standard_GUID& PluginIn, TCollection_ExtendedString& ResourceName);
   
index d730ab8fb291e8d9926a45ce82f0e86bfdbd3db3..93b653a9b1780c061bdd3faf0836296ad0ae7cd5 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <CDF_MetaDataDriver.hxx>
 #include <Standard_Boolean.hxx>
+#include <Storage_IODevice.hxx>
 class TCollection_ExtendedString;
 class CDM_MetaData;
 class CDM_Document;
@@ -66,13 +67,13 @@ protected:
 private:
 
   
-  Standard_EXPORT Handle(CDM_MetaData) MetaData (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName, const TCollection_ExtendedString& aVersion);
+  Standard_EXPORT Handle(CDM_MetaData) MetaData (const Handle(Storage_IODevice)& aDevice, const TCollection_ExtendedString& aVersion);
   
-  Standard_EXPORT Handle(CDM_MetaData) CreateMetaData (const Handle(CDM_Document)& aDocument, const TCollection_ExtendedString& aFileName);
+  Standard_EXPORT Handle(CDM_MetaData) CreateMetaData (const Handle(CDM_Document)& aDocument);
   
   Standard_EXPORT static TCollection_ExtendedString Concatenate (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName);
   
-  Standard_EXPORT Handle(CDM_MetaData) BuildMetaData (const TCollection_ExtendedString& aFileName);
+  Standard_EXPORT Handle(CDM_MetaData) BuildMetaData (const Handle(Storage_IODevice)& aDevice);
 
 
 
index 89b3e12b6df9d110af31e9b35b9ddfca37958ad6..6f319f1f5e54f0b0bb6ad90400c6ee49ea830a99 100644 (file)
@@ -23,6 +23,7 @@
 #include <Standard_Transient.hxx>
 #include <Standard_Boolean.hxx>
 #include <Standard_Integer.hxx>
+#include <Storage_IODevice.hxx>
 class Standard_NotImplemented;
 class CDM_MetaData;
 class TCollection_ExtendedString;
@@ -77,7 +78,7 @@ public:
   //! MetaData is called by GetMetaData
   //! If the version is  set to NULL, MetaData should return
   //! the last version of the metadata
-  Standard_EXPORT virtual Handle(CDM_MetaData) MetaData (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName, const TCollection_ExtendedString& aVersion) = 0;
+  Standard_EXPORT virtual Handle(CDM_MetaData) MetaData (const Handle(Storage_IODevice)& aDevice, const TCollection_ExtendedString& aVersion) = 0;
   
   //! by default returns aMetaDATA
   //! should return the MetaData stored in the DBMS with the meta-data
@@ -94,7 +95,7 @@ public:
   //! CreateMetaData is called by CreateData
   //! If the metadata-driver
   //! has version capabilities, version must be set in the returned Data.
-  Standard_EXPORT virtual Handle(CDM_MetaData) CreateMetaData (const Handle(CDM_Document)& aDocument, const TCollection_ExtendedString& aFileName) = 0;
+  Standard_EXPORT virtual Handle(CDM_MetaData) CreateMetaData (const Handle(CDM_Document)& aDocument) = 0;
   
   Standard_EXPORT virtual Standard_Boolean FindFolder (const TCollection_ExtendedString& aFolder) = 0;
   
@@ -106,7 +107,7 @@ public:
   Standard_EXPORT Standard_Boolean Find (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName);
   
   //! calls MetaData with an empty version
-  Standard_EXPORT Handle(CDM_MetaData) MetaData (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName);
+  Standard_EXPORT Handle(CDM_MetaData) MetaData (const Handle(Storage_IODevice)& aDevice);
 
 
 
index dc941b7c13c0d96b2d56b8856b521496327d17e7..87eeeaee7b0fd38894bb4787a1bf3ad9acf9d2d2 100644 (file)
@@ -65,12 +65,15 @@ public:
   //! in the case of a subcomponent for which no storage driver exists,
   //! returns the name of the subcomponent if there is one.
   Standard_EXPORT Standard_ExtString LastName() const;
+
+  Standard_EXPORT Handle(Storage_IODevice) Device() const;
   
-  //! returns the folder in which the current document will be stored.
-  Standard_EXPORT Standard_ExtString Folder() const;
-  
-  //! returns the name under which the current document will be stored
+    //! returns the name under which the current document will be stored
   Standard_EXPORT Standard_ExtString Name() const;
+
+  Standard_EXPORT Standard_Boolean SetDevice(const Handle(Storage_IODevice)& aDevice);
+
+  Standard_EXPORT Handle(Storage_IODevice) CDF_Store::MetaDataDevice() const;
   
   //! returns true if the current document is already stored
   Standard_EXPORT Standard_Boolean IsStored() const;
index 0863f769ccecfccadcf9e893e023905a69341734..8497343ca110e4f7ff93a7809f6167f21f2384e4 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <Standard.hxx>
 #include <Standard_Type.hxx>
+#include <Storage_IODevice.hxx>
 
 #include <TColStd_SequenceOfExtendedString.hxx>
 #include <TCollection_ExtendedString.hxx>
@@ -252,15 +253,17 @@ public:
   Standard_EXPORT void UnsetIsStored();
   
   Standard_EXPORT Handle(CDM_MetaData) MetaData() const;
+
+  Standard_EXPORT Handle(Storage_IODevice) Device() const;
   
   Standard_EXPORT TCollection_ExtendedString Folder() const;
   
-  //! defines the folder in which the object should be stored.
-  Standard_EXPORT void SetRequestedFolder (const TCollection_ExtendedString& aFolder);
+  //! defines the device in which the object should be stored.
+  Standard_EXPORT void SetRequestedDevice (const Handle(Storage_IODevice)& aDevice);
   
-  Standard_EXPORT TCollection_ExtendedString RequestedFolder() const;
+  Standard_EXPORT Handle(Storage_IODevice) RequestedDevice() const;
   
-  Standard_EXPORT Standard_Boolean HasRequestedFolder() const;
+  Standard_EXPORT Standard_Boolean HasRequestedDevice() const;
   
   //! defines the name under which the object should be stored.
   Standard_EXPORT void SetRequestedName (const TCollection_ExtendedString& aName);
@@ -420,10 +423,7 @@ private:
   Standard_Integer myStorageVersion;
   Handle(CDM_MetaData) myMetaData;
   TCollection_ExtendedString myRequestedComment;
-  TCollection_ExtendedString myRequestedFolder;
-  Standard_Boolean myRequestedFolderIsDefined;
-  TCollection_ExtendedString myRequestedName;
-  Standard_Boolean myRequestedNameIsDefined;
+  Handle(Storage_IODevice) myRequestedDevice;
   Standard_Boolean myRequestedPreviousVersionIsDefined;
   TCollection_ExtendedString myRequestedPreviousVersion;
   TCollection_ExtendedString myFileExtension;
index 65bb19adef4b92ed8b8a172621e80208ebd13830..641a93910841a39a48f4f03a7f433e1579d8af59 100644 (file)
@@ -29,6 +29,7 @@
 #include <CDM_Application.hxx>
 #include <Standard_OStream.hxx>
 #include <CDM_MetaDataLookUpTable.hxx>
+#include <Storage_IODevice.hxx>
 class Standard_NoSuchObject;
 class CDM_Reference;
 class CDM_Document;
@@ -46,18 +47,14 @@ class CDM_MetaData : public Standard_Transient
 public:
 
   
-  Standard_EXPORT static Handle(CDM_MetaData) LookUp (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName, const TCollection_ExtendedString& aPath, const TCollection_ExtendedString& aFileName, const Standard_Boolean ReadOnly);
+  Standard_EXPORT static Handle(CDM_MetaData) LookUp (const Handle(Storage_IODevice)& aDevice, const Standard_Boolean ReadOnly);
   
-  Standard_EXPORT static Handle(CDM_MetaData) LookUp (const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName, const TCollection_ExtendedString& aPath, const TCollection_ExtendedString& aVersion, const TCollection_ExtendedString& aFileName, const Standard_Boolean ReadOnly);
+  Standard_EXPORT static Handle(CDM_MetaData) LookUp (const Handle(Storage_IODevice)& aDevice, const TCollection_ExtendedString& aVersion, const Standard_Boolean ReadOnly);
   
   Standard_EXPORT Standard_Boolean IsRetrieved() const;
   
   Standard_EXPORT Handle(CDM_Document) Document() const;
-  
-  //! returns the folder in which the meta-data has to be created
-  //! or has to be found.
-  Standard_EXPORT TCollection_ExtendedString Folder() const;
-  
+   
   //! returns the name under which the meta-data has to be created
   //! or has to be found.
   Standard_EXPORT TCollection_ExtendedString Name() const;
@@ -70,12 +67,12 @@ public:
   //! searching the corresponding meta-data.
   Standard_EXPORT Standard_Boolean HasVersion() const;
   
-  Standard_EXPORT TCollection_ExtendedString FileName() const;
   
   Standard_EXPORT Standard_OStream& Print (Standard_OStream& anOStream) const;
-Standard_OStream& operator << (Standard_OStream& anOStream);
   
-  Standard_EXPORT TCollection_ExtendedString Path() const;
+  Standard_OStream& operator << (Standard_OStream& anOStream);
+  
+  Standard_EXPORT Handle(Storage_IODevice) Device() const;
   
   Standard_EXPORT void UnsetDocument();
   
@@ -106,9 +103,9 @@ protected:
 private:
 
   
-  Standard_EXPORT CDM_MetaData(const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName, const TCollection_ExtendedString& aPath, const TCollection_ExtendedString& aFileName, const Standard_Boolean ReadOnly);
+  Standard_EXPORT CDM_MetaData(const Handle(Storage_IODevice)& aDevice, const Standard_Boolean ReadOnly);
   
-  Standard_EXPORT CDM_MetaData(const TCollection_ExtendedString& aFolder, const TCollection_ExtendedString& aName, const TCollection_ExtendedString& aPath, const TCollection_ExtendedString& aVersion, const TCollection_ExtendedString& aFileName, const Standard_Boolean ReadOnly);
+  Standard_EXPORT CDM_MetaData(const Handle(Storage_IODevice)& aDevice, const TCollection_ExtendedString& aVersion, const Standard_Boolean ReadOnly);
   
   Standard_EXPORT void SetDocument (const Handle(CDM_Document)& aDocument);
   
@@ -118,12 +115,10 @@ private:
 
   Standard_Boolean myIsRetrieved;
   CDM_DocumentPointer myDocument;
-  TCollection_ExtendedString myFolder;
   TCollection_ExtendedString myName;
   TCollection_ExtendedString myVersion;
   Standard_Boolean myHasVersion;
-  TCollection_ExtendedString myFileName;
-  TCollection_ExtendedString myPath;
+  Handle(Storage_IODevice) myDevice;
   Standard_Integer myDocumentVersion;
   Standard_Boolean myIsReadOnly;
 
index f0477cf077da9d8843d064c7eca589f6d278082e..29be640c0baca8febac93590071d423cc10314e9 100644 (file)
@@ -29,6 +29,7 @@
 #include <Standard_Boolean.hxx>
 #include <Storage_Position.hxx>
 #include <Standard_Integer.hxx>
+#include <Storage_IODevice.hxx>
 #include <TColStd_SequenceOfAsciiString.hxx>
 #include <TColStd_SequenceOfExtendedString.hxx>
 #include <Standard_Character.hxx>
@@ -56,14 +57,14 @@ public:
   
   Standard_EXPORT FSD_BinaryFile();
   
-  Standard_EXPORT Storage_Error Open (const TCollection_AsciiString& aName, const Storage_OpenMode aMode);
+  Standard_EXPORT Storage_Error Open (const Handle(Storage_IODevice)& aDevice, const Storage_OpenMode aMode);
   
   Standard_EXPORT Standard_Boolean IsEnd();
   
   //! return position in the file. Return -1 upon error.
   Standard_EXPORT Storage_Position Tell();
   
-  Standard_EXPORT static Storage_Error IsGoodFileType (const TCollection_AsciiString& aName);
+  Standard_EXPORT static Storage_Error IsGoodFileType (const Handle(Storage_IODevice)& aDevice);
   
   Standard_EXPORT Storage_Error BeginWriteInfoSection();
   
index 3ab9987b5b0a07026a250c1ab447a34494b99acc..29f8366fff00aef3fedfdee89dddb9c91236c9ae 100644 (file)
@@ -25,6 +25,7 @@
 #include <Storage_BaseDriver.hxx>
 #include <Storage_Error.hxx>
 #include <Storage_OpenMode.hxx>
+#include <Storage_IODevice.hxx>
 #include <Standard_Boolean.hxx>
 #include <Storage_Position.hxx>
 #include <Standard_Integer.hxx>
@@ -56,14 +57,14 @@ public:
   
   Standard_EXPORT FSD_CmpFile();
   
-  Standard_EXPORT Storage_Error Open (const TCollection_AsciiString& aName, const Storage_OpenMode aMode);
+  Standard_EXPORT Storage_Error Open (const Handle(Storage_IODevice)& aDevice, const Storage_OpenMode aMode);
   
   Standard_EXPORT Standard_Boolean IsEnd();
   
   //! return position in the file. Return -1 upon error.
   Standard_EXPORT Storage_Position Tell();
   
-  Standard_EXPORT static Storage_Error IsGoodFileType (const TCollection_AsciiString& aName);
+  Standard_EXPORT static Storage_Error IsGoodFileType (const Handle(Storage_IODevice)& aDevice);
   
   Standard_EXPORT Storage_Error BeginWriteInfoSection();
   
@@ -265,6 +266,9 @@ protected:
   
   //! read extended chars (unicode) from the current position to the end of line.
   Standard_EXPORT void ReadExtendedLine (TCollection_ExtendedString& buffer);
+
+  //! write the line.
+  Standard_EXPORT void WriteLine(const TCollection_AsciiString& buffer, Standard_Boolean putNewLine = Standard_True);
   
   //! write from the current position to the end of line.
   Standard_EXPORT void WriteExtendedLine (const TCollection_ExtendedString& buffer);
@@ -290,9 +294,6 @@ private:
   Standard_EXPORT void RaiseError (const Handle(Standard_Type)& theFailure);
 
 
-  FSD_FStream myStream;
-
-
 };
 
 
index 96c7c58816fa8fb5e522f85778bb3556af2d6b67..7954d64a3cb34652aa6b4c24f1d02e487648c7bd 100644 (file)
@@ -25,6 +25,7 @@
 #include <Storage_BaseDriver.hxx>
 #include <Storage_Error.hxx>
 #include <Storage_OpenMode.hxx>
+#include <Storage_IODevice.hxx>
 #include <Standard_Boolean.hxx>
 #include <Storage_Position.hxx>
 #include <Standard_Integer.hxx>
@@ -68,14 +69,14 @@ public:
   //! The function returns Storage_VSOk if the file
   //! is opened correctly, or any other value of the
   //! Storage_Error enumeration which specifies the problem encountered.
-  Standard_EXPORT Storage_Error Open (const TCollection_AsciiString& aName, const Storage_OpenMode aMode);
+  Standard_EXPORT Storage_Error Open (const Handle(Storage_IODevice)& aDevice, const Storage_OpenMode aMode);
   
   Standard_EXPORT Standard_Boolean IsEnd();
   
   //! return position in the file. Return -1 upon error.
   Standard_EXPORT Storage_Position Tell();
   
-  Standard_EXPORT static Storage_Error IsGoodFileType (const TCollection_AsciiString& aName);
+  Standard_EXPORT static Storage_Error IsGoodFileType (const Handle(Storage_IODevice)& aDevice);
   
   Standard_EXPORT Storage_Error BeginWriteInfoSection();
   
@@ -283,6 +284,9 @@ protected:
   
   //! read extended chars (unicode) from the current position to the end of line.
   Standard_EXPORT void ReadExtendedLine (TCollection_ExtendedString& buffer);
+
+  //! write the line.
+  Standard_EXPORT void WriteLine(const TCollection_AsciiString& buffer, Standard_Boolean putNewLine = Standard_True);
   
   //! write from the current position to the end of line.
   Standard_EXPORT void WriteExtendedLine (const TCollection_ExtendedString& buffer);
@@ -306,9 +310,6 @@ private:
   Standard_EXPORT static const Standard_CString MagicNumber();
 
 
-  FSD_FStream myStream;
-
-
 };
 
 
index f8b252d6f9452df713eee0d00098fe7ce591b53a..822d44fa35006a9cbdf6fd20c90bcaf4448af6ab 100755 (executable)
@@ -6,6 +6,8 @@ PCDM_Document.hxx
 PCDM_DOMHeaderParser.cxx
 PCDM_DOMHeaderParser.hxx
 PCDM_DriverError.hxx
+PCDM_ReadError.hxx
+PCDM_WriteError.hxx
 PCDM_Reader.cxx
 PCDM_Reader.hxx
 PCDM_Reader.lxx
index 90f24d0a1eb260381268298c62cc86d513aad6db..07915c5b29a90cb870f520dc878b331fd1a43ea0 100644 (file)
@@ -24,6 +24,7 @@
 #include <Standard_Boolean.hxx>
 #include <PCDM_TypeOfFileDriver.hxx>
 #include <PCDM_BaseDriverPointer.hxx>
+#include <Storage_IODevice.hxx>
 class CDM_Document;
 class PCDM_StorageDriver;
 class Storage_Schema;
@@ -73,7 +74,7 @@ protected:
 private:
 
   
-  Standard_EXPORT static PCDM_TypeOfFileDriver FileDriverType (const TCollection_AsciiString& aFileName, PCDM_BaseDriverPointer& aBaseDriver);
+  Standard_EXPORT static PCDM_TypeOfFileDriver FileDriverType (const Handle(Storage_IODevice)& aDevice, PCDM_BaseDriverPointer& aBaseDriver);
 
 
 
diff --git a/src/PCDM/PCDM_ReadError.hxx b/src/PCDM/PCDM_ReadError.hxx
new file mode 100644 (file)
index 0000000..6448338
--- /dev/null
@@ -0,0 +1,37 @@
+// Created on: 1997-08-01
+// Created by: Jean-Louis Frenkel
+// Copyright (c) 1997-1999 Matra Datavision
+// Copyright (c) 1999-2014 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _PCDM_ReadError_HeaderFile
+#define _PCDM_ReadError_HeaderFile
+
+#include <Standard_Type.hxx>
+#include <Standard_DefineException.hxx>
+#include <Standard_SStream.hxx>
+#include <Standard_Failure.hxx>
+
+class PCDM_ReadError;
+DEFINE_STANDARD_HANDLE(PCDM_ReadError, Standard_Failure)
+
+#if !defined No_Exception && !defined No_PCDM_ReadError
+  #define PCDM_ReadError_Raise_if(CONDITION, MESSAGE) \
+  if (CONDITION) PCDM_ReadError::Raise(MESSAGE);
+#else
+  #define PCDM_ReadError_Raise_if(CONDITION, MESSAGE)
+#endif
+
+DEFINE_STANDARD_EXCEPTION(PCDM_ReadError, Standard_Failure)
+
+#endif // _PCDM_ReadError_HeaderFile
index 45277b97bb2329ff0122bc8c040f7c11320a6b6a..7bad76fd83e8963c4a7a29ecf29514bf523cdcd0 100644 (file)
@@ -25,6 +25,7 @@
 #include <PCDM_SequenceOfReference.hxx>
 #include <TColStd_SequenceOfExtendedString.hxx>
 #include <Storage_OpenMode.hxx>
+#include <Storage_IODevice.hxx>
 class TCollection_AsciiString;
 class Storage_Data;
 class CDM_Document;
@@ -48,24 +49,24 @@ public:
   
   Standard_EXPORT virtual void WriteReferenceCounter (const Handle(Storage_Data)& aData, const Handle(CDM_Document)& aDocument) const = 0;
   
-  Standard_EXPORT virtual void WriteReferences (const Handle(Storage_Data)& aData, const Handle(CDM_Document)& aDocument, const TCollection_ExtendedString& theReferencerFileName) const = 0;
+  Standard_EXPORT virtual void WriteReferences (const Handle(Storage_Data)& aData, const Handle(CDM_Document)& aDocument, const Handle(Storage_IODevice)& theReferencer) const = 0;
   
   Standard_EXPORT virtual void WriteExtensions (const Handle(Storage_Data)& aData, const Handle(CDM_Document)& aDocument) const = 0;
   
   Standard_EXPORT virtual void WriteVersion (const Handle(Storage_Data)& aData, const Handle(CDM_Document)& aDocument) const = 0;
   
-  Standard_EXPORT virtual Standard_Integer ReadReferenceCounter (const TCollection_ExtendedString& theFileName, const Handle(CDM_MessageDriver)& theMsgDriver) const = 0;
+  Standard_EXPORT virtual Standard_Integer ReadReferenceCounter (const Handle(Storage_IODevice)& aDevice, const Handle(CDM_MessageDriver)& theMsgDriver) const = 0;
   
-  Standard_EXPORT virtual void ReadReferences (const TCollection_ExtendedString& aFileName, PCDM_SequenceOfReference& theReferences, const Handle(CDM_MessageDriver)& theMsgDriver) const = 0;
+  Standard_EXPORT virtual void ReadReferences (const Handle(Storage_IODevice)& aDevice, PCDM_SequenceOfReference& theReferences, const Handle(CDM_MessageDriver)& theMsgDriver) const = 0;
   
-  Standard_EXPORT virtual void ReadExtensions (const TCollection_ExtendedString& aFileName, TColStd_SequenceOfExtendedString& theExtensions, const Handle(CDM_MessageDriver)& theMsgDriver) const = 0;
+  Standard_EXPORT virtual void ReadExtensions (const Handle(Storage_IODevice)& aDevice, TColStd_SequenceOfExtendedString& theExtensions, const Handle(CDM_MessageDriver)& theMsgDriver) const = 0;
   
-  Standard_EXPORT virtual Standard_Integer ReadDocumentVersion (const TCollection_ExtendedString& aFileName, const Handle(CDM_MessageDriver)& theMsgDriver) const = 0;
+  Standard_EXPORT virtual Standard_Integer ReadDocumentVersion (const Handle(Storage_IODevice)& aDevice, const Handle(CDM_MessageDriver)& theMsgDriver) const = 0;
   
-  Standard_EXPORT static void Open (Storage_BaseDriver& aDriver, const TCollection_ExtendedString& aFileName, const Storage_OpenMode anOpenMode);
+  Standard_EXPORT static void Open (Storage_BaseDriver& aDriver, const Handle(Storage_IODevice)& aDevice, const Storage_OpenMode anOpenMode);
   
   //! returns the convenient Reader for a File.
-  Standard_EXPORT static Handle(PCDM_ReadWriter) Reader (const TCollection_ExtendedString& aFileName);
+  Standard_EXPORT static Handle(PCDM_ReadWriter) Reader (const Handle(Storage_IODevice)& aDevice);
   
   Standard_EXPORT static Handle(PCDM_ReadWriter) Writer();
   
@@ -74,7 +75,7 @@ public:
   //! tries  to get a format  in the  file.  returns an empty
   //! string if the file could not be read or does not have
   //! a FileFormat information.
-  Standard_EXPORT static TCollection_ExtendedString FileFormat (const TCollection_ExtendedString& aFileName);
+  Standard_EXPORT static TCollection_ExtendedString FileFormat (const Handle(Storage_IODevice)& aDevice);
 
 
 
index 5b7663c6218c15d03ecd49e12b6bd83716f1e9e6..e2e6acf281ad2e4d9f3bcc49aaae5dd47b91b47a 100644 (file)
@@ -35,6 +35,7 @@
 #include <PCDM_TypeOfFileDriver.hxx>
 #include <PCDM_WriteError.hxx>
 #include <PCDM_ReadError.hxx>
+#include <UTL.hxx>
 
 #define START_REF "START_REF"
 #define END_REF "END_REF"
index 85c1cac82002caa072be173022f205d8780ea8ee..30e5708e1b686f7969fa3585c81c2d94c10012f0 100644 (file)
@@ -48,19 +48,19 @@ public:
   
   Standard_EXPORT void WriteReferenceCounter (const Handle(Storage_Data)& aData, const Handle(CDM_Document)& aDocument) const;
   
-  Standard_EXPORT void WriteReferences (const Handle(Storage_Data)& aData, const Handle(CDM_Document)& aDocument, const TCollection_ExtendedString& theReferencerFileName) const;
+  Standard_EXPORT void WriteReferences (const Handle(Storage_Data)& aData, const Handle(CDM_Document)& aDocument, const Handle(Storage_IODevice)& theReferencer) const;
   
   Standard_EXPORT void WriteExtensions (const Handle(Storage_Data)& aData, const Handle(CDM_Document)& aDocument) const;
   
   Standard_EXPORT void WriteVersion (const Handle(Storage_Data)& aData, const Handle(CDM_Document)& aDocument) const;
   
-  Standard_EXPORT Standard_Integer ReadReferenceCounter (const TCollection_ExtendedString& aFileName, const Handle(CDM_MessageDriver)& theMsgDriver) const;
+  Standard_EXPORT Standard_Integer ReadReferenceCounter (const Handle(Storage_IODevice)& aDevice, const Handle(CDM_MessageDriver)& theMsgDriver) const;
   
-  Standard_EXPORT void ReadReferences (const TCollection_ExtendedString& aFileName, PCDM_SequenceOfReference& theReferences, const Handle(CDM_MessageDriver)& theMsgDriver) const;
+  Standard_EXPORT void ReadReferences (const Handle(Storage_IODevice)& aDevice, PCDM_SequenceOfReference& theReferences, const Handle(CDM_MessageDriver)& theMsgDriver) const;
   
-  Standard_EXPORT void ReadExtensions (const TCollection_ExtendedString& aFileName, TColStd_SequenceOfExtendedString& theExtensions, const Handle(CDM_MessageDriver)& theMsgDriver) const;
+  Standard_EXPORT void ReadExtensions (const Handle(Storage_IODevice)& aDevice, TColStd_SequenceOfExtendedString& theExtensions, const Handle(CDM_MessageDriver)& theMsgDriver) const;
   
-  Standard_EXPORT Standard_Integer ReadDocumentVersion (const TCollection_ExtendedString& aFileName, const Handle(CDM_MessageDriver)& theMsgDriver) const;
+  Standard_EXPORT Standard_Integer ReadDocumentVersion (const Handle(Storage_IODevice)& aDevice, const Handle(CDM_MessageDriver)& theMsgDriver) const;
 
 
 
@@ -75,7 +75,7 @@ protected:
 private:
 
   
-  Standard_EXPORT static void ReadUserInfo (const TCollection_ExtendedString& aFileName, const TCollection_AsciiString& Start, const TCollection_AsciiString& End, TColStd_SequenceOfExtendedString& theUserInfo, const Handle(CDM_MessageDriver)& theMsgDriver);
+  Standard_EXPORT static void ReadUserInfo (const Handle(Storage_IODevice)& aDevice, const TCollection_AsciiString& Start, const TCollection_AsciiString& End, TColStd_SequenceOfExtendedString& theUserInfo, const Handle(CDM_MessageDriver)& theMsgDriver);
 
 
 
index dd288afdb211efb0ecfcb375b74e289682633851..55ce2419b4cffe78ee755fb9243487b225ffbf57 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <PCDM_ReaderStatus.hxx>
 #include <Standard_Transient.hxx>
+#include <Storage_IODevice.hxx>
 class PCDM_DriverError;
 class CDM_Document;
 class TCollection_ExtendedString;
@@ -42,7 +43,7 @@ public:
   Standard_EXPORT virtual Handle(CDM_Document) CreateDocument() = 0;
   
   //! retrieves the content of the file into a new Document.
-  Standard_EXPORT virtual void Read (const TCollection_ExtendedString& aFileName, const Handle(CDM_Document)& aNewDocument, const Handle(CDM_Application)& anApplication) = 0;
+  Standard_EXPORT virtual void Read (const Handle(Storage_IODevice)& aDevice, const Handle(CDM_Document)& aNewDocument, const Handle(CDM_Application)& anApplication) = 0;
   
     PCDM_ReaderStatus GetStatus() const;
 
index 8a53bcc9ae8a92bcf5e385e7696a4a15b1047752..16c4c0b8e70dad32c6f3d8fb42575f46ff5e6252 100644 (file)
@@ -22,8 +22,7 @@
 #include <Standard_Handle.hxx>
 
 #include <Standard_Integer.hxx>
-#include <TCollection_ExtendedString.hxx>
-class TCollection_ExtendedString;
+#include <Storage_IODevice.hxx>
 
 
 
@@ -36,11 +35,11 @@ public:
   
   Standard_EXPORT PCDM_Reference();
   
-  Standard_EXPORT PCDM_Reference(const Standard_Integer aReferenceIdentifier, const TCollection_ExtendedString& aFileName, const Standard_Integer aDocumentVersion);
+  Standard_EXPORT PCDM_Reference::PCDM_Reference(const Standard_Integer aReferenceIdentifier, const Handle(Storage_IODevice)& aDevice, const Standard_Integer aDocumentVersion);
   
   Standard_EXPORT Standard_Integer ReferenceIdentifier() const;
   
-  Standard_EXPORT TCollection_ExtendedString FileName() const;
+  Standard_EXPORT Handle(Storage_IODevice) PCDM_Reference::Device() const;
   
   Standard_EXPORT Standard_Integer DocumentVersion() const;
 
@@ -58,7 +57,7 @@ private:
 
 
   Standard_Integer myReferenceIdentifier;
-  TCollection_ExtendedString myFileName;
+  Handle(Storage_IODevice) myDevice;
   Standard_Integer myDocumentVersion;
 
 
index 509e5d566ccd0947878126dbfe26e81a55f6953e..6196e4ea2aee2bab12a242fd411142a7cfb2dcbc 100644 (file)
@@ -26,6 +26,7 @@
 #include <TColStd_SequenceOfExtendedString.hxx>
 #include <PCDM_SequenceOfReference.hxx>
 #include <Standard_Integer.hxx>
+#include <Storage_IODevice.hxx>
 class Standard_NoSuchObject;
 class PCDM_DriverError;
 class CDM_MetaData;
@@ -55,7 +56,7 @@ public:
   //! by  default  Read will  use the Schema method to read the file
   //! into a persistent document. and the Make   method to build a
   //! transient document.
-  Standard_EXPORT virtual void Read (const TCollection_ExtendedString& aFileName, const Handle(CDM_Document)& aNewDocument, const Handle(CDM_Application)& anApplication) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Read (const Handle(Storage_IODevice)& aDevice, const Handle(CDM_Document)& aNewDocument, const Handle(CDM_Application)& anApplication) Standard_OVERRIDE;
   
   Standard_EXPORT virtual void Make (const Handle(PCDM_Document)& aPCDM, const Handle(CDM_Document)& aNewDocument) = 0;
   
@@ -63,11 +64,11 @@ public:
   
   Standard_EXPORT virtual void LoadExtensions (const Handle(Storage_Schema)& aSchema, const TColStd_SequenceOfExtendedString& Extensions, const Handle(CDM_MessageDriver)& theMsgDriver);
   
-  Standard_EXPORT static void RaiseIfUnknownTypes (const Handle(Storage_Schema)& aSchema, const TCollection_ExtendedString& aFileName);
+  Standard_EXPORT static void RaiseIfUnknownTypes (const Handle(Storage_Schema)& aSchema, const Handle(Storage_IODevice)& aDevice);
   
-  Standard_EXPORT static Standard_Integer DocumentVersion (const TCollection_ExtendedString& aFileName, const Handle(CDM_MessageDriver)& theMsgDriver);
+  Standard_EXPORT static Standard_Integer DocumentVersion (const Handle(Storage_IODevice)& aDevice, const Handle(CDM_MessageDriver)& theMsgDriver);
   
-  Standard_EXPORT static Standard_Integer ReferenceCounter (const TCollection_ExtendedString& aFileName, const Handle(CDM_MessageDriver)& theMsgDriver);
+  Standard_EXPORT static Standard_Integer ReferenceCounter (const Handle(Storage_IODevice)& aDevice, const Handle(CDM_MessageDriver)& theMsgDriver);
   
   Standard_EXPORT void SetFormat (const TCollection_ExtendedString& aformat);
   
@@ -88,9 +89,9 @@ protected:
 private:
 
   
-  Standard_EXPORT static void References (const TCollection_ExtendedString& aFileName, PCDM_SequenceOfReference& theReferences, const Handle(CDM_MessageDriver)& theMsgDriver);
+  Standard_EXPORT static void References (const Handle(Storage_IODevice)& aDevice, PCDM_SequenceOfReference& theReferences, const Handle(CDM_MessageDriver)& theMsgDriver);
   
-  Standard_EXPORT static void Extensions (const TCollection_ExtendedString& aFileName, TColStd_SequenceOfExtendedString& theExtensions, const Handle(CDM_MessageDriver)& theMsgDriver);
+  Standard_EXPORT static void Extensions (const Handle(Storage_IODevice)& aDevice, TColStd_SequenceOfExtendedString& theExtensions, const Handle(CDM_MessageDriver)& theMsgDriver);
   
   Standard_EXPORT static void UserInfo (const TCollection_ExtendedString& aFileName, const TCollection_AsciiString& Start, const TCollection_AsciiString& End, TColStd_SequenceOfExtendedString& theUserInfo, const Handle(CDM_MessageDriver)& theMsgDriver);
 
index 8df6be92baf71ed393342853b15ff15a679c6449..b873d740084d2e49ca900f8b124f988e5c4509c6 100644 (file)
@@ -26,6 +26,7 @@
 #include <PCDM_Writer.hxx>
 #include <PCDM_SequenceOfDocument.hxx>
 #include <TColStd_SequenceOfExtendedString.hxx>
+#include <Storage_IODevice.hxx>
 class Standard_NoSuchObject;
 class PCDM_DriverError;
 class PCDM_Document;
@@ -74,7 +75,7 @@ public:
   //!
   //! by  default  Write will  use Make   method to build a persistent
   //! document and the Schema method to write the persistent document.
-  Standard_EXPORT virtual void Write (const Handle(CDM_Document)& aDocument, const TCollection_ExtendedString& aFileName) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Write (const Handle(CDM_Document)& aDocument, const Handle(Storage_IODevice)& aDevice) Standard_OVERRIDE;
   
   Standard_EXPORT void SetFormat (const TCollection_ExtendedString& aformat);
   
diff --git a/src/PCDM/PCDM_WriteError.hxx b/src/PCDM/PCDM_WriteError.hxx
new file mode 100644 (file)
index 0000000..afcbdd1
--- /dev/null
@@ -0,0 +1,37 @@
+// Created on: 1997-08-01
+// Created by: Jean-Louis Frenkel
+// Copyright (c) 1997-1999 Matra Datavision
+// Copyright (c) 1999-2014 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _PCDM_WriteError_HeaderFile
+#define _PCDM_WriteError_HeaderFile
+
+#include <Standard_Type.hxx>
+#include <Standard_DefineException.hxx>
+#include <Standard_SStream.hxx>
+#include <Standard_Failure.hxx>
+
+class PCDM_WriteError;
+DEFINE_STANDARD_HANDLE(PCDM_WriteError, Standard_Failure)
+
+#if !defined No_Exception && !defined No_PCDM_WriteError
+  #define PCDM_WriteError_Raise_if(CONDITION, MESSAGE) \
+  if (CONDITION) PCDM_WriteError::Raise(MESSAGE);
+#else
+  #define PCDM_WriteError_Raise_if(CONDITION, MESSAGE)
+#endif
+
+DEFINE_STANDARD_EXCEPTION(PCDM_WriteError, Standard_Failure)
+
+#endif // _PCDM_WriteError_HeaderFile
index dbd8f4169df211cafa7d4c0229459e1291d574eb..99280b6afe5a37817e9df117e47e84aef98a0235 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <Standard.hxx>
 #include <Standard_Type.hxx>
+#include <Storage_IODevice.hxx>
 
 #include <Standard_Transient.hxx>
 class PCDM_DriverError;
@@ -36,7 +37,7 @@ class PCDM_Writer : public Standard_Transient
 public:
 
   
-  Standard_EXPORT virtual void Write (const Handle(CDM_Document)& aDocument, const TCollection_ExtendedString& aFileName) = 0;
+  Standard_EXPORT virtual void Write (const Handle(CDM_Document)& aDocument, const Handle(Storage_IODevice)& aDevice) = 0;
 
 
 
index a93a8adf297322f31f787ecf160d9bd0ab4aee01..683cad2f00bf9c48873c82a4791620d9245d2b57 100755 (executable)
@@ -15,6 +15,8 @@ Storage_DataMapIteratorOfMapOfPers.hxx
 Storage_DefaultCallBack.cxx
 Storage_DefaultCallBack.hxx
 Storage_Error.hxx
+Storage_File.cxx
+Storage_File.hxx
 Storage_HArrayOfCallBack.hxx
 Storage_HArrayOfSchema.hxx
 Storage_HeaderData.cxx
@@ -23,10 +25,17 @@ Storage_HPArray.hxx
 Storage_HSeqOfRoot.hxx
 Storage_InternalData.cxx
 Storage_InternalData.hxx
+Storage_IODevice.cxx
+Storage_IODevice.hxx
+Storage_IODevice.lxx
+Storage_IStream.cxx
+Storage_IStream.hxx
 Storage_Macros.hxx
 Storage_MapOfCallBack.hxx
 Storage_MapOfPers.hxx
 Storage_OpenMode.hxx
+Storage_OStream.cxx
+Storage_OStream.hxx
 Storage_PArray.hxx
 Storage_Position.hxx
 Storage_PType.hxx
@@ -34,6 +43,7 @@ Storage_Root.cxx
 Storage_Root.hxx
 Storage_RootData.cxx
 Storage_RootData.hxx
+Storage_SeekMode.hxx
 Storage_Schema.cxx
 Storage_Schema.hxx
 Storage_Schema.lxx
index 4d6c5047089e2b8ee73d3a1802dce242ac76efdb..a9d92a783f2bad21579403fd2e12f0ed14a3aa1c 100644 (file)
@@ -22,6 +22,7 @@
 #include <Standard_Handle.hxx>
 
 #include <Storage_OpenMode.hxx>
+#include <Storage_IODevice.hxx>
 #include <TCollection_AsciiString.hxx>
 #include <Storage_Error.hxx>
 #include <Standard_Boolean.hxx>
@@ -54,13 +55,14 @@ public:
 
   
   Standard_EXPORT void Delete();
-Standard_EXPORT virtual ~Storage_BaseDriver(){Delete();}
+
+  Standard_EXPORT virtual ~Storage_BaseDriver() {Delete();}
   
-  Standard_EXPORT virtual Storage_Error Open (const TCollection_AsciiString& aName, const Storage_OpenMode aMode) = 0;
+  Standard_EXPORT virtual Storage_Error Open (const Handle(Storage_IODevice)& aDevice, const Storage_OpenMode aMode) = 0;
   
-    TCollection_AsciiString Name() const;
+  Standard_EXPORT Handle(Storage_IODevice) Device() const;
   
-    Storage_OpenMode OpenMode() const;
+  Storage_OpenMode OpenMode() const;
   
   //! returns True if we are at end of the stream
   Standard_EXPORT virtual Standard_Boolean IsEnd() = 0;
@@ -256,9 +258,9 @@ protected:
   
   Standard_EXPORT Storage_BaseDriver();
   
-    void SetName (const TCollection_AsciiString& aName);
+  void SetDevice( const Handle(Storage_IODevice)& theDevice );
   
-    void SetOpenMode (const Storage_OpenMode aMode);
+  void SetOpenMode (const Storage_OpenMode aMode);
 
 
 
@@ -266,10 +268,7 @@ protected:
 private:
 
 
-
-  Storage_OpenMode myOpenMode;
-  TCollection_AsciiString myName;
-
+  Handle(Storage_IODevice) myDevice;
 
 };
 
index 5e8cdcb31ec33f9a1296a163966cc7310406b0cf..cf9da11ce0628b9c82889e29f3975ab06f8ae6f4 100644 (file)
@@ -3,10 +3,8 @@
 // Author:    
 // Copyright: Open CASCADE 2015
 
-#include <Storage_File.ixx>
-
+#include <Storage_File.hxx>
 #include <TDocStd_PathParser.hxx>
-
 #include <TCollection_AsciiString.hxx>
 
 //=======================================================================
diff --git a/src/Storage/Storage_File.hxx b/src/Storage/Storage_File.hxx
new file mode 100644 (file)
index 0000000..64e055b
--- /dev/null
@@ -0,0 +1,91 @@
+// Created on: 2015-05-18
+// Created by: Sergey TELKOV
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _Storage_File_HeaderFile
+#define _Storage_File_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+#include <Standard_FStream.hxx>
+#include <Storage_OpenMode.hxx>
+#include <Storage_Error.hxx>
+#include <Storage_Position.hxx>
+#include <Storage_SeekMode.hxx>
+#include <Storage_IODevice.hxx>
+
+#include <TCollection_ExtendedString.hxx>
+#include <TCollection_AsciiString.hxx>
+
+
+class Storage_File;
+DEFINE_STANDARD_HANDLE(Storage_File, Storage_IODevice)
+
+
+//! Store/Retrieve a data to/from a file
+class Storage_File : public Storage_IODevice 
+{
+public:
+
+  Standard_EXPORT Storage_File(const TCollection_ExtendedString& theFilePath);
+
+  Standard_EXPORT void Delete();
+
+  Standard_EXPORT virtual ~Storage_File() {Delete();}
+
+  Standard_EXPORT TCollection_ExtendedString Path() const;
+
+  Standard_EXPORT virtual TCollection_ExtendedString Name() const;
+  
+  Standard_EXPORT virtual Storage_Error Open (const Storage_OpenMode aMode);
+  
+    //! returns True if we are at end of the device data.
+  Standard_EXPORT virtual Standard_Boolean IsEnd () const;
+    
+  //! returns position in the device. Return -1 upon error.
+  Standard_EXPORT virtual Storage_Position Tell ();
+  
+  //! Set new absolute position within the stream
+  Standard_EXPORT virtual Standard_Boolean Seek(const Storage_Position& aPos, 
+                                                const Storage_SeekMode aMode = Storage_SMBegin );
+    
+  Standard_EXPORT virtual Standard_Boolean Close ();
+
+  Standard_EXPORT virtual Standard_Boolean CanRead() const;
+
+  Standard_EXPORT virtual Standard_Boolean CanWrite()  const;
+
+  Standard_EXPORT virtual Standard_Size Read(const Standard_Address aBuffer,
+                                             const Standard_Size aSize);
+    
+  Standard_EXPORT virtual Standard_Size Write(const Standard_Address aBuffer,
+                                              const Standard_Size aSize);
+
+  Standard_EXPORT virtual TCollection_AsciiString Signature() const;
+
+  Standard_EXPORT Standard_OStream& Print( Standard_OStream& anOStream ) const;
+
+  
+private:
+
+    Standard_FStream myStream;
+    TCollection_ExtendedString myFilePath;
+  
+};
+
+
+
+
+#endif // _Storage_File_HeaderFile
index 6f48f5275a53c803496473b73047318b2372175c..386d52b9f5b7d03d3c210dbb19ba7b723fbd552a 100644 (file)
@@ -3,7 +3,7 @@
 // Author:    stv@NETEX
 // Copyright: Open CASCADE 2015
 
-#include <Storage_IODevice.ixx>
+#include <Storage_IODevice.hxx>
 
 //=======================================================================
 //function : Storage_IODevice
diff --git a/src/Storage/Storage_IODevice.hxx b/src/Storage/Storage_IODevice.hxx
new file mode 100644 (file)
index 0000000..6795700
--- /dev/null
@@ -0,0 +1,108 @@
+// Created on: 2015-05-18
+// Created by: Sergey TELKOV
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _Storage_IODevice_HeaderFile
+#define _Storage_IODevice_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+#include <Storage_OpenMode.hxx>
+#include <Storage_Error.hxx>
+#include <Storage_Position.hxx>
+#include <Storage_SeekMode.hxx>
+
+#include <MMgt_TShared.hxx>
+#include <TCollection_ExtendedString.hxx>
+#include <TCollection_AsciiString.hxx>
+
+
+class Storage_IODevice;
+DEFINE_STANDARD_HANDLE(Storage_IODevice, MMgt_TShared)
+
+
+//! Root any input output devices. A device define a way
+//! to store or retrieve a data, for instance a file.
+class Storage_IODevice : public MMgt_TShared 
+{
+public:
+
+  Standard_EXPORT Storage_IODevice();
+
+  Standard_EXPORT void Delete();
+
+  Standard_EXPORT virtual ~Storage_IODevice() {Delete();}
+
+  Standard_EXPORT virtual TCollection_ExtendedString Name() const = 0;
+  
+  Standard_EXPORT virtual Storage_Error Open (const Storage_OpenMode aMode) = 0;
+  
+  Standard_EXPORT void SetOpenMode( const Storage_OpenMode aMode );
+
+  //! returns True if we are at end of the device data.
+  Standard_EXPORT virtual Standard_Boolean IsEnd () const = 0;
+    
+  //! returns position in the device. Return -1 upon error.
+  Standard_EXPORT virtual Storage_Position Tell () = 0;
+  
+  //! Set new absolute position within the stream
+  Standard_EXPORT virtual Standard_Boolean Seek(const Storage_Position& aPos, 
+                                                const Storage_SeekMode aMode = Storage_SMBegin ) = 0;
+    
+  Standard_EXPORT virtual Standard_Boolean Close () = 0;
+
+  Standard_EXPORT virtual Standard_Boolean CanRead() const = 0;
+
+  Standard_EXPORT virtual Standard_Boolean CanWrite()  const = 0;
+
+  Standard_EXPORT virtual Standard_Size Read(const Standard_Address aBuffer,
+                                             const Standard_Size aSize) = 0;
+    
+  Standard_EXPORT virtual Standard_Size Write(const Standard_Address aBuffer,
+                                              const Standard_Size aSize) = 0;
+
+  Standard_EXPORT virtual TCollection_AsciiString Signature() const = 0;
+
+  Standard_EXPORT virtual Standard_OStream& Print( Standard_OStream& anOStream ) const;
+
+  Standard_EXPORT void ReadLine( Standard_CString& aBuffer, const Standard_Integer aSize, const Standard_Character anEndSymbol );
+  
+  Standard_EXPORT TCollection_AsciiString ReadLine( const Standard_Character anEndSymbol );
+
+  Standard_EXPORT void WriteLine( const Standard_CString aLine );
+
+  Standard_EXPORT void WriteLine( const TCollection_AsciiString& aLine );
+
+  Standard_EXPORT void WriteLine( const Standard_CString aLine, const Standard_Character anEndSymbol );
+  
+  Standard_EXPORT void WriteLine( const TCollection_AsciiString& aLine, const Standard_Character anEndSymbol );
+
+  Standard_EXPORT Storage_OpenMode Storage_IODevice::OpenMode() const;
+
+
+private:
+
+  Storage_OpenMode myOpenMode;
+  
+};
+
+inline Standard_EXPORT Standard_OStream& operator<< (Standard_OStream& anOStream, const Handle(Storage_IODevice)& theDevice) { return theDevice->Print(anOStream);}
+
+
+#include <Storage_IODevice.lxx>
+
+
+
+#endif // _Storage_IODevice_HeaderFile
index cfc7dbc1790a8a99e82f8228af911f9a0919cc87..0bf1f24f50035fd85d216ac413a8967c08d84f86 100644 (file)
@@ -3,10 +3,8 @@
 // Author:    
 // Copyright: Open CASCADE 2015
 
-#include <Storage_IStream.ixx>
-
+#include <Storage_IStream.hxx>
 #include <Standard_SStream.hxx>
-
 #include <TCollection_AsciiString.hxx>
 #include <TCollection_ExtendedString.hxx>
 
@@ -235,4 +233,4 @@ void Storage_IStream::fillBuffer()
   free( aBuf );
 
   myBuffer.seekg( aCur );
-}
+}
\ No newline at end of file
diff --git a/src/Storage/Storage_IStream.hxx b/src/Storage/Storage_IStream.hxx
new file mode 100644 (file)
index 0000000..607a318
--- /dev/null
@@ -0,0 +1,97 @@
+// Created on: 2015-05-18
+// Created by: Sergey TELKOV
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _Storage_IStream_HeaderFile
+#define _Storage_IStream_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+#include <Standard_IStream.hxx>
+#include <Standard_IStreamPtr.hxx>
+#include <Standard_SStream.hxx>
+#include <Storage_OpenMode.hxx>
+#include <Storage_Error.hxx>
+#include <Storage_Position.hxx>
+#include <Storage_SeekMode.hxx>
+#include <Storage_IODevice.hxx>
+
+#include <TCollection_ExtendedString.hxx>
+#include <TCollection_AsciiString.hxx>
+
+
+class Storage_IStream;
+DEFINE_STANDARD_HANDLE(Storage_IStream, Storage_IODevice)
+
+
+//! Store/Retrieve a data to/from a file
+class Storage_IStream : public Storage_IODevice 
+{
+public:
+
+  Standard_EXPORT Storage_IStream(Standard_IStream& theStream);
+
+  Standard_EXPORT void Delete();
+
+  Standard_EXPORT virtual ~Storage_IStream() {Delete();}
+
+  Standard_EXPORT virtual TCollection_ExtendedString Name() const;
+  
+  Standard_EXPORT virtual Storage_Error Open (const Storage_OpenMode aMode);
+  
+  //! returns True if we are at end of the device data.
+  Standard_EXPORT virtual Standard_Boolean IsEnd () const;
+    
+  //! returns position in the device. Return -1 upon error.
+  Standard_EXPORT virtual Storage_Position Tell ();
+  
+  //! Set new absolute position within the stream
+  Standard_EXPORT virtual Standard_Boolean Seek(const Storage_Position& aPos, 
+                                                const Storage_SeekMode aMode = Storage_SMBegin );
+    
+  Standard_EXPORT virtual Standard_Boolean Close ();
+
+  Standard_EXPORT virtual Standard_Boolean CanRead() const;
+
+  Standard_EXPORT virtual Standard_Boolean CanWrite()  const;
+
+  Standard_EXPORT virtual Standard_Size Read(const Standard_Address aBuffer,
+                                             const Standard_Size aSize);
+    
+  Standard_EXPORT virtual Standard_Size Write(const Standard_Address aBuffer,
+                                              const Standard_Size aSize);
+
+  Standard_EXPORT virtual TCollection_AsciiString Signature() const;
+
+  Standard_EXPORT Standard_OStream& Print( Standard_OStream& anOStream ) const;
+
+  
+private:
+
+  void fillBuffer();
+
+  Standard_IStreamPtr myStream;
+  Standard_SStream myBuffer;
+  
+};
+
+
+
+
+#endif // _Storage_IStream_HeaderFile
index 9da1bc87e1f0fbbb2f64ad1a0e68f7a27664b7b9..e10ddce61b210c6c5605485e1dd38c7fd60cb0be 100644 (file)
@@ -3,8 +3,7 @@
 // Author:    
 // Copyright: Open CASCADE 2015
 
-#include <Storage_OStream.ixx>
-
+#include <Storage_OStream.hxx>
 #include <Standard_SStream.hxx>
 
 #include <TCollection_AsciiString.hxx>
diff --git a/src/Storage/Storage_OStream.hxx b/src/Storage/Storage_OStream.hxx
new file mode 100644 (file)
index 0000000..235002d
--- /dev/null
@@ -0,0 +1,90 @@
+// Created on: 2015-05-18
+// Created by: Sergey TELKOV
+// Copyright (c) 2015 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _Storage_OStream_HeaderFile
+#define _Storage_OStream_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_DefineAlloc.hxx>
+#include <Standard_Handle.hxx>
+#include <Storage_IODevice.hxx>
+#include <Storage_OpenMode.hxx>
+#include <Storage_Error.hxx>
+#include <Storage_Position.hxx>
+#include <Storage_SeekMode.hxx>
+#include <Standard_OStreamPtr.hxx>
+
+#include <TCollection_ExtendedString.hxx>
+#include <TCollection_AsciiString.hxx>
+
+
+class Storage_OStream;
+DEFINE_STANDARD_HANDLE(Storage_OStream, Storage_IODevice)
+
+
+//! Root any input output devices. A device define a way
+//! to store or retrieve a data, for instance a file.
+class Storage_OStream : public Storage_IODevice 
+{
+public:
+
+  Standard_EXPORT Storage_OStream( Standard_OStream& theStream );
+
+  Standard_EXPORT void Delete();
+
+  Standard_EXPORT virtual ~Storage_OStream() {Delete();}
+
+  Standard_EXPORT virtual TCollection_ExtendedString Name() const;
+  
+  Standard_EXPORT virtual Storage_Error Open (const Storage_OpenMode aMode);
+  
+  //! returns True if we are at end of the device data.
+  Standard_EXPORT virtual Standard_Boolean IsEnd () const;
+    
+  //! returns position in the device. Return -1 upon error.
+  Standard_EXPORT virtual Storage_Position Tell ();
+  
+  //! Set new absolute position within the stream
+  Standard_EXPORT virtual Standard_Boolean Seek(const Storage_Position& aPos, 
+                                                const Storage_SeekMode aMode = Storage_SMBegin );
+    
+  Standard_EXPORT virtual Standard_Boolean Close ();
+
+  Standard_EXPORT virtual Standard_Boolean CanRead() const;
+
+  Standard_EXPORT virtual Standard_Boolean CanWrite() const;
+
+  Standard_EXPORT virtual Standard_Size Read(const Standard_Address aBuffer,
+                                             const Standard_Size aSize);
+    
+  Standard_EXPORT virtual Standard_Size Write(const Standard_Address aBuffer,
+                                              const Standard_Size aSize);
+
+  Standard_EXPORT virtual TCollection_AsciiString Signature() const;
+
+  Standard_EXPORT virtual Standard_OStream& Print( Standard_OStream& anOStream ) const;
+
+
+private:
+
+  Standard_SStream   myBuffer;
+  Standard_OStreamPtr myStream;
+  
+};
+
+
+
+
+#endif // _Storage_OStream_HeaderFile
index da32b7ebe5c382d60132895c5684ae3aee235073..b453045e580260dda51fff3884cb8fd04a18dd5d 100644 (file)
@@ -29,6 +29,7 @@ enum Storage_OpenMode
 Storage_VSNone,
 Storage_VSRead,
 Storage_VSWrite,
+Storage_VSAppend,
 Storage_VSReadWrite
 };
 
diff --git a/src/Storage/Storage_SeekMode.hxx b/src/Storage/Storage_SeekMode.hxx
new file mode 100644 (file)
index 0000000..a73b908
--- /dev/null
@@ -0,0 +1,28 @@
+// Created on: 1996-04-30
+// Created by: cle
+// Copyright (c) 1996-1999 Matra Datavision
+// Copyright (c) 1999-2014 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _Storage_SeekMode_HeaderFile
+#define _Storage_SeekMode_HeaderFile
+
+
+enum Storage_SeekMode
+{
+  Storage_SMBegin,
+  Storage_SMCur,
+  Storage_SMEnd
+};
+
+#endif // _Storage_SeekMode_HeaderFile
index 17919668785826a561a879adb56c7124489f2d29..1c2ca6c769f9d45bec71d4c8fb64dee19aa51807 100644 (file)
@@ -23,5 +23,7 @@ TDataXtd_Point.cxx
 TDataXtd_Point.hxx
 TDataXtd_Position.cxx
 TDataXtd_Position.hxx
+TDataXtd_Presentation.hxx
+TDataXtd_Presentation.cxx
 TDataXtd_Shape.cxx
 TDataXtd_Shape.hxx
index 7253935e8b727e6c85fbdc6701d287f44b813234..4725a31fc2be3f1b6b088bfcf412c2b38cea456c 100644 (file)
@@ -14,7 +14,7 @@
 // Alternatively, this file may be used under the terms of Open CASCADE
 // commercial license or contractual agreement.
 
-#include <TDataXtd_Presentation.ixx>
+#include <TDataXtd_Presentation.hxx>
 
 #include <TDF_DefaultDeltaOnRemoval.hxx>
 #include <TDF_DefaultDeltaOnModification.hxx>
diff --git a/src/TDataXtd/TDataXtd_Presentation.hxx b/src/TDataXtd/TDataXtd_Presentation.hxx
new file mode 100644 (file)
index 0000000..42880dc
--- /dev/null
@@ -0,0 +1,177 @@
+// Created on: 2009-04-06
+// Created by: Sergey ZARITCHNY
+// Copyright (c) 2009-2014 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _TDataXtd_Presentation_HeaderFile
+#define _TDataXtd_Presentation_HeaderFile
+
+#include <Standard.hxx>
+#include <Standard_Type.hxx>
+#include <Standard_GUID.hxx>
+
+#include <gp_Pnt.hxx>
+#include <TDF_Attribute.hxx>
+#include <Standard_Boolean.hxx>
+class TDF_Label;
+class gp_Pnt;
+class Standard_GUID;
+class TDF_Attribute;
+class TDF_RelocationTable;
+
+
+class TDataXtd_Presentation;
+DEFINE_STANDARD_HANDLE(TDataXtd_Presentation, TDF_Attribute)
+
+//! Presentation of a Label
+class TDataXtd_Presentation : public TDF_Attribute
+{
+
+public:
+
+  
+  //! Create if not found the TDataXtd_Presentation attribute set its position to <aPos>
+  Standard_EXPORT static Handle(TDataXtd_Presentation) Set(const TDF_Label& theLabel, const Standard_GUID& theDriverId);
+  
+  //! Find an existing, or create an empty, Presentation
+  //! the Position attribute is returned.
+  Standard_EXPORT static Handle(TDataXtd_Presentation) Set (const Handle(TDF_Attribute)& theMaster);
+
+
+  Standard_EXPORT void Unset(const TDF_Label& theLabel);
+  
+  //! Search label <aLabel) for the TDataXtd_Presentation attribute and get its position
+  //! if found returns True
+  Standard_EXPORT static Standard_Boolean Get (const TDF_Label& aLabel, gp_Pnt& aPos);
+  
+  Standard_EXPORT TDataXtd_Presentation();
+  
+  //! Returns the ID of the attribute.
+  Standard_EXPORT const Standard_GUID& ID() const Standard_OVERRIDE;
+
+  Standard_EXPORT Standard_GUID GetDriverGUID() const;
+
+  Standard_EXPORT void SetDriverGUID(const Standard_GUID& theGUID);
+  
+  //! Returns the ID of the attribute.
+  Standard_EXPORT static const Standard_GUID& GetID();
+  
+  //! Restores the contents from <anAttribute> into this
+  //! one. It is used when aborting a transaction.
+  Standard_EXPORT virtual void Restore (const Handle(TDF_Attribute)& anAttribute) Standard_OVERRIDE;
+  
+  //! Returns an new empty attribute from the good end
+  //! type. It is used by the copy algorithm.
+  Standard_EXPORT virtual Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE;
+  
+  //! This method is different from the "Copy" one,
+  //! because it is used when copying an attribute from
+  //! a source structure into a target structure. This
+  //! method pastes the current attribute to the label
+  //! corresponding to the insertor. The pasted
+  //! attribute may be a brand new one or a new version
+  //! of the previous one.
+  Standard_EXPORT virtual void Paste (const Handle(TDF_Attribute)& intoAttribute, const Handle(TDF_RelocationTable)& aRelocTationable) const Standard_OVERRIDE;
+  
+  Standard_EXPORT Standard_Boolean IsDisplayed() const;
+
+  Standard_EXPORT Standard_Boolean IsHasOwnMaterial() const;
+
+  Standard_EXPORT Standard_Boolean IsHasOwnTransparency() const;
+
+  Standard_EXPORT Standard_Boolean IsHasOwnColor() const;
+
+  Standard_EXPORT Standard_Boolean IsHasOwnWidth() const;
+
+  Standard_EXPORT Standard_Boolean IsHasOwnMode() const;
+
+  Standard_EXPORT Standard_Boolean IsHasOwnSelectionMode() const;
+
+  Standard_EXPORT void SetDisplayed(const Standard_Boolean theIsDisplayed);
+
+  Standard_EXPORT void SetMaterial(const Standard_Integer theName);
+
+  Standard_EXPORT void SetTransparency(const Standard_Real theValue);
+
+  Standard_EXPORT void SetColor(const Standard_Integer theColor);
+
+  Standard_EXPORT void SetWidth(const Standard_Real theWidth);
+
+  Standard_EXPORT void SetMode(const Standard_Integer theMode);
+
+  Standard_EXPORT void SetSelectionMode(const Standard_Integer theSelectionMode);
+
+  Standard_EXPORT Standard_Integer Material() const;
+
+  Standard_EXPORT Standard_Real Transparency() const;
+
+  Standard_EXPORT Standard_Integer Color() const;
+
+  Standard_EXPORT Standard_Real Width() const;
+
+  Standard_EXPORT Standard_Integer Mode() const;
+
+  Standard_EXPORT Standard_Integer SelectionMode() const;
+
+  Standard_EXPORT void UnsetMaterial();
+
+  Standard_EXPORT void UnsetTransparency();
+
+  Standard_EXPORT void UnsetColor();
+
+  Standard_EXPORT void UnsetWidth();
+
+  Standard_EXPORT void UnsetMode();
+
+  Standard_EXPORT void UnsetSelectionMode();
+
+  Standard_EXPORT Handle(TDF_Attribute) BackupCopy() const;
+
+
+
+
+  DEFINE_STANDARD_RTTI(TDataXtd_Presentation,TDF_Attribute)
+
+protected:
+
+
+
+
+private:
+
+
+    Standard_GUID  myDriverGUID;
+    Standard_Integer myColor;
+    Standard_Integer myMaterial;
+    Standard_Integer myMode;
+    Standard_Integer mySelectionMode;
+    Standard_Real myTransparency;
+    Standard_Real myWidth;
+    Standard_Boolean myIsDisplayed;
+    Standard_Boolean myIsHasOwnColor;
+    Standard_Boolean myIsHasOwnMaterial;
+    Standard_Boolean myIsHasOwnTransparency;
+    Standard_Boolean myIsHasOwnWidth;
+    Standard_Boolean myIsHasOwnMode;
+    Standard_Boolean myIsHasOwnSelectionMode;
+
+
+};
+
+
+
+
+
+
+
+#endif // _TDataXtd_Presentation_HeaderFile
index 8bb856ba4d94e6557c1617450077b768780f7e46..b77987e1d2fa5d53bd521a9b48a50585ae77e299 100644 (file)
@@ -176,6 +176,10 @@ public:
   //! is already in memory, this method can be made
   //! to depend on the value returned by IsInSession.
   Standard_EXPORT PCDM_ReaderStatus Open (const TCollection_ExtendedString& path, Handle(TDocStd_Document)& aDoc);
+
+  Standard_EXPORT PCDM_ReaderStatus Open (Handle(Storage_IODevice)& aDevice, Handle(TDocStd_Document)& aDoc);
+
+  Standard_EXPORT PCDM_ReaderStatus Open (Standard_IStream& theIStream, Handle(TDocStd_Document)& aDoc );
   
   //! Save the  active document  in the file  <name> in the
   //! path <path> ; o verwrites  the file  if  it already exists.
@@ -191,6 +195,14 @@ public:
   //! path <path>  .  overwrite  the file  if  it
   //! already exist.
   Standard_EXPORT PCDM_StoreStatus SaveAs (const Handle(TDocStd_Document)& aDoc, const TCollection_ExtendedString& path, TCollection_ExtendedString& theStatusMessage);
+
+  Standard_EXPORT PCDM_StoreStatus SaveAs(const Handle(TDocStd_Document)& theDoc, Standard_OStream& theOStream);
+
+  Standard_EXPORT PCDM_StoreStatus SaveAs(const Handle(TDocStd_Document)& theDoc, Standard_OStream& theOStream, TCollection_ExtendedString& theStatusMessage);
+  
+  Standard_EXPORT PCDM_StoreStatus SaveAs(const Handle(TDocStd_Document)& D, const Handle(Storage_IODevice)& aDevice);
+
+  Standard_EXPORT PCDM_StoreStatus SaveAs(const Handle(TDocStd_Document)& D, const Handle(Storage_IODevice)& aDev, TCollection_ExtendedString& theStatusMessage);
   
   //! Save the document overwriting the previous file
   Standard_EXPORT PCDM_StoreStatus Save (const Handle(TDocStd_Document)& aDoc, TCollection_ExtendedString& theStatusMessage);
index 67daea8ff206c302f85058ba5e302697dd664aae..7afc799123516b7d86f4564a5e0c66044c00d368 100755 (executable)
@@ -9,3 +9,5 @@ TKG3d
 TKMesh
 TKHLR
 TKGeomAlgo
+TKV3d
+
index 501cf383d4bc6c0e89686374836603d41cf510e1..a2150f43944293774f299da146e7bdf1f6272691 100755 (executable)
@@ -7,4 +7,9 @@ TKCDF
 TKLCAF
 TKG3d
 TKCAF
+TKService
+TKV3d
+TKVCAF
+
+
 
index 6402e15db63795148fecf26ecfd0103941b80d68..564f6c17570e0a34d728867c5897ab1bfa99aee0 100644 (file)
@@ -689,7 +689,6 @@ void TPrsStd_AISPresentation::SetSelectionMode(const Standard_Integer theSelecti
   // OCC2932 correction
   if(hasOwnSelectionMode && mySelectionMode == theSelectionMode && !myAIS.IsNull())
       return;
-  }
 
   Backup();
   mySelectionMode = theSelectionMode;
@@ -970,20 +969,18 @@ void TPrsStd_AISPresentation::AISUpdate()
         myAIS->SetDisplayMode(aMode);
     }
 
-    if ( HasOwnSelectionMode() )
+    /*if ( HasOwnSelectionMode() )
     {
       const Standard_Integer aMode = SelectionMode();
       if (myAIS->SelectionMode() != aMode )
         myAIS->SetSelectionMode(aMode);
-    }
-  }
+    }*/
 
   if ( !aContext.IsNull() && IsDisplayed() )
     aContext->Redisplay(myAIS, Standard_False);
 
     if (hasOwnSelectionMode) {
-      const Handle(AIS_InteractiveContext) aContext =
-        ctx.IsNull() ? myAIS->GetContext() : ctx;
+      //aContext = aContext.IsNull() ? myAIS->GetContext() : aContext;
       if (!aContext.IsNull())
       {
         TColStd_ListOfInteger anActivatedModes;
@@ -1005,7 +1002,7 @@ void TPrsStd_AISPresentation::AISUpdate()
 
   }
   
-  if( isDisplayed && !ctx.IsNull() ) ctx->Redisplay(myAIS, Standard_False);
+  if( isDisplayed && !aContext.IsNull() ) aContext->Redisplay(myAIS, Standard_False);
  
   return;
 }
index bd488e76a56d516113e171ac4ffaeec2b98a6685..e771e02baf1236f8d37cfdd52dcdfac162d2da25 100644 (file)
@@ -25,6 +25,7 @@
 #include <XmlObjMgt_Element.hxx>
 #include <Standard_Boolean.hxx>
 #include <Standard_Integer.hxx>
+#include <Storage_IODevice.hxx>
 class XmlMDF_ADriverTable;
 class TCollection_ExtendedString;
 class PCDM_Document;
@@ -52,7 +53,7 @@ public:
   
   Standard_EXPORT virtual Handle(CDM_Document) CreateDocument() Standard_OVERRIDE;
   
-  Standard_EXPORT virtual void Read (const TCollection_ExtendedString& theFileName, const Handle(CDM_Document)& theNewDocument, const Handle(CDM_Application)& theApplication) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Read (const Handle(Storage_IODevice)& theDevice, const Handle(CDM_Document)& theNewDocument, const Handle(CDM_Application)& theApplication) Standard_OVERRIDE;
   
   Standard_EXPORT virtual Handle(XmlMDF_ADriverTable) AttributeDrivers (const Handle(CDM_MessageDriver)& theMsgDriver);
 
@@ -76,7 +77,7 @@ protected:
 
   Handle(XmlMDF_ADriverTable) myDrivers;
   XmlObjMgt_RRelocationTable myRelocTable;
-  TCollection_ExtendedString myFileName;
+  Handle(Storage_IODevice) myDevice;
 
 
 private:
index 78c71b61d958d3979816eca9c6598f1cbb0509a0..48cf1d621176a7e94455d0c63e7c40acd0fa4c80 100644 (file)
@@ -26,6 +26,7 @@
 #include <Standard_Boolean.hxx>
 #include <XmlObjMgt_Element.hxx>
 #include <Standard_Integer.hxx>
+#include <Storage_IODevice.hxx>
 class XmlMDF_ADriverTable;
 class TCollection_ExtendedString;
 class CDM_Document;
@@ -47,7 +48,7 @@ public:
   
   Standard_EXPORT virtual TCollection_ExtendedString SchemaName() const Standard_OVERRIDE;
   
-  Standard_EXPORT virtual void Write (const Handle(CDM_Document)& theDocument, const TCollection_ExtendedString& theFileName) Standard_OVERRIDE;
+  Standard_EXPORT virtual void Write (const Handle(CDM_Document)& theDocument, const Handle(Storage_IODevice)& theDevice) Standard_OVERRIDE;
   
   Standard_EXPORT virtual Handle(XmlMDF_ADriverTable) AttributeDrivers (const Handle(CDM_MessageDriver)& theMsgDriver);
 
@@ -59,7 +60,7 @@ public:
 protected:
 
   
-  Standard_EXPORT virtual Standard_Boolean WriteToDomDocument (const Handle(CDM_Document)& theDocument, XmlObjMgt_Element& thePDoc, const TCollection_ExtendedString& theFileName);
+  Standard_EXPORT virtual Standard_Boolean WriteToDomDocument (const Handle(CDM_Document)& theDocument, XmlObjMgt_Element& thePDoc, const Handle(Storage_IODevice)& theDevice);
   
   Standard_EXPORT virtual Standard_Integer MakeDocument (const Handle(CDM_Document)& theDocument, XmlObjMgt_Element& thePDoc);
   
index ebca6588f17aede2f9d0e9952ee58bcd891ef445..debe5debb103a0c4a74c411667d4e24b2e30a99b 100644 (file)
@@ -26,8 +26,6 @@
 #include <XmlMDataXtd_PointDriver.hxx>
 #include <XmlMDataXtd_ShapeDriver.hxx>
 #include <XmlMDF_ADriverTable.hxx>
-#include <XmlMDataXtd_PositionDriver.hxx>
-#include <XmlMDataXtd_PresentationDriver.hxx>
 
 static Standard_Integer myDocumentVersion = -1;
 //=======================================================================
@@ -45,8 +43,6 @@ void XmlMDataXtd::AddDrivers (const Handle(XmlMDF_ADriverTable)& aDriverTable,
   aDriverTable->AddDriver(new XmlMDataXtd_ConstraintDriver    (anMsgDrv));
   aDriverTable->AddDriver(new XmlMDataXtd_PlacementDriver     (anMsgDrv));
   aDriverTable->AddDriver(new XmlMDataXtd_PatternStdDriver    (anMsgDrv));
-  aDriverTable->AddDriver(new XmlMDataXtd_PositionDriver      (anMsgDrv)); 
-  aDriverTable->AddDriver(new XmlMDataXtd_PresentationDriver  (anMsgDrv));
 }
 
 //=======================================================================