From: pdn Date: Fri, 21 Aug 2015 05:49:46 +0000 (+0300) Subject: Port to 7.0, removing cdl X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=e4c629e097944a45be23f1d8eb0e9f16ae5104ba;p=occt-copy.git Port to 7.0, removing cdl --- diff --git a/src/BinDrivers/BinDrivers.cxx b/src/BinDrivers/BinDrivers.cxx index 7caed73aed..cb9103752f 100644 --- a/src/BinDrivers/BinDrivers.cxx +++ b/src/BinDrivers/BinDrivers.cxx @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include diff --git a/src/BinDrivers/BinDrivers_DocumentRetrievalDriver.hxx b/src/BinDrivers/BinDrivers_DocumentRetrievalDriver.hxx index c24e7ad3fe..6fc49ce47d 100644 --- a/src/BinDrivers/BinDrivers_DocumentRetrievalDriver.hxx +++ b/src/BinDrivers/BinDrivers_DocumentRetrievalDriver.hxx @@ -24,6 +24,7 @@ #include #include #include +#include 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; diff --git a/src/BinDrivers/BinDrivers_DocumentStorageDriver.cxx b/src/BinDrivers/BinDrivers_DocumentStorageDriver.cxx index 5ad62189f4..0dd2cb7e6a 100644 --- a/src/BinDrivers/BinDrivers_DocumentStorageDriver.cxx +++ b/src/BinDrivers/BinDrivers_DocumentStorageDriver.cxx @@ -13,7 +13,7 @@ // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. -#include +#include #include #include #include diff --git a/src/BinDrivers/BinDrivers_DocumentStorageDriver.hxx b/src/BinDrivers/BinDrivers_DocumentStorageDriver.hxx index 2d6703f71f..093acf4d1a 100644 --- a/src/BinDrivers/BinDrivers_DocumentStorageDriver.hxx +++ b/src/BinDrivers/BinDrivers_DocumentStorageDriver.hxx @@ -21,6 +21,7 @@ #include #include +#include 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; diff --git a/src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.hxx b/src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.hxx index 7c3eea2a86..dc6386a89b 100644 --- a/src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.hxx +++ b/src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.hxx @@ -28,6 +28,7 @@ #include #include #include +#include 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 to - 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); diff --git a/src/BinLDrivers/BinLDrivers_DocumentSection.hxx b/src/BinLDrivers/BinLDrivers_DocumentSection.hxx index bafc9df25a..82d3781b4c 100644 --- a/src/BinLDrivers/BinLDrivers_DocumentSection.hxx +++ b/src/BinLDrivers/BinLDrivers_DocumentSection.hxx @@ -24,6 +24,7 @@ #include #include #include +#include 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); diff --git a/src/BinLDrivers/BinLDrivers_DocumentStorageDriver.hxx b/src/BinLDrivers/BinLDrivers_DocumentStorageDriver.hxx index 29f2c3c1f5..0969f3948e 100644 --- a/src/BinLDrivers/BinLDrivers_DocumentStorageDriver.hxx +++ b/src/BinLDrivers/BinLDrivers_DocumentStorageDriver.hxx @@ -29,6 +29,7 @@ #include #include #include +#include class BinMDF_ADriverTable; class CDM_MessageDriver; class TCollection_ExtendedString; @@ -55,7 +56,7 @@ public: Standard_EXPORT virtual TCollection_ExtendedString SchemaName() const Standard_OVERRIDE; //! Write to the binary file - 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 to the stream - 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); diff --git a/src/BinMDataXtd/BinMDataXtd.cxx b/src/BinMDataXtd/BinMDataXtd.cxx index b14cc54826..96400513a1 100644 --- a/src/BinMDataXtd/BinMDataXtd.cxx +++ b/src/BinMDataXtd/BinMDataXtd.cxx @@ -26,8 +26,8 @@ #include #include #include -#include -#include +//#include +//#include 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) ); } diff --git a/src/BinObjMgt/BinObjMgt_Persistent.hxx b/src/BinObjMgt/BinObjMgt_Persistent.hxx index a43a51de7b..6c34bc6081 100644 --- a/src/BinObjMgt/BinObjMgt_Persistent.hxx +++ b/src/BinObjMgt/BinObjMgt_Persistent.hxx @@ -38,6 +38,7 @@ #include #include #include +#include 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 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 diff --git a/src/CDF/CDF_Application.hxx b/src/CDF/CDF_Application.hxx index 8a35dde67b..76333fd886 100644 --- a/src/CDF/CDF_Application.hxx +++ b/src/CDF/CDF_Application.hxx @@ -29,6 +29,7 @@ #include #include #include +#include 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); diff --git a/src/CDF/CDF_FWOSDriver.hxx b/src/CDF/CDF_FWOSDriver.hxx index d730ab8fb2..93b653a9b1 100644 --- a/src/CDF/CDF_FWOSDriver.hxx +++ b/src/CDF/CDF_FWOSDriver.hxx @@ -22,6 +22,7 @@ #include #include +#include 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); diff --git a/src/CDF/CDF_MetaDataDriver.hxx b/src/CDF/CDF_MetaDataDriver.hxx index 89b3e12b6d..6f319f1f5e 100644 --- a/src/CDF/CDF_MetaDataDriver.hxx +++ b/src/CDF/CDF_MetaDataDriver.hxx @@ -23,6 +23,7 @@ #include #include #include +#include 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); diff --git a/src/CDF/CDF_Store.hxx b/src/CDF/CDF_Store.hxx index dc941b7c13..87eeeaee7b 100644 --- a/src/CDF/CDF_Store.hxx +++ b/src/CDF/CDF_Store.hxx @@ -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; diff --git a/src/CDM/CDM_Document.hxx b/src/CDM/CDM_Document.hxx index 0863f769cc..8497343ca1 100644 --- a/src/CDM/CDM_Document.hxx +++ b/src/CDM/CDM_Document.hxx @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -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; diff --git a/src/CDM/CDM_MetaData.hxx b/src/CDM/CDM_MetaData.hxx index 65bb19adef..641a939108 100644 --- a/src/CDM/CDM_MetaData.hxx +++ b/src/CDM/CDM_MetaData.hxx @@ -29,6 +29,7 @@ #include #include #include +#include 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; diff --git a/src/FSD/FSD_BinaryFile.hxx b/src/FSD/FSD_BinaryFile.hxx index f0477cf077..29be640c0b 100644 --- a/src/FSD/FSD_BinaryFile.hxx +++ b/src/FSD/FSD_BinaryFile.hxx @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -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(); diff --git a/src/FSD/FSD_CmpFile.hxx b/src/FSD/FSD_CmpFile.hxx index 3ab9987b5b..29f8366fff 100644 --- a/src/FSD/FSD_CmpFile.hxx +++ b/src/FSD/FSD_CmpFile.hxx @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -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; - - }; diff --git a/src/FSD/FSD_File.hxx b/src/FSD/FSD_File.hxx index 96c7c58816..7954d64a3c 100644 --- a/src/FSD/FSD_File.hxx +++ b/src/FSD/FSD_File.hxx @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -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; - - }; diff --git a/src/PCDM/FILES b/src/PCDM/FILES index f8b252d6f9..822d44fa35 100755 --- a/src/PCDM/FILES +++ b/src/PCDM/FILES @@ -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 diff --git a/src/PCDM/PCDM.hxx b/src/PCDM/PCDM.hxx index 90f24d0a1e..07915c5b29 100644 --- a/src/PCDM/PCDM.hxx +++ b/src/PCDM/PCDM.hxx @@ -24,6 +24,7 @@ #include #include #include +#include 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 index 0000000000..6448338e50 --- /dev/null +++ b/src/PCDM/PCDM_ReadError.hxx @@ -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 +#include +#include +#include + +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 diff --git a/src/PCDM/PCDM_ReadWriter.hxx b/src/PCDM/PCDM_ReadWriter.hxx index 45277b97bb..7bad76fd83 100644 --- a/src/PCDM/PCDM_ReadWriter.hxx +++ b/src/PCDM/PCDM_ReadWriter.hxx @@ -25,6 +25,7 @@ #include #include #include +#include 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); diff --git a/src/PCDM/PCDM_ReadWriter_1.cxx b/src/PCDM/PCDM_ReadWriter_1.cxx index 5b7663c621..e2e6acf281 100644 --- a/src/PCDM/PCDM_ReadWriter_1.cxx +++ b/src/PCDM/PCDM_ReadWriter_1.cxx @@ -35,6 +35,7 @@ #include #include #include +#include #define START_REF "START_REF" #define END_REF "END_REF" diff --git a/src/PCDM/PCDM_ReadWriter_1.hxx b/src/PCDM/PCDM_ReadWriter_1.hxx index 85c1cac820..30e5708e1b 100644 --- a/src/PCDM/PCDM_ReadWriter_1.hxx +++ b/src/PCDM/PCDM_ReadWriter_1.hxx @@ -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); diff --git a/src/PCDM/PCDM_Reader.hxx b/src/PCDM/PCDM_Reader.hxx index dd288afdb2..55ce2419b4 100644 --- a/src/PCDM/PCDM_Reader.hxx +++ b/src/PCDM/PCDM_Reader.hxx @@ -22,6 +22,7 @@ #include #include +#include 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; diff --git a/src/PCDM/PCDM_Reference.hxx b/src/PCDM/PCDM_Reference.hxx index 8a53bcc9ae..16c4c0b8e7 100644 --- a/src/PCDM/PCDM_Reference.hxx +++ b/src/PCDM/PCDM_Reference.hxx @@ -22,8 +22,7 @@ #include #include -#include -class TCollection_ExtendedString; +#include @@ -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; diff --git a/src/PCDM/PCDM_RetrievalDriver.hxx b/src/PCDM/PCDM_RetrievalDriver.hxx index 509e5d566c..6196e4ea2a 100644 --- a/src/PCDM/PCDM_RetrievalDriver.hxx +++ b/src/PCDM/PCDM_RetrievalDriver.hxx @@ -26,6 +26,7 @@ #include #include #include +#include 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); diff --git a/src/PCDM/PCDM_StorageDriver.hxx b/src/PCDM/PCDM_StorageDriver.hxx index 8df6be92ba..b873d74008 100644 --- a/src/PCDM/PCDM_StorageDriver.hxx +++ b/src/PCDM/PCDM_StorageDriver.hxx @@ -26,6 +26,7 @@ #include #include #include +#include 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 index 0000000000..afcbdd11c8 --- /dev/null +++ b/src/PCDM/PCDM_WriteError.hxx @@ -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 +#include +#include +#include + +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 diff --git a/src/PCDM/PCDM_Writer.hxx b/src/PCDM/PCDM_Writer.hxx index dbd8f4169d..99280b6afe 100644 --- a/src/PCDM/PCDM_Writer.hxx +++ b/src/PCDM/PCDM_Writer.hxx @@ -19,6 +19,7 @@ #include #include +#include #include 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; diff --git a/src/Storage/FILES b/src/Storage/FILES index a93a8adf29..683cad2f00 100755 --- a/src/Storage/FILES +++ b/src/Storage/FILES @@ -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 diff --git a/src/Storage/Storage_BaseDriver.hxx b/src/Storage/Storage_BaseDriver.hxx index 4d6c504708..a9d92a783f 100644 --- a/src/Storage/Storage_BaseDriver.hxx +++ b/src/Storage/Storage_BaseDriver.hxx @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -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; }; diff --git a/src/Storage/Storage_File.cxx b/src/Storage/Storage_File.cxx index 5e8cdcb31e..cf9da11ce0 100644 --- a/src/Storage/Storage_File.cxx +++ b/src/Storage/Storage_File.cxx @@ -3,10 +3,8 @@ // Author: // Copyright: Open CASCADE 2015 -#include - +#include #include - #include //======================================================================= diff --git a/src/Storage/Storage_File.hxx b/src/Storage/Storage_File.hxx new file mode 100644 index 0000000000..64e055bf46 --- /dev/null +++ b/src/Storage/Storage_File.hxx @@ -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 +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + + +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 diff --git a/src/Storage/Storage_IODevice.cxx b/src/Storage/Storage_IODevice.cxx index 6f48f5275a..386d52b9f5 100644 --- a/src/Storage/Storage_IODevice.cxx +++ b/src/Storage/Storage_IODevice.cxx @@ -3,7 +3,7 @@ // Author: stv@NETEX // Copyright: Open CASCADE 2015 -#include +#include //======================================================================= //function : Storage_IODevice diff --git a/src/Storage/Storage_IODevice.hxx b/src/Storage/Storage_IODevice.hxx new file mode 100644 index 0000000000..67957007ff --- /dev/null +++ b/src/Storage/Storage_IODevice.hxx @@ -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 +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +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 + + + +#endif // _Storage_IODevice_HeaderFile diff --git a/src/Storage/Storage_IStream.cxx b/src/Storage/Storage_IStream.cxx index cfc7dbc179..0bf1f24f50 100644 --- a/src/Storage/Storage_IStream.cxx +++ b/src/Storage/Storage_IStream.cxx @@ -3,10 +3,8 @@ // Author: // Copyright: Open CASCADE 2015 -#include - +#include #include - #include #include @@ -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 index 0000000000..607a318450 --- /dev/null +++ b/src/Storage/Storage_IStream.hxx @@ -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 +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + + +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 diff --git a/src/Storage/Storage_OStream.cxx b/src/Storage/Storage_OStream.cxx index 9da1bc87e1..e10ddce61b 100644 --- a/src/Storage/Storage_OStream.cxx +++ b/src/Storage/Storage_OStream.cxx @@ -3,8 +3,7 @@ // Author: // Copyright: Open CASCADE 2015 -#include - +#include #include #include diff --git a/src/Storage/Storage_OStream.hxx b/src/Storage/Storage_OStream.hxx new file mode 100644 index 0000000000..235002d7ac --- /dev/null +++ b/src/Storage/Storage_OStream.hxx @@ -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 +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + + +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 diff --git a/src/Storage/Storage_OpenMode.hxx b/src/Storage/Storage_OpenMode.hxx index da32b7ebe5..b453045e58 100644 --- a/src/Storage/Storage_OpenMode.hxx +++ b/src/Storage/Storage_OpenMode.hxx @@ -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 index 0000000000..a73b908ba8 --- /dev/null +++ b/src/Storage/Storage_SeekMode.hxx @@ -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 diff --git a/src/TDataXtd/FILES b/src/TDataXtd/FILES index 1791966878..1c2ca6c769 100644 --- a/src/TDataXtd/FILES +++ b/src/TDataXtd/FILES @@ -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 diff --git a/src/TDataXtd/TDataXtd_Presentation.cxx b/src/TDataXtd/TDataXtd_Presentation.cxx index 7253935e8b..4725a31fc2 100644 --- a/src/TDataXtd/TDataXtd_Presentation.cxx +++ b/src/TDataXtd/TDataXtd_Presentation.cxx @@ -14,7 +14,7 @@ // Alternatively, this file may be used under the terms of Open CASCADE // commercial license or contractual agreement. -#include +#include #include #include diff --git a/src/TDataXtd/TDataXtd_Presentation.hxx b/src/TDataXtd/TDataXtd_Presentation.hxx new file mode 100644 index 0000000000..42880dc911 --- /dev/null +++ b/src/TDataXtd/TDataXtd_Presentation.hxx @@ -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 +#include +#include + +#include +#include +#include +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 + 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 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 diff --git a/src/TDocStd/TDocStd_Application.hxx b/src/TDocStd/TDocStd_Application.hxx index 8bb856ba4d..b77987e1d2 100644 --- a/src/TDocStd/TDocStd_Application.hxx +++ b/src/TDocStd/TDocStd_Application.hxx @@ -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 in the //! path ; o verwrites the file if it already exists. @@ -191,6 +195,14 @@ public: //! 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); diff --git a/src/TKVRML/EXTERNLIB b/src/TKVRML/EXTERNLIB index 67daea8ff2..7afc799123 100755 --- a/src/TKVRML/EXTERNLIB +++ b/src/TKVRML/EXTERNLIB @@ -9,3 +9,5 @@ TKG3d TKMesh TKHLR TKGeomAlgo +TKV3d + diff --git a/src/TKXCAF/EXTERNLIB b/src/TKXCAF/EXTERNLIB index 501cf383d4..a2150f4394 100755 --- a/src/TKXCAF/EXTERNLIB +++ b/src/TKXCAF/EXTERNLIB @@ -7,4 +7,9 @@ TKCDF TKLCAF TKG3d TKCAF +TKService +TKV3d +TKVCAF + + diff --git a/src/TPrsStd/TPrsStd_AISPresentation.cxx b/src/TPrsStd/TPrsStd_AISPresentation.cxx index 6402e15db6..564f6c1757 100644 --- a/src/TPrsStd/TPrsStd_AISPresentation.cxx +++ b/src/TPrsStd/TPrsStd_AISPresentation.cxx @@ -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; } diff --git a/src/XmlLDrivers/XmlLDrivers_DocumentRetrievalDriver.hxx b/src/XmlLDrivers/XmlLDrivers_DocumentRetrievalDriver.hxx index bd488e76a5..e771e02baf 100644 --- a/src/XmlLDrivers/XmlLDrivers_DocumentRetrievalDriver.hxx +++ b/src/XmlLDrivers/XmlLDrivers_DocumentRetrievalDriver.hxx @@ -25,6 +25,7 @@ #include #include #include +#include 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: diff --git a/src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.hxx b/src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.hxx index 78c71b61d9..48cf1d6211 100644 --- a/src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.hxx +++ b/src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.hxx @@ -26,6 +26,7 @@ #include #include #include +#include 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); diff --git a/src/XmlMDataXtd/XmlMDataXtd.cxx b/src/XmlMDataXtd/XmlMDataXtd.cxx index ebca6588f1..debe5debb1 100644 --- a/src/XmlMDataXtd/XmlMDataXtd.cxx +++ b/src/XmlMDataXtd/XmlMDataXtd.cxx @@ -26,8 +26,6 @@ #include #include #include -#include -#include 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)); } //=======================================================================