Salome HOME
ENV: Windows porting.
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_GenericAttribute_i.hxx
1 //  File   : SALOMEDS_GenericAttribute_i.hxx
2 //  Author : Sergey RUIN
3 //  Module : SALOME
4
5 #ifndef _GENERIC_ATTRIBUTE_I_HXX_
6 #define _GENERIC_ATTRIBUTE_I_HXX_
7
8 // IDL headers
9 #include <SALOMEconfig.h>
10 #include CORBA_SERVER_HEADER(SALOMEDS)
11 #include <SALOME_GenericObj_i.hh>
12 #include <TDF_Attribute.hxx>
13 #include "SALOMEDS_SObject_i.hxx"
14 #include "SALOMEDSImpl_GenericAttribute.hxx"
15
16 class SALOMEDS_GenericAttribute_i: public virtual POA_SALOMEDS::GenericAttribute,
17                                    public virtual PortableServer::RefCountServantBase,
18                                    public virtual SALOME::GenericObj_i
19 {
20
21 protected:
22   Handle(TDF_Attribute) _impl;
23   CORBA::ORB_ptr        _orb;
24
25 public:
26   SALOMEDS_GenericAttribute_i(const Handle(TDF_Attribute)& theImpl, CORBA::ORB_ptr theOrb);
27   virtual ~SALOMEDS_GenericAttribute_i() {};
28
29   void CheckLocked() throw (SALOMEDS::GenericAttribute::LockProtection);
30   
31   virtual char* Type();
32
33   char* GetClassType();
34
35   SALOMEDS::SObject_ptr GetSObject();
36   
37   virtual Handle(TDF_Attribute) GetImpl() { return _impl; }
38
39   static SALOMEDS::GenericAttribute_ptr CreateAttribute(const Handle(TDF_Attribute)& theAttr, CORBA::ORB_ptr theOrb);  
40
41   virtual long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
42 };
43
44 #endif