1 // Copyright (c) 1999-2014 OPEN CASCADE SAS 2 // 3 // This file is part of Open CASCADE Technology software library. 4 // 5 // This library is free software; you can redistribute it and/or modify it under 6 // the terms of the GNU Lesser General Public License version 2.1 as published 7 // by the Free Software Foundation, with special exception defined in the file 8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 9 // distribution for complete text of the license and disclaimer of any warranty. 10 // 11 // Alternatively, this file may be used under the terms of Open CASCADE 12 // commercial license or contractual agreement. 13 14 #ifndef _XmlMDataStd_HeaderFile 15 #define _XmlMDataStd_HeaderFile 16 17 #include <Standard.hxx> 18 #include <Standard_DefineAlloc.hxx> 19 #include <Standard_Handle.hxx> 20 21 #include <Standard_Integer.hxx> 22 class XmlMDF_ADriverTable; 23 class Message_Messenger; 24 class XmlMDataStd_NameDriver; 25 class XmlMDataStd_IntegerDriver; 26 class XmlMDataStd_RealDriver; 27 class XmlMDataStd_IntegerArrayDriver; 28 class XmlMDataStd_RealArrayDriver; 29 class XmlMDataStd_ExtStringArrayDriver; 30 class XmlMDataStd_UAttributeDriver; 31 class XmlMDataStd_DirectoryDriver; 32 class XmlMDataStd_CommentDriver; 33 class XmlMDataStd_VariableDriver; 34 class XmlMDataStd_ExpressionDriver; 35 class XmlMDataStd_RelationDriver; 36 class XmlMDataStd_NoteBookDriver; 37 class XmlMDataStd_TreeNodeDriver; 38 class XmlMDataStd_TickDriver; 39 class XmlMDataStd_IntegerListDriver; 40 class XmlMDataStd_RealListDriver; 41 class XmlMDataStd_ExtStringListDriver; 42 class XmlMDataStd_BooleanListDriver; 43 class XmlMDataStd_ReferenceListDriver; 44 class XmlMDataStd_BooleanArrayDriver; 45 class XmlMDataStd_ReferenceArrayDriver; 46 class XmlMDataStd_ByteArrayDriver; 47 class XmlMDataStd_NamedDataDriver; 48 class XmlMDataStd_AsciiStringDriver; 49 class XmlMDataStd_IntPackedMapDriver; 50 51 52 //! Storage and Retrieval drivers for modelling attributes. 53 //! Transient attributes are defined in package TDataStd. 54 class XmlMDataStd 55 { 56 public: 57 58 DEFINE_STANDARD_ALLOC 59 60 61 //! Adds the attribute drivers to <aDriverTable>. 62 Standard_EXPORT static void AddDrivers (const Handle(XmlMDF_ADriverTable)& aDriverTable, const Handle(Message_Messenger)& anMsgDrv); 63 64 65 protected: 66 67 68 69 70 71 private: 72 73 74 75 76 friend class XmlMDataStd_NameDriver; 77 friend class XmlMDataStd_IntegerDriver; 78 friend class XmlMDataStd_RealDriver; 79 friend class XmlMDataStd_IntegerArrayDriver; 80 friend class XmlMDataStd_RealArrayDriver; 81 friend class XmlMDataStd_ExtStringArrayDriver; 82 friend class XmlMDataStd_UAttributeDriver; 83 friend class XmlMDataStd_DirectoryDriver; 84 friend class XmlMDataStd_CommentDriver; 85 friend class XmlMDataStd_VariableDriver; 86 friend class XmlMDataStd_ExpressionDriver; 87 friend class XmlMDataStd_RelationDriver; 88 friend class XmlMDataStd_NoteBookDriver; 89 friend class XmlMDataStd_TreeNodeDriver; 90 friend class XmlMDataStd_TickDriver; 91 friend class XmlMDataStd_IntegerListDriver; 92 friend class XmlMDataStd_RealListDriver; 93 friend class XmlMDataStd_ExtStringListDriver; 94 friend class XmlMDataStd_BooleanListDriver; 95 friend class XmlMDataStd_ReferenceListDriver; 96 friend class XmlMDataStd_BooleanArrayDriver; 97 friend class XmlMDataStd_ReferenceArrayDriver; 98 friend class XmlMDataStd_ByteArrayDriver; 99 friend class XmlMDataStd_NamedDataDriver; 100 friend class XmlMDataStd_AsciiStringDriver; 101 friend class XmlMDataStd_IntPackedMapDriver; 102 103 }; 104 105 106 107 108 109 110 111 #endif // _XmlMDataStd_HeaderFile 112