]> SALOME platform Git repositories - modules/kernel.git/blob - src/SALOMEDSClient/SALOMEDSClient_SObject.hxx
Salome HOME
PR: merge from branch BR_UnitTests tag mergeto_trunk_17oct05
[modules/kernel.git] / src / SALOMEDSClient / SALOMEDSClient_SObject.hxx
1 //  File   : SALOMEDSClient_SObject.hxx
2 //  Author : Sergey RUIN
3 //  Module : SALOME
4
5 #ifndef __SALOMEDSCLIENT_SOBJECT_H__
6 #define __SALOMEDSCLIENT_SOBJECT_H__
7
8 // std C++ headers
9 #include <vector>
10 #include <string> 
11
12 #include "SALOMEDSClient_definitions.hxx"
13
14 class SALOMEDSClient_Study;
15 class SALOMEDSClient_SComponent;
16 class SALOMEDSClient_GenericAttribute;
17
18 class SALOMEDSClient_SObject
19 {
20 public:
21   virtual ~SALOMEDSClient_SObject() {}
22
23   virtual std::string GetID()  = 0;
24   virtual _PTR(SComponent) GetFatherComponent() = 0;
25   virtual _PTR(SObject)    GetFather() = 0;
26   virtual bool FindAttribute(_PTR(GenericAttribute)& anAttribute, const std::string& aTypeOfAttribute) = 0;
27   virtual bool ReferencedObject(_PTR(SObject)& theObject) = 0;
28   virtual bool FindSubObject(int theTag, _PTR(SObject)& theObject) = 0;
29   virtual _PTR(Study) GetStudy() = 0;
30   virtual std::string Name() = 0;
31   virtual void  Name(const std::string& theName)  = 0;
32   virtual std::vector<_PTR(GenericAttribute)> GetAllAttributes() = 0;
33   virtual std::string GetName() = 0;
34   virtual std::string GetComment() = 0;
35   virtual std::string GetIOR() = 0;
36   virtual int   Tag() = 0;
37   virtual int   Depth() = 0;
38 };
39
40 #endif