File indexing completed on 2026-09-27 09:19:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _XmlLDrivers_DocumentRetrievalDriver_HeaderFile
0017 #define _XmlLDrivers_DocumentRetrievalDriver_HeaderFile
0018
0019 #include <Standard.hxx>
0020 #include <Standard_Type.hxx>
0021
0022 #include <XmlObjMgt_RRelocationTable.hxx>
0023 #include <TCollection_ExtendedString.hxx>
0024 #include <PCDM_RetrievalDriver.hxx>
0025 #include <XmlObjMgt_Element.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <Storage_Data.hxx>
0028 class XmlMDF_ADriverTable;
0029 class CDM_Document;
0030 class CDM_Application;
0031 class Message_Messenger;
0032 class XmlMDF_ADriver;
0033
0034 class XmlLDrivers_DocumentRetrievalDriver : public PCDM_RetrievalDriver
0035 {
0036
0037 public:
0038 Standard_EXPORT XmlLDrivers_DocumentRetrievalDriver();
0039
0040 Standard_EXPORT void Read(
0041 const TCollection_ExtendedString& theFileName,
0042 const occ::handle<CDM_Document>& theNewDocument,
0043 const occ::handle<CDM_Application>& theApplication,
0044 const occ::handle<PCDM_ReaderFilter>& theFilter = occ::handle<PCDM_ReaderFilter>(),
0045 const Message_ProgressRange& theRange = Message_ProgressRange()) override;
0046
0047 Standard_EXPORT void Read(
0048 Standard_IStream& theIStream,
0049 const occ::handle<Storage_Data>& theStorageData,
0050 const occ::handle<CDM_Document>& theDoc,
0051 const occ::handle<CDM_Application>& theApplication,
0052 const occ::handle<PCDM_ReaderFilter>& theFilter = occ::handle<PCDM_ReaderFilter>(),
0053 const Message_ProgressRange& theRange = Message_ProgressRange()) override;
0054
0055 Standard_EXPORT virtual occ::handle<XmlMDF_ADriverTable> AttributeDrivers(
0056 const occ::handle<Message_Messenger>& theMsgDriver);
0057
0058 DEFINE_STANDARD_RTTIEXT(XmlLDrivers_DocumentRetrievalDriver, PCDM_RetrievalDriver)
0059
0060 protected:
0061 Standard_EXPORT virtual void ReadFromDomDocument(
0062 const XmlObjMgt_Element& theDomElement,
0063 const occ::handle<CDM_Document>& theNewDocument,
0064 const occ::handle<CDM_Application>& theApplication,
0065 const Message_ProgressRange& theRange = Message_ProgressRange());
0066
0067 Standard_EXPORT virtual bool MakeDocument(
0068 const XmlObjMgt_Element& thePDoc,
0069 const occ::handle<CDM_Document>& theTDoc,
0070 const Message_ProgressRange& theRange = Message_ProgressRange());
0071
0072 Standard_EXPORT virtual occ::handle<XmlMDF_ADriver> ReadShapeSection(
0073 const XmlObjMgt_Element& thePDoc,
0074 const occ::handle<Message_Messenger>& theMsgDriver,
0075 const Message_ProgressRange& theRange = Message_ProgressRange());
0076
0077 Standard_EXPORT virtual void ShapeSetCleaning(const occ::handle<XmlMDF_ADriver>& theDriver);
0078
0079 occ::handle<XmlMDF_ADriverTable> myDrivers;
0080 XmlObjMgt_RRelocationTable myRelocTable;
0081 TCollection_ExtendedString myFileName;
0082 };
0083
0084 #endif