Version: 9.16.0
SALOMEDS_SObject.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// File : SALOMEDS_SObject.hxx
24// Author : Sergey RUIN
25// Module : SALOME
26//
27#ifndef __SALOMEDS_SOBJECT_H__
28#define __SALOMEDS_SOBJECT_H__
29
30// std C++ headers
31#include <vector>
32
33#include <SALOMEDSClient.hxx>
34
35// IDL headers
36#include <SALOMEconfig.h>
37#include CORBA_SERVER_HEADER(SALOMEDS)
38
40
42{
43protected:
44
47 SALOMEDS::SObject_var _corba_impl;
48 CORBA::ORB_var _orb;
49
50public:
51
52 SALOMEDS_SObject(SALOMEDS::SObject_ptr theSObject);
53 SALOMEDS_SObject(const SALOMEDSImpl_SObject& theSObject);
54 virtual ~SALOMEDS_SObject();
55
56 virtual bool IsNull() const;
57 virtual std::string GetID();
58 virtual _PTR(SComponent) GetFatherComponent();
59 virtual _PTR(SObject) GetFather();
60 virtual bool FindAttribute(_PTR(GenericAttribute)& anAttribute, const std::string& aTypeOfAttribute);
61 virtual bool ReferencedObject(_PTR(SObject)& theObject);
62 virtual bool FindSubObject(int theTag, _PTR(SObject)& theObject);
63 virtual std::string Name();
64 virtual void Name(const std::string& theName);
65 virtual std::vector<_PTR(GenericAttribute)> GetAllAttributes();
66 virtual std::string GetName();
67 virtual std::string GetComment();
68 virtual std::string GetIOR();
69 virtual void SetAttrString(const std::string& theName, const std::string& theValue);
70 virtual int Tag();
71 virtual int GetLastChildTag();
72 virtual int Depth();
73
74 CORBA::Object_ptr GetObject();
75 SALOMEDS::SObject_ptr GetSObject();
76
77 SALOMEDS::SObject_var GetCORBAImpl() { return _corba_impl; }
78 SALOMEDSImpl_SObject* GetLocalImpl() { return _local_impl; }
79
80private:
81 void init_orb();
82};
83
84#endif
#define Standard_EXPORT
Definition: DF_definitions.hxx:53
#define _PTR(Class)
Definition: SALOMEDSClient_definitions.hxx:72
Definition: SALOMEDSClient_SObject.hxx:41
virtual bool FindAttribute(clt_shared_ptr< SALOMEDSClient_GenericAttribute > &attribute, const std::string &type)=0
virtual std::string GetID()=0
virtual std::string GetName()=0
virtual int Tag()=0
virtual int GetLastChildTag()=0
virtual bool ReferencedObject(clt_shared_ptr< SALOMEDSClient_SObject > &object)=0
virtual std::vector< clt_shared_ptr< SALOMEDSClient_GenericAttribute > > GetAllAttributes()=0
virtual std::string GetIOR()=0
virtual std::string Name()=0
virtual clt_shared_ptr< SALOMEDSClient_SComponent > GetFatherComponent()=0
virtual clt_shared_ptr< SALOMEDSClient_SObject > GetFather()=0
virtual void SetAttrString(const std::string &name, const std::string &value)=0
virtual bool FindSubObject(int tag, clt_shared_ptr< SALOMEDSClient_SObject > &object)=0
virtual int Depth()=0
virtual bool IsNull() const =0
virtual std::string GetComment()=0
Definition: SALOMEDSImpl_SObject.hxx:41
Definition: SALOMEDS_SObject.hxx:42
SALOMEDS::SObject_var GetCORBAImpl()
Definition: SALOMEDS_SObject.hxx:77
virtual _PTR(SComponent) GetFatherComponent()
SALOMEDS::SObject_var _corba_impl
Definition: SALOMEDS_SObject.hxx:47
virtual _PTR(SObject) GetFather()
SALOMEDSImpl_SObject * _local_impl
Definition: SALOMEDS_SObject.hxx:46
SALOMEDSImpl_SObject * GetLocalImpl()
Definition: SALOMEDS_SObject.hxx:78
bool _isLocal
Definition: SALOMEDS_SObject.hxx:45
CORBA::ORB_var _orb
Definition: SALOMEDS_SObject.hxx:48