0026961: Recover possibility to read files in old persistence format -- preparation
[occt.git] / src / PCDM / PCDM_RetrievalDriver.hxx
CommitLineData
42cf5bc1 1// Created on: 1997-08-07
2// Created by: Jean-Louis Frenkel
3// Copyright (c) 1997-1999 Matra Datavision
4// Copyright (c) 1999-2014 OPEN CASCADE SAS
5//
6// This file is part of Open CASCADE Technology software library.
7//
8// This library is free software; you can redistribute it and/or modify it under
9// the terms of the GNU Lesser General Public License version 2.1 as published
10// by the Free Software Foundation, with special exception defined in the file
11// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12// distribution for complete text of the license and disclaimer of any warranty.
13//
14// Alternatively, this file may be used under the terms of Open CASCADE
15// commercial license or contractual agreement.
16
17#ifndef _PCDM_RetrievalDriver_HeaderFile
18#define _PCDM_RetrievalDriver_HeaderFile
19
20#include <Standard.hxx>
21#include <Standard_Type.hxx>
22
42cf5bc1 23#include <PCDM_Reader.hxx>
24#include <PCDM_ReferenceIterator.hxx>
42cf5bc1 25#include <PCDM_SequenceOfReference.hxx>
7ed7467d 26
42cf5bc1 27class CDM_MetaData;
42cf5bc1 28class CDM_MessageDriver;
29class TCollection_AsciiString;
7ed7467d 30class TCollection_ExtendedString;
42cf5bc1 31
32class PCDM_RetrievalDriver;
33DEFINE_STANDARD_HANDLE(PCDM_RetrievalDriver, PCDM_Reader)
34
42cf5bc1 35class PCDM_RetrievalDriver : public PCDM_Reader
36{
7ed7467d 37 friend Standard_EXPORT void PCDM_ReferenceIterator::Init (const Handle(CDM_MetaData)& aMetaData);
42cf5bc1 38
39public:
7ed7467d 40 Standard_EXPORT static Standard_Integer DocumentVersion (
41 const TCollection_ExtendedString& theFileName,
42 const Handle(CDM_MessageDriver)& theMsgDriver);
42cf5bc1 43
7ed7467d 44 Standard_EXPORT static Standard_Integer ReferenceCounter (
45 const TCollection_ExtendedString& theFileName,
46 const Handle(CDM_MessageDriver)& theMsgDriver);
4ff92abe 47
48 Standard_EXPORT virtual void Read (Standard_IStream& theIStream,
49 const Handle(Storage_Data)& theStorageData,
50 const Handle(CDM_Document)& theDoc,
51 const Handle(CDM_Application)& theApplication) Standard_OVERRIDE;
42cf5bc1 52
7ed7467d 53 Standard_EXPORT void SetFormat (const TCollection_ExtendedString& aformat);
42cf5bc1 54
7ed7467d 55 Standard_EXPORT TCollection_ExtendedString GetFormat() const;
42cf5bc1 56
92efcf78 57 DEFINE_STANDARD_RTTIEXT(PCDM_RetrievalDriver,PCDM_Reader)
42cf5bc1 58
42cf5bc1 59private:
7ed7467d 60 Standard_EXPORT static void References (
61 const TCollection_ExtendedString& theFileName,
62 PCDM_SequenceOfReference& theReferences,
63 const Handle(CDM_MessageDriver)& theMsgDriver);
42cf5bc1 64
65 TCollection_ExtendedString myFormat;
42cf5bc1 66};
67
42cf5bc1 68#endif // _PCDM_RetrievalDriver_HeaderFile