Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:19:41

0001 // Created on: 2001-07-25
0002 // Created by: Julia DOROVSKIKH
0003 // Copyright (c) 2001-2014 OPEN CASCADE SAS
0004 //
0005 // This file is part of Open CASCADE Technology software library.
0006 //
0007 // This library is free software; you can redistribute it and/or modify it under
0008 // the terms of the GNU Lesser General Public License version 2.1 as published
0009 // by the Free Software Foundation, with special exception defined in the file
0010 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0011 // distribution for complete text of the license and disclaimer of any warranty.
0012 //
0013 // Alternatively, this file may be used under the terms of Open CASCADE
0014 // commercial license or contractual agreement.
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 // _XmlLDrivers_DocumentRetrievalDriver_HeaderFile