File indexing completed on 2025-01-18 10:05:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TFunction_DriverTable_HeaderFile
0018 #define _TFunction_DriverTable_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <TFunction_DataMapOfGUIDDriver.hxx>
0024 #include <TFunction_HArray1OfDataMapOfGUIDDriver.hxx>
0025 #include <Standard_Transient.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <Standard_OStream.hxx>
0028 class Standard_GUID;
0029 class TFunction_Driver;
0030
0031
0032 class TFunction_DriverTable;
0033 DEFINE_STANDARD_HANDLE(TFunction_DriverTable, Standard_Transient)
0034
0035
0036
0037
0038 class TFunction_DriverTable : public Standard_Transient
0039 {
0040
0041 public:
0042
0043
0044
0045 Standard_EXPORT static Handle(TFunction_DriverTable) Get();
0046
0047
0048 Standard_EXPORT TFunction_DriverTable();
0049
0050
0051 Standard_EXPORT Standard_Boolean AddDriver (const Standard_GUID& guid, const Handle(TFunction_Driver)& driver, const Standard_Integer thread = 0);
0052
0053
0054 Standard_EXPORT Standard_Boolean HasDriver (const Standard_GUID& guid, const Standard_Integer thread = 0) const;
0055
0056
0057 Standard_EXPORT Standard_Boolean FindDriver (const Standard_GUID& guid, Handle(TFunction_Driver)& driver, const Standard_Integer thread = 0) const;
0058
0059 Standard_EXPORT Standard_OStream& Dump (Standard_OStream& anOS) const;
0060 Standard_OStream& operator << (Standard_OStream& anOS) const
0061 {
0062 return Dump(anOS);
0063 }
0064
0065
0066
0067 Standard_EXPORT Standard_Boolean RemoveDriver (const Standard_GUID& guid, const Standard_Integer thread = 0);
0068
0069
0070 Standard_EXPORT void Clear();
0071
0072
0073
0074
0075 DEFINE_STANDARD_RTTIEXT(TFunction_DriverTable,Standard_Transient)
0076
0077 protected:
0078
0079
0080
0081
0082 private:
0083
0084
0085 TFunction_DataMapOfGUIDDriver myDrivers;
0086 Handle(TFunction_HArray1OfDataMapOfGUIDDriver) myThreadDrivers;
0087
0088
0089 };
0090
0091
0092
0093
0094
0095
0096
0097 #endif