File indexing completed on 2025-01-18 10:05:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _XmlLDrivers_DocumentStorageDriver_HeaderFile
0017 #define _XmlLDrivers_DocumentStorageDriver_HeaderFile
0018
0019 #include <Standard.hxx>
0020 #include <Standard_Type.hxx>
0021
0022 #include <XmlLDrivers_SequenceOfNamespaceDef.hxx>
0023 #include <TCollection_ExtendedString.hxx>
0024 #include <XmlObjMgt_SRelocationTable.hxx>
0025 #include <PCDM_StorageDriver.hxx>
0026 #include <XmlObjMgt_Element.hxx>
0027 #include <Standard_Integer.hxx>
0028 #include <TDocStd_FormatVersion.hxx>
0029
0030 class XmlMDF_ADriverTable;
0031 class CDM_Document;
0032 class TCollection_AsciiString;
0033 class Message_Messenger;
0034
0035
0036 class XmlLDrivers_DocumentStorageDriver;
0037 DEFINE_STANDARD_HANDLE(XmlLDrivers_DocumentStorageDriver, PCDM_StorageDriver)
0038
0039
0040 class XmlLDrivers_DocumentStorageDriver : public PCDM_StorageDriver
0041 {
0042
0043 public:
0044
0045
0046 Standard_EXPORT XmlLDrivers_DocumentStorageDriver(const TCollection_ExtendedString& theCopyright);
0047
0048 Standard_EXPORT virtual void Write (const Handle(CDM_Document)& theDocument,
0049 const TCollection_ExtendedString& theFileName,
0050 const Message_ProgressRange& theRange = Message_ProgressRange()) Standard_OVERRIDE;
0051
0052 Standard_EXPORT virtual void Write (const Handle(CDM_Document)& theDocument,
0053 Standard_OStream& theOStream,
0054 const Message_ProgressRange& theRange = Message_ProgressRange()) Standard_OVERRIDE;
0055
0056 Standard_EXPORT virtual Handle(XmlMDF_ADriverTable) AttributeDrivers (const Handle(Message_Messenger)& theMsgDriver);
0057
0058
0059
0060
0061 DEFINE_STANDARD_RTTIEXT(XmlLDrivers_DocumentStorageDriver,PCDM_StorageDriver)
0062
0063 protected:
0064
0065
0066 Standard_EXPORT virtual Standard_Boolean WriteToDomDocument
0067 (const Handle(CDM_Document)& theDocument,
0068 XmlObjMgt_Element& thePDoc,
0069 const Message_ProgressRange& theRange = Message_ProgressRange());
0070
0071 Standard_EXPORT virtual Standard_Integer MakeDocument
0072 (const Handle(CDM_Document)& theDocument,
0073 XmlObjMgt_Element& thePDoc,
0074 const Message_ProgressRange& theRange = Message_ProgressRange());
0075
0076 Standard_EXPORT void AddNamespace (const TCollection_AsciiString& thePrefix,
0077 const TCollection_AsciiString& theURI);
0078
0079 Standard_EXPORT virtual Standard_Boolean WriteShapeSection
0080 (XmlObjMgt_Element& thePDoc,
0081 const TDocStd_FormatVersion theStorageFormatVersion,
0082 const Message_ProgressRange& theRange = Message_ProgressRange());
0083
0084 Handle(XmlMDF_ADriverTable) myDrivers;
0085 XmlObjMgt_SRelocationTable myRelocTable;
0086
0087 private:
0088
0089
0090 XmlLDrivers_SequenceOfNamespaceDef mySeqOfNS;
0091 TCollection_ExtendedString myCopyright;
0092 TCollection_ExtendedString myFileName;
0093
0094
0095 };
0096
0097
0098
0099
0100
0101
0102
0103 #endif