X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_SObject_i.hxx;h=280c907de8e731343dbad977992a6af9c1502d69;hb=9a965a48d4bc1a6cd1f73229a91e77b10bffa881;hp=c5f534180e85248607f5567ac8327b86f723266b;hpb=ccbcbecbbd2f874cc142bbe491a1d3474135b218;p=modules%2Fyacs.git diff --git a/src/SALOMEDS/SALOMEDS_SObject_i.hxx b/src/SALOMEDS/SALOMEDS_SObject_i.hxx index c5f534180..280c907de 100644 --- a/src/SALOMEDS/SALOMEDS_SObject_i.hxx +++ b/src/SALOMEDS/SALOMEDS_SObject_i.hxx @@ -1,157 +1,83 @@ -// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. // +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + // File : SALOMEDS_SObject_i.hxx -// Author : Yves FRICAUD +// Author : Sergey RUIN // Module : SALOME -// $Header$ - +// #ifndef __SALOMEDS_SOBJECT_I_H__ #define __SALOMEDS_SOBJECT_I_H__ -#include -#include - -// Cascade headers -#include -#include -#include - -#include "SALOMEDS_Study_i.hxx" +// std C++ headers +#include // IDL headers #include #include CORBA_SERVER_HEADER(SALOMEDS) +#include -class SALOMEDS_GenericAttribute_i; - +// Cascade headers +#include "SALOMEDSImpl_SObject.hxx" -namespace SALOMEDS +class Standard_EXPORT SALOMEDS_SObject_i: public virtual POA_SALOMEDS::SObject, + public virtual PortableServer::ServantBase, + public virtual SALOME::GenericObj_i { - const char* Str(const TCollection_ExtendedString& theString); - - std::string GetType(const Handle(TDF_Attribute)& theAttr); - - Standard_GUID GetGUID(const char* theType); - -} - +protected: + CORBA::ORB_var _orb; + SALOMEDSImpl_SObject* _impl; -class SALOMEDS_SObject_i: public virtual POA_SALOMEDS::SObject, - public virtual PortableServer::RefCountServantBase -{ public: - static - SALOMEDS_Study_i::TSObjectHolder - New(SALOMEDS_Study_i* theStudy, - const TDF_Label& theLabel); - static - SALOMEDS_SObject_i* - NewPtr(SALOMEDS_Study_i* theStudy, - const TDF_Label& theLabel); - - static - SALOMEDS::SObject_var - NewRef(SALOMEDS_Study_i* theStudy, - const TDF_Label& theLabel); - - virtual SALOMEDS::SObject_ptr GetFather() ; + static SALOMEDS::SObject_ptr New(const SALOMEDSImpl_SObject&, CORBA::ORB_ptr); + + SALOMEDS_SObject_i(const SALOMEDSImpl_SObject&, CORBA::ORB_ptr); + + virtual ~SALOMEDS_SObject_i(); + + virtual CORBA::Boolean IsNull(); + virtual char* GetID(); virtual SALOMEDS::SComponent_ptr GetFatherComponent(); - virtual CORBA::Boolean ReferencedObject(SALOMEDS::SObject_out theSObject); - virtual CORBA::Boolean FindSubObject(CORBA::Long theTag, SALOMEDS::SObject_out theSObject); + virtual SALOMEDS::SObject_ptr GetFather() ; + virtual CORBA::Boolean FindAttribute(SALOMEDS::GenericAttribute_out anAttribute, const char* aTypeOfAttribute); + virtual CORBA::Boolean ReferencedObject(SALOMEDS::SObject_out obj) ; + virtual CORBA::Boolean FindSubObject(CORBA::Long atag, SALOMEDS::SObject_out obj ); - virtual SALOMEDS::Study_ptr GetStudy(); + virtual SALOMEDS::Study_ptr GetStudy() ; + virtual char* Name(); + virtual void Name(const char*); virtual SALOMEDS::ListOfAttributes* GetAllAttributes(); virtual CORBA::Object_ptr GetObject(); - virtual char* GetID(); - virtual CORBA::Short Tag(); - virtual CORBA::Short Depth(); - - virtual char* Name(); - virtual void Name(const char* theName); - virtual char* GetName(); virtual char* GetComment(); virtual char* GetIOR(); + virtual void SetAttrString(const char*, const char*); - CORBA::Boolean - FindAttribute(SALOMEDS::GenericAttribute_out theAttribute, - const char* theTypeOfAttribute); - - SALOMEDS::GenericAttribute_ptr - FindOrCreateAttribute(const char* theTypeOfAttribute); - - void RemoveAttribute(const char* theTypeOfAttribute); - void OnRemove(); - - SALOMEDS_Study_i* GetStudyServant(){ return _study;} - - TDF_Label GetLabel(){ return _lab;} - TDF_Label GetFatherLabel(){ return _lab.Father();} - TDF_Label GetFatherComponentLabel(); - - CORBA::ORB_var GetORB() const; - - PortableServer::POA_var GetPOA() const; - -protected: - friend class SALOMEDS_GenericAttribute_i; - - typedef std::string TAttributeID; - typedef std::pair TAttrHolder; - typedef std::map TAttrMap; - TAttrMap myAttrMap; - - TAttrHolder - _FindGenAttribute(const Handle(TDF_Attribute)& theAttr); - - TAttrHolder - _CreateGenAttribute(const Handle(TDF_Attribute)& theAttr, - const char* theTypeOfAttribute); - - TAttrHolder - _FindGenAttribute(const char* theTypeOfAttribute); - - Handle(TDF_Attribute) - _AddAttribute(const char* theTypeOfAttribute); - - SALOMEDS_Study_i* _study; - std::string _name; - TDF_Label _lab; - - SALOMEDS_SObject_i(SALOMEDS_Study_i* theStudy, - const TDF_Label& theLabel); - - ~SALOMEDS_SObject_i(); - -private: - SALOMEDS_SObject_i(); // Not implemented - void operator=(const SALOMEDS_SObject_i&); // Not implemented + virtual CORBA::Short Tag(); + virtual CORBA::Short Depth(); + virtual CORBA::LongLong GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal); }; - #endif