Salome HOME
NRI : Remove dependence with VISU.
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_PythonObjectAttribute.hxx
1 //  File      : SALOMEDS_PythonObjectAttribute.hxx
2 //  Created   : Tue Oct  8 10:13:30 2002
3 //  Author    : Michael Ponikarov
4 //  Project   : SALOME
5 //  Module    : SALOMEDS
6 //  Copyright : Open CASCADE
7 //  $Header$
8
9 #ifndef _SALOMEDS_PythonObjectAttribute_HeaderFile
10 #define _SALOMEDS_PythonObjectAttribute_HeaderFile
11
12 #ifndef _Standard_HeaderFile
13 #include <Standard.hxx>
14 #endif
15 #ifndef _Handle_SALOMEDS_PythonObjectAttribute_HeaderFile
16 #include <Handle_SALOMEDS_PythonObjectAttribute.hxx>
17 #endif
18
19 #ifndef _Handle_TColStd_HArray1OfCharacter_HeaderFile
20 #include <Handle_TColStd_HArray1OfCharacter.hxx>
21 #endif
22 #ifndef _Standard_Boolean_HeaderFile
23 #include <Standard_Boolean.hxx>
24 #endif
25 #ifndef _TDF_Attribute_HeaderFile
26 #include <TDF_Attribute.hxx>
27 #endif
28 #ifndef _Standard_Integer_HeaderFile
29 #include <Standard_Integer.hxx>
30 #endif
31 #ifndef _Standard_CString_HeaderFile
32 #include <Standard_CString.hxx>
33 #endif
34 #ifndef _Handle_TDF_Attribute_HeaderFile
35 #include <Handle_TDF_Attribute.hxx>
36 #endif
37 #ifndef _Handle_TDF_RelocationTable_HeaderFile
38 #include <Handle_TDF_RelocationTable.hxx>
39 #endif
40 class TColStd_HArray1OfCharacter;
41 class Standard_GUID;
42 class TDF_Label;
43 class TDF_Attribute;
44 class TDF_RelocationTable;
45
46
47 class SALOMEDS_PythonObjectAttribute : public TDF_Attribute {
48
49 public:
50
51     inline void* operator new(size_t,void* anAddress) 
52       {
53         return anAddress;
54       }
55     inline void* operator new(size_t size) 
56       { 
57         return Standard::Allocate(size); 
58       }
59     inline void  operator delete(void *anAddress) 
60       { 
61         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
62       }
63 //    inline void  operator delete(void *anAddress, size_t size) 
64 //      { 
65 //        if (anAddress) Standard::Free((Standard_Address&)anAddress,size); 
66 //      }
67  // Methods PUBLIC
68  // 
69 Standard_EXPORT static const Standard_GUID& GetID() ;
70 Standard_EXPORT static  Handle_SALOMEDS_PythonObjectAttribute Set(const TDF_Label& label) ;
71 Standard_EXPORT SALOMEDS_PythonObjectAttribute();
72 Standard_EXPORT   void SetObject(const Standard_CString theSequence,const Standard_Boolean theScript) ;
73 Standard_EXPORT   Standard_CString GetObject() const;
74 Standard_EXPORT   Standard_Boolean IsScript() const;
75 Standard_EXPORT   Standard_Integer GetLength() const;
76 Standard_EXPORT  const Standard_GUID& ID() const;
77 Standard_EXPORT   void Restore(const Handle(TDF_Attribute)& with) ;
78 Standard_EXPORT   Handle_TDF_Attribute NewEmpty() const;
79 Standard_EXPORT   void Paste(const Handle(TDF_Attribute)& into,const Handle(TDF_RelocationTable)& RT) const;
80 Standard_EXPORT ~SALOMEDS_PythonObjectAttribute();
81
82
83
84
85  // Type management
86  //
87  Standard_EXPORT friend Handle_Standard_Type& SALOMEDS_PythonObjectAttribute_Type_();
88  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const;
89  Standard_EXPORT Standard_Boolean              IsKind(const Handle(Standard_Type)&) const;
90
91 protected:
92
93  // Methods PROTECTED
94  // 
95
96
97  // Fields PROTECTED
98  //
99
100
101 private: 
102
103  // Methods PRIVATE
104  // 
105
106
107  // Fields PRIVATE
108  //
109 Standard_CString mySequence;
110 Standard_Boolean myIsScript;
111
112
113 };
114
115
116
117
118
119 // other inline functions and methods (like "C++: function call" methods)
120 //
121
122
123 #endif