X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_SObject_i.hxx;h=585e69d26c01baa2a80601e5bcc7349890dd5283;hb=8469d4f02c5b4379665d4ec1b07709d3c8411114;hp=d7562acf75dc68096bb94f1798d8cfdca2be1c55;hpb=bd0aa83cc3573de6b62b2a56e168dd372097bd45;p=modules%2Fkernel.git diff --git a/src/SALOMEDS/SALOMEDS_SObject_i.hxx b/src/SALOMEDS/SALOMEDS_SObject_i.hxx index d7562acf7..585e69d26 100644 --- a/src/SALOMEDS/SALOMEDS_SObject_i.hxx +++ b/src/SALOMEDS/SALOMEDS_SObject_i.hxx @@ -1,142 +1,85 @@ -// SALOME SALOMEDS : data structure of SALOME and sources of Salome data server +// Copyright (C) 2007-2023 CEA, EDF, 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 +// std C++ headers +#include // IDL headers #include #include CORBA_SERVER_HEADER(SALOMEDS) +#include -class SALOMEDS_Study_i; -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_SObject_i* New(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 PortableServer::POA_ptr _default_POA(); + + 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 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); - - SALOMEDS_Study_i* GetStudyServant(){ return _study;} - - CORBA::ORB_var GetORB() const; - - PortableServer::POA_var GetPOA() const; - -protected: - friend class SALOMEDS_GenericAttribute_i; - - SALOMEDS_GenericAttribute_i* - _FindGenAttribute(const Handle(TDF_Attribute)& theAttr); - - SALOMEDS_GenericAttribute_i* - _CreateGenAttribute(const Handle(TDF_Attribute)& theAttr, - const char* theTypeOfAttribute); - - SALOMEDS_GenericAttribute_i* - _FindGenAttribute(const char* theTypeOfAttribute); - - SALOMEDS::GenericAttribute_ptr - _FindCORBAAttribute(const char* theTypeOfAttribute); - - Handle(TDF_Attribute) - _AddAttribute(const char* theTypeOfAttribute); - - SALOMEDS_Study_i* _study; - std::string _name; - TDF_Label _lab; - - typedef std::string TAttributeID; - typedef SALOMEDS_GenericAttribute_i* TAttrHolder; - typedef std::map TAttrMap; - TAttrMap myAttrMap; - - 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 GetLastChildTag(); + virtual CORBA::Short Depth(); + virtual CORBA::LongLong GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal); }; - #endif