0022815: Missing delete operator for placement new
[occt.git] / src / LDOM / LDOM_BasicAttribute.hxx
1 // File:      LDOM_BasicAttribute.hxx
2 // Created:   26.06.01 16:16:07
3 // Author:    Alexander GRIGORIEV
4 // Copyright: OpenCascade 2001
5
6
7 #ifndef LDOM_BasicAttribute_HeaderFile
8 #define LDOM_BasicAttribute_HeaderFile
9
10 #include <LDOM_BasicNode.hxx>
11 #include <LDOMBasicString.hxx>
12
13 class LDOM_XmlReader;
14 class LDOM_Element;
15 class LDOM_Attr;
16 class LDOM_Node;
17
18 //  Class LDOM_BasicAttribute
19 //
20
21 class LDOM_BasicAttribute : public LDOM_BasicNode
22 {
23  public:
24   // ---------- PUBLIC METHODS ----------
25
26   LDOM_BasicAttribute () : LDOM_BasicNode (LDOM_Node::UNKNOWN) {}
27   //    Empty constructor
28
29   LDOM_BasicAttribute&  operator =      (const LDOM_NullPtr * aNull);
30   //    Nullify
31
32   const char *           GetName        () const { return myName; }
33
34   const LDOMBasicString& GetValue       () const { return myValue; }
35
36   void                   SetValue       (const LDOMBasicString&         aValue,
37                                          const Handle(LDOM_MemManager)& aDoc)
38                                 { myValue = LDOMString (aValue, aDoc); }
39
40  private:
41   friend class LDOM_Node;
42   friend class LDOM_Attr;
43   friend class LDOM_Element;
44   friend class LDOM_BasicElement;
45   friend class LDOM_XmlReader;
46   
47   // ---------- PRIVATE METHODS ----------
48
49   LDOM_BasicAttribute (const LDOMBasicString& aName)
50     : LDOM_BasicNode (LDOM_Node::ATTRIBUTE_NODE), myName (aName.GetString()) {}
51   //    Constructor
52
53   static LDOM_BasicAttribute& Create (const LDOMBasicString&           theName,
54                                       const Handle(LDOM_MemManager)&   theDoc,
55                                       Standard_Integer&           theHashIndex);
56
57   LDOM_BasicAttribute (const LDOM_Attr& anAttr);
58
59  private:
60   // ---------- PRIVATE FIELDS ----------
61
62 //  LDOMBasicString       myName;
63   const char            * myName;
64   LDOMBasicString       myValue;
65 };
66
67 #endif