File indexing completed on 2025-01-18 10:05:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _XmlMDF_HeaderFile
0017 #define _XmlMDF_HeaderFile
0018
0019 #include <Standard.hxx>
0020 #include <Standard_DefineAlloc.hxx>
0021 #include <Standard_Handle.hxx>
0022
0023 #include <XmlObjMgt_Element.hxx>
0024 #include <Standard_Integer.hxx>
0025 #include <XmlMDF_MapOfDriver.hxx>
0026
0027 #include <Message_ProgressRange.hxx>
0028
0029 class TDF_Data;
0030 class XmlMDF_ADriverTable;
0031 class TDF_Label;
0032 class Message_Messenger;
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051 class XmlMDF
0052 {
0053 public:
0054
0055 DEFINE_STANDARD_ALLOC
0056
0057
0058
0059 Standard_EXPORT static void FromTo (const Handle(TDF_Data)& aSource,
0060 XmlObjMgt_Element& aTarget,
0061 XmlObjMgt_SRelocationTable& aReloc,
0062 const Handle(XmlMDF_ADriverTable)& aDrivers,
0063 const Message_ProgressRange& theRange = Message_ProgressRange());
0064
0065
0066
0067
0068 Standard_EXPORT static Standard_Boolean FromTo
0069 (const XmlObjMgt_Element& aSource,
0070 Handle(TDF_Data)& aTarget, XmlObjMgt_RRelocationTable& aReloc,
0071 const Handle(XmlMDF_ADriverTable)& aDrivers,
0072 const Message_ProgressRange& theRange = Message_ProgressRange());
0073
0074
0075 Standard_EXPORT static void AddDrivers (const Handle(XmlMDF_ADriverTable)& aDriverTable,
0076 const Handle(Message_Messenger)& theMessageDriver);
0077
0078 private:
0079
0080 Standard_EXPORT static Standard_Integer WriteSubTree
0081 (const TDF_Label& theLabel,
0082 XmlObjMgt_Element& theElement,
0083 XmlObjMgt_SRelocationTable& aReloc,
0084 const Handle(XmlMDF_ADriverTable)& aDrivers,
0085 const Message_ProgressRange& theRange = Message_ProgressRange());
0086
0087 Standard_EXPORT static Standard_Integer ReadSubTree
0088 (const XmlObjMgt_Element& theElement,
0089 const TDF_Label& theLabel,
0090 XmlObjMgt_RRelocationTable& aReloc,
0091 const XmlMDF_MapOfDriver& aDrivers,
0092 const Message_ProgressRange& theRange = Message_ProgressRange());
0093
0094 Standard_EXPORT static void CreateDrvMap (const Handle(XmlMDF_ADriverTable)& aDriverTable,
0095 XmlMDF_MapOfDriver& anAsciiDriverMap);
0096
0097 friend class XmlMDF_ADriver;
0098 friend class XmlMDF_TagSourceDriver;
0099 friend class XmlMDF_ReferenceDriver;
0100 friend class XmlMDF_ADriverTable;
0101
0102 };
0103
0104 #endif