Salome HOME
8e7e4164d65374ac3e326c147dec7652c47c72d7
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_GenericAttribute.hxx
1 //  File   : SALOMEDS_GenericAttribute.hxx
2 //  Author : Sergey RUIN
3 //  Module : SALOME
4
5 #ifndef _GENERIC_ATTRIBUTE_HXX_
6 #define _GENERIC_ATTRIBUTE_HXX_
7
8 #include <exception>
9 #include "SALOMEDSClient.hxx"
10 #include "SALOMEDSImpl_GenericAttribute.hxx"
11
12 // IDL headers
13 #include <SALOMEconfig.h>
14 #include CORBA_SERVER_HEADER(SALOMEDS)
15
16
17 class Standard_EXPORT SALOMEDS_GenericAttribute: public virtual SALOMEDSClient_GenericAttribute
18 {
19 protected:
20   bool                                  _isLocal;
21   Handle(SALOMEDSImpl_GenericAttribute) _local_impl;
22   SALOMEDS::GenericAttribute_var        _corba_impl;
23
24 public:
25   SALOMEDS_GenericAttribute(const Handle(SALOMEDSImpl_GenericAttribute)& theGA);
26   SALOMEDS_GenericAttribute(SALOMEDS::GenericAttribute_ptr theGA);
27   virtual ~SALOMEDS_GenericAttribute();
28
29   void CheckLocked();
30   std::string Type();
31   std::string GetClassType();
32   _PTR(SObject) GetSObject();
33   
34   static SALOMEDS_GenericAttribute* CreateAttribute(const Handle(SALOMEDSImpl_GenericAttribute)& theGA);
35   static SALOMEDS_GenericAttribute* CreateAttribute(SALOMEDS::GenericAttribute_ptr theGA);
36 };
37
38 #endif