Salome HOME
PR: merge from branch BR_UnitTests tag mergeto_trunk_17oct05
[modules/kernel.git] / src / SALOMEDSImpl / SALOMEDSImpl_AttributeName.hxx
1 //  File   : SALOMEDSImpl_AttributeIOR.hxx
2 //  Author : Sergey RUIN
3 //  Module : SALOME
4
5 #ifndef _SALOMEDSImpl_AttributeName_HeaderFile
6 #define _SALOMEDSImpl_AttributeName_HeaderFile
7
8 #include <Standard_DefineHandle.hxx>
9 #include <TDF_Attribute.hxx>
10 #include <TCollection_AsciiString.hxx>
11 #include <TCollection_ExtendedString.hxx>
12 #include <TDF_Label.hxx> 
13 #include "SALOMEDSImpl_GenericAttribute.hxx"
14
15 class Standard_GUID;
16 class Handle(TDF_Attribute);
17 class Handle(TDF_RelocationTable);
18
19
20 DEFINE_STANDARD_HANDLE( SALOMEDSImpl_AttributeName, SALOMEDSImpl_GenericAttribute )
21
22
23 class SALOMEDSImpl_AttributeName : public SALOMEDSImpl_GenericAttribute 
24 {
25
26 private:
27
28  TCollection_ExtendedString myString;
29
30 public:
31 Standard_EXPORT static const Standard_GUID& GetID() ;
32
33 Standard_EXPORT  SALOMEDSImpl_AttributeName():SALOMEDSImpl_GenericAttribute("AttributeName") {}
34 Standard_EXPORT  static Handle(SALOMEDSImpl_AttributeName) Set (const TDF_Label& L, const TCollection_ExtendedString& Val);
35 Standard_EXPORT  void SetValue(const TCollection_ExtendedString& theVal);
36 Standard_EXPORT  TCollection_ExtendedString Value() const { return myString; }  
37
38 Standard_EXPORT  virtual TCollection_AsciiString Save() { return myString; }
39 Standard_EXPORT  virtual void Load(const TCollection_AsciiString& theValue) { myString = theValue; } 
40
41 Standard_EXPORT  const Standard_GUID& ID() const;
42 Standard_EXPORT  void Restore(const Handle(TDF_Attribute)& with) ;
43 Standard_EXPORT  Handle_TDF_Attribute NewEmpty() const;
44 Standard_EXPORT  void Paste(const Handle(TDF_Attribute)& into,const Handle(TDF_RelocationTable)& RT) const;
45
46 Standard_EXPORT ~SALOMEDSImpl_AttributeName() {}
47
48 public:
49   DEFINE_STANDARD_RTTI( SALOMEDSImpl_AttributeName )
50 };
51
52 #endif