blob: 40d6c62a0e0fa3ce4b5606b0274ad6e0873448bc (
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
|
// 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 _BinMDF_ADriverTable_HeaderFile
#define _BinMDF_ADriverTable_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_BinMDF_ADriverTable_HeaderFile
#include <Handle_BinMDF_ADriverTable.hxx>
#endif
#ifndef _BinMDF_TypeADriverMap_HeaderFile
#include <BinMDF_TypeADriverMap.hxx>
#endif
#ifndef _BinMDF_TypeIdMap_HeaderFile
#include <BinMDF_TypeIdMap.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Handle_BinMDF_ADriver_HeaderFile
#include <Handle_BinMDF_ADriver.hxx>
#endif
#ifndef _Handle_Standard_Type_HeaderFile
#include <Handle_Standard_Type.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class BinMDF_ADriver;
class Standard_Type;
class TColStd_IndexedMapOfTransient;
class TColStd_SequenceOfAsciiString;
//! A driver table is an object building links between <br>
//! object types and object drivers. In the <br>
//! translation process, a driver table is asked to <br>
//! give a translation driver for each current object <br>
//! to be translated. <br>
class BinMDF_ADriverTable : public MMgt_TShared {
public:
//! Constructor <br>
Standard_EXPORT BinMDF_ADriverTable();
//! Adds a translation driver <theDriver>. <br>
Standard_EXPORT void AddDriver(const Handle(BinMDF_ADriver)& theDriver) ;
//! Assigns the IDs to the drivers of the given Types. <br>
//! It uses indices in the map as IDs. <br>
//! Useful in storage procedure. <br>
Standard_EXPORT void AssignIds(const TColStd_IndexedMapOfTransient& theTypes) ;
//! Assigns the IDs to the drivers of the given Type Names; <br>
//! It uses indices in the sequence as IDs. <br>
//! Useful in retrieval procedure. <br>
Standard_EXPORT void AssignIds(const TColStd_SequenceOfAsciiString& theTypeNames) ;
//! Gets a driver <theDriver> according to <theType>. <br>
//! Returns Type ID if the driver was assigned an ID; 0 otherwise. <br>
Standard_Integer GetDriver(const Handle(Standard_Type)& theType,Handle(BinMDF_ADriver)& theDriver) const;
//! Returns a driver according to <theTypeId>. <br>
//! Returns null handle if a driver is not found <br>
Handle_BinMDF_ADriver GetDriver(const Standard_Integer theTypeId) const;
DEFINE_STANDARD_RTTI(BinMDF_ADriverTable)
protected:
private:
//! Assigns the ID to the driver of the Type <br>
void AssignId(const Handle(Standard_Type)& theType,const Standard_Integer theId) ;
BinMDF_TypeADriverMap myMap;
BinMDF_TypeIdMap myMapId;
};
#include <BinMDF_ADriverTable.lxx>
// other Inline functions and methods (like "C++: function call" methods)
#endif
|