Salome HOME
812e130597f95a0d9ff4db12a3d4f929c4ca3e2e
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_SObject_i.hxx
1 //  File   : SALOMEDS_SObject_i.hxx
2 //  Author : Sergey RUIN
3 //  Module : SALOME
4
5 #ifndef __SALOMEDS_SOBJECT_I_H__
6 #define __SALOMEDS_SOBJECT_I_H__
7
8 // std C++ headers
9 #include <iostream>
10
11 // IDL headers
12 #include <SALOMEconfig.h>
13 #include CORBA_SERVER_HEADER(SALOMEDS)
14 #include <SALOME_GenericObj_i.hh>
15
16 // Cascade headers
17 #include "SALOMEDSImpl_SObject.hxx"
18
19 #ifdef GetObject
20 #undef GetObject
21 #endif
22
23 class Standard_EXPORT SALOMEDS_SObject_i: public virtual POA_SALOMEDS::SObject,
24                           public virtual PortableServer::RefCountServantBase,
25                           public virtual SALOME::GenericObj_i
26 {
27 protected:
28   CORBA::ORB_ptr                _orb;
29   Handle(SALOMEDSImpl_SObject)  _impl;
30
31 public:
32
33   static SALOMEDS::SObject_ptr New(const Handle(SALOMEDSImpl_SObject)&, CORBA::ORB_ptr); 
34   
35   SALOMEDS_SObject_i(const Handle(SALOMEDSImpl_SObject)&, CORBA::ORB_ptr);
36   
37   virtual ~SALOMEDS_SObject_i();
38   
39   virtual char* GetID();
40   virtual SALOMEDS::SComponent_ptr GetFatherComponent();
41   virtual SALOMEDS::SObject_ptr    GetFather() ;
42   virtual CORBA::Boolean FindAttribute(SALOMEDS::GenericAttribute_out anAttribute, const char* aTypeOfAttribute);
43   virtual CORBA::Boolean ReferencedObject(SALOMEDS::SObject_out obj) ;
44   virtual CORBA::Boolean FindSubObject(long atag, SALOMEDS::SObject_out obj );
45
46   virtual SALOMEDS::Study_ptr    GetStudy() ;
47   virtual char* Name();
48   virtual void  Name(const char*);
49   virtual SALOMEDS::ListOfAttributes* GetAllAttributes();
50
51   virtual CORBA::Object_ptr GetObject();
52
53   virtual char* GetName();
54   virtual char* GetComment();
55   virtual char* GetIOR();
56
57   virtual CORBA::Short Tag();
58   virtual CORBA::Short Depth();
59
60   virtual long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
61 };
62
63 #endif