summaryrefslogtreecommitdiff
path: root/inc/BinLDrivers_DocumentRetrievalDriver.hxx
blob: 467fe6d3feae954a2ba5630f6c877e57ad801642 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _BinLDrivers_DocumentRetrievalDriver_HeaderFile
#define _BinLDrivers_DocumentRetrievalDriver_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_BinLDrivers_DocumentRetrievalDriver_HeaderFile
#include <Handle_BinLDrivers_DocumentRetrievalDriver.hxx>
#endif

#ifndef _BinObjMgt_Persistent_HeaderFile
#include <BinObjMgt_Persistent.hxx>
#endif
#ifndef _Handle_BinMDF_ADriverTable_HeaderFile
#include <Handle_BinMDF_ADriverTable.hxx>
#endif
#ifndef _BinObjMgt_RRelocationTable_HeaderFile
#include <BinObjMgt_RRelocationTable.hxx>
#endif
#ifndef _Handle_CDM_MessageDriver_HeaderFile
#include <Handle_CDM_MessageDriver.hxx>
#endif
#ifndef _TColStd_MapOfInteger_HeaderFile
#include <TColStd_MapOfInteger.hxx>
#endif
#ifndef _BinLDrivers_VectorOfDocumentSection_HeaderFile
#include <BinLDrivers_VectorOfDocumentSection.hxx>
#endif
#ifndef _PCDM_RetrievalDriver_HeaderFile
#include <PCDM_RetrievalDriver.hxx>
#endif
#ifndef _Handle_PCDM_Document_HeaderFile
#include <Handle_PCDM_Document.hxx>
#endif
#ifndef _Handle_CDM_Document_HeaderFile
#include <Handle_CDM_Document.hxx>
#endif
#ifndef _Handle_CDM_Application_HeaderFile
#include <Handle_CDM_Application.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_IStream_HeaderFile
#include <Standard_IStream.hxx>
#endif
#ifndef _Storage_Position_HeaderFile
#include <Storage_Position.hxx>
#endif
#ifndef _Handle_Storage_HeaderData_HeaderFile
#include <Handle_Storage_HeaderData.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class BinMDF_ADriverTable;
class CDM_MessageDriver;
class TCollection_ExtendedString;
class PCDM_Document;
class CDM_Document;
class CDM_Application;
class TDF_Label;
class TCollection_AsciiString;
class Storage_HeaderData;
class BinLDrivers_DocumentSection;



class BinLDrivers_DocumentRetrievalDriver : public PCDM_RetrievalDriver {

public:

  //! Constructor <br>
  Standard_EXPORT   BinLDrivers_DocumentRetrievalDriver();
  //! pure virtual method definition <br>
  Standard_EXPORT   virtual  TCollection_ExtendedString SchemaName() const;
  //! pure virtual method definition <br>
  Standard_EXPORT   virtual  void Make(const Handle(PCDM_Document)& PD,const Handle(CDM_Document)& TD) ;
  //! pure virtual method definition <br>
  Standard_EXPORT   virtual  Handle_CDM_Document CreateDocument() ;
  //! retrieves the content of the file into a new Document. <br>
  Standard_EXPORT   virtual  void Read(const TCollection_ExtendedString& theFileName,const Handle(CDM_Document)& theNewDocument,const Handle(CDM_Application)& theApplication) ;
  
  Standard_EXPORT   virtual  Handle_BinMDF_ADriverTable AttributeDrivers(const Handle(CDM_MessageDriver)& theMsgDriver) ;




  DEFINE_STANDARD_RTTI(BinLDrivers_DocumentRetrievalDriver)

protected:

  //! Read the tree from the stream <theIS> to <theLabel> <br>
  Standard_EXPORT   virtual  Standard_Integer ReadSubTree(Standard_IStream& theIS,const TDF_Label& theData) ;
  //! Read the  info  section  of  theFile into theData, <br>
//!          return a file  position  corresponding to the info <br>
//!          section end <br>
  Standard_EXPORT     Storage_Position ReadInfoSection(const TCollection_AsciiString& theFile,Handle(Storage_HeaderData)& theData) ;
  //! define the procedure of reading a section to file. <br>
  Standard_EXPORT   virtual  void ReadSection(BinLDrivers_DocumentSection& theSection,const Handle(CDM_Document)& theDoc,Standard_IStream& theIS) ;
  
  Standard_EXPORT   virtual  void ReadShapeSection(BinLDrivers_DocumentSection& theSection,Standard_IStream& theIS,const Standard_Boolean isMess = Standard_False) ;
  
  Standard_EXPORT   virtual  void CheckShapeSection(const Storage_Position& thePos,Standard_IStream& theIS) ;
  
  Standard_EXPORT   virtual  void PropagateDocumentVersion(const Standard_Integer theVersion) ;
  //! write  theMessage  to  the  MessageDriver  of  the <br>
//!          Application <br>
  Standard_EXPORT     void WriteMessage(const TCollection_ExtendedString& theMessage) ;

Handle_BinMDF_ADriverTable myDrivers;
BinObjMgt_RRelocationTable myRelocTable;


private: 


BinObjMgt_Persistent myPAtt;
Handle_CDM_MessageDriver myMsgDriver;
TColStd_MapOfInteger myMapUnsupported;
BinLDrivers_VectorOfDocumentSection mySections;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif