File indexing completed on 2026-10-02 09:13:49
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef _StdLDrivers_DocumentRetrievalDriver_HeaderFile
0015 #define _StdLDrivers_DocumentRetrievalDriver_HeaderFile
0016
0017 #include <PCDM_RetrievalDriver.hxx>
0018 #include <Storage_Error.hxx>
0019
0020 class StdObjMgt_MapOfInstantiators;
0021 class StdObjMgt_Persistent;
0022
0023
0024 class StdLDrivers_DocumentRetrievalDriver : public PCDM_RetrievalDriver
0025 {
0026 public:
0027
0028 Standard_EXPORT void Read(
0029 const TCollection_ExtendedString& theFileName,
0030 const occ::handle<CDM_Document>& theNewDocument,
0031 const occ::handle<CDM_Application>& theApplication,
0032 const occ::handle<PCDM_ReaderFilter>& theFilter = occ::handle<PCDM_ReaderFilter>(),
0033 const Message_ProgressRange& theRange = Message_ProgressRange()) override;
0034
0035
0036 Standard_EXPORT void Read(
0037 Standard_IStream& theIStream,
0038 const occ::handle<Storage_Data>& theStorageData,
0039 const occ::handle<CDM_Document>& theDoc,
0040 const occ::handle<CDM_Application>& theApplication,
0041 const occ::handle<PCDM_ReaderFilter>& theFilter = occ::handle<PCDM_ReaderFilter>(),
0042 const Message_ProgressRange& theRange = Message_ProgressRange()) override;
0043
0044 DEFINE_STANDARD_RTTIEXT(StdLDrivers_DocumentRetrievalDriver, PCDM_RetrievalDriver)
0045
0046 protected:
0047
0048 Standard_EXPORT virtual void bindTypes(StdObjMgt_MapOfInstantiators& theMap);
0049
0050 private:
0051
0052 occ::handle<StdObjMgt_Persistent> read(const TCollection_ExtendedString& theFileName,
0053 Storage_HeaderData& theHeaderData);
0054
0055
0056 Standard_EXPORT void raiseOnStorageError(Storage_Error theError);
0057 };
0058
0059 #endif