Salome HOME
f1dfa9edc0d5abbdc03654af7257067f82117f6f
[modules/geom.git] / src / GEOM / Handle_GEOM_Application.hxx
1 //  File   : Handle_GEOM_Application.hxx
2 //  Module : GEOM
3
4 #ifndef _Handle_GEOM_Application_HeaderFile
5 #define _Handle_GEOM_Application_HeaderFile
6
7 #ifndef _Standard_Macro_HeaderFile
8 #include <Standard_Macro.hxx>
9 #endif
10 #ifndef _Standard_HeaderFile
11 #include <Standard.hxx>
12 #endif
13
14 #ifndef _Handle_TDocStd_Application_HeaderFile
15 #include <Handle_TDocStd_Application.hxx>
16 #endif
17
18 class Standard_Transient;
19 class Handle_Standard_Type;
20 class Handle(TDocStd_Application);
21 class GEOM_Application;
22 Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(SimpleOCAF_Application);
23
24 class Handle(GEOM_Application) : public Handle(TDocStd_Application) {
25   public:
26     inline void* operator new(size_t,void* anAddress) 
27       {
28         return anAddress;
29       }
30     inline void* operator new(size_t size) 
31       { 
32         return Standard::Allocate(size); 
33       }
34     inline void  operator delete(void *anAddress) 
35       { 
36         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
37       }
38 //    inline void  operator delete(void *anAddress, size_t size) 
39 //      { 
40 //        if (anAddress) Standard::Free((Standard_Address&)anAddress,size); 
41 //      }
42     Handle(GEOM_Application)():Handle(TDocStd_Application)() {} 
43     Handle(GEOM_Application)(const Handle(GEOM_Application)& aHandle) : Handle(TDocStd_Application)(aHandle) 
44      {
45      }
46
47     Handle(GEOM_Application)(const GEOM_Application* anItem) : Handle(TDocStd_Application)((TDocStd_Application *)anItem) 
48      {
49      }
50
51     Handle(GEOM_Application)& operator=(const Handle(GEOM_Application)& aHandle)
52      {
53       Assign(aHandle.Access());
54       return *this;
55      }
56
57     Handle(GEOM_Application)& operator=(const GEOM_Application* anItem)
58      {
59       Assign((Standard_Transient *)anItem);
60       return *this;
61      }
62
63     GEOM_Application* operator->() 
64      {
65       return (GEOM_Application *)ControlAccess();
66      }
67
68     GEOM_Application* operator->() const 
69      {
70       return (GEOM_Application *)ControlAccess();
71      }
72
73    Standard_EXPORT ~Handle(GEOM_Application)();
74  
75    Standard_EXPORT static const Handle(GEOM_Application) DownCast(const Handle(Standard_Transient)& AnObject);
76 };
77 #endif