Salome HOME
Merge branch 'V9_2_2_BR'
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_SObject.hxx
index b20ceaf789115826413536521de76d3e2cc0e73b..de08ae9a34ab23707a2768fb4fd80c6d7d9646ee 100644 (file)
@@ -1,24 +1,25 @@
-//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
 //
-//  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 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.
+// 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.
+// 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
+// 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
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+
 //  File   : SALOMEDS_SObject.hxx
 //  Author : Sergey RUIN
 //  Module : SALOME
@@ -52,26 +53,28 @@ public:
   SALOMEDS_SObject(const SALOMEDSImpl_SObject& theSObject);       
   virtual ~SALOMEDS_SObject();
 
+  virtual bool IsNull() const;
   virtual std::string GetID();
   virtual _PTR(SComponent) GetFatherComponent();
   virtual _PTR(SObject)    GetFather();
   virtual bool FindAttribute(_PTR(GenericAttribute)& anAttribute, const std::string& aTypeOfAttribute);
   virtual bool ReferencedObject(_PTR(SObject)& theObject);
   virtual bool FindSubObject(int theTag, _PTR(SObject)& theObject);
-  virtual _PTR(Study) GetStudy();
   virtual std::string Name();
   virtual void  Name(const std::string& theName);
   virtual std::vector<_PTR(GenericAttribute)> GetAllAttributes();
   virtual std::string GetName();
   virtual std::string GetComment();
   virtual std::string GetIOR();
+  virtual void SetAttrString(const std::string& theName, const std::string& theValue);
   virtual int   Tag();
+  virtual int   GetLastChildTag();
   virtual int   Depth();
 
   CORBA::Object_ptr GetObject();
   SALOMEDS::SObject_ptr GetSObject();
 
-  SALOMEDS::SObject_ptr        GetCORBAImpl() { return SALOMEDS::SObject::_duplicate(_corba_impl); }
+  SALOMEDS::SObject_var        GetCORBAImpl() { return _corba_impl; }
   SALOMEDSImpl_SObject*        GetLocalImpl() { return _local_impl; } 
 
 private: