File indexing completed on 2026-06-17 08:29:22
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 class XmlMDF
0051 {
0052 public:
0053 DEFINE_STANDARD_ALLOC
0054
0055
0056
0057 Standard_EXPORT static void FromTo(
0058 const Handle(TDF_Data)& aSource,
0059 XmlObjMgt_Element& aTarget,
0060 XmlObjMgt_SRelocationTable& aReloc,
0061 const Handle(XmlMDF_ADriverTable)& aDrivers,
0062 const Message_ProgressRange& theRange = Message_ProgressRange());
0063
0064
0065
0066
0067 Standard_EXPORT static Standard_Boolean FromTo(
0068 const XmlObjMgt_Element& aSource,
0069 Handle(TDF_Data)& aTarget,
0070 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 Standard_EXPORT static Standard_Integer WriteSubTree(
0080 const TDF_Label& theLabel,
0081 XmlObjMgt_Element& theElement,
0082 XmlObjMgt_SRelocationTable& aReloc,
0083 const Handle(XmlMDF_ADriverTable)& aDrivers,
0084 const Message_ProgressRange& theRange = Message_ProgressRange());
0085
0086 Standard_EXPORT static Standard_Integer ReadSubTree(
0087 const XmlObjMgt_Element& theElement,
0088 const TDF_Label& theLabel,
0089 XmlObjMgt_RRelocationTable& aReloc,
0090 const XmlMDF_MapOfDriver& aDrivers,
0091 const Message_ProgressRange& theRange = Message_ProgressRange());
0092
0093 Standard_EXPORT static void CreateDrvMap(const Handle(XmlMDF_ADriverTable)& aDriverTable,
0094 XmlMDF_MapOfDriver& anAsciiDriverMap);
0095
0096 friend class XmlMDF_ADriver;
0097 friend class XmlMDF_TagSourceDriver;
0098 friend class XmlMDF_ReferenceDriver;
0099 friend class XmlMDF_ADriverTable;
0100 };
0101
0102 #endif