Salome HOME
ENV: Windows porting.
[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 class SALOMEDS_SObject_i: public virtual POA_SALOMEDS::SObject,
20                           public virtual PortableServer::RefCountServantBase,
21                           public virtual SALOME::GenericObj_i
22 {
23 protected:
24   CORBA::ORB_ptr                _orb;
25   Handle(SALOMEDSImpl_SObject)  _impl;
26
27 public:
28
29   static SALOMEDS::SObject_ptr New(const Handle(SALOMEDSImpl_SObject)&, CORBA::ORB_ptr); 
30   
31   SALOMEDS_SObject_i(const Handle(SALOMEDSImpl_SObject)&, CORBA::ORB_ptr);
32   
33   virtual ~SALOMEDS_SObject_i();
34   
35   virtual char* GetID();
36   virtual SALOMEDS::SComponent_ptr GetFatherComponent();
37   virtual SALOMEDS::SObject_ptr    GetFather() ;
38   virtual CORBA::Boolean FindAttribute(SALOMEDS::GenericAttribute_out anAttribute, const char* aTypeOfAttribute);
39   virtual CORBA::Boolean ReferencedObject(SALOMEDS::SObject_out obj) ;
40   virtual CORBA::Boolean FindSubObject(long atag, SALOMEDS::SObject_out obj );
41
42   virtual SALOMEDS::Study_ptr    GetStudy() ;
43   virtual char* Name();
44   virtual void  Name(const char*);
45   virtual SALOMEDS::ListOfAttributes* GetAllAttributes();
46
47   virtual CORBA::Object_ptr GetObject();
48
49   virtual char* GetName();
50   virtual char* GetComment();
51   virtual char* GetIOR();
52
53   virtual CORBA::Short Tag();
54   virtual CORBA::Short Depth();
55
56   virtual long GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal);
57 };
58
59 #endif