Salome HOME
Merge branch 'V9_2_2_BR'
[modules/kernel.git] / src / SALOMEDSImpl / SALOMEDSImpl_AttributeLocalID.cxx
index 240a95380d5f25758ed8ad46eb63dceeac627e24..c5014db8f7bb9643bcfd1956fd1c6c179e905d76 100644 (file)
@@ -1,24 +1,40 @@
+// 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
+//
+// 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   : SALOMEDSImpl_AttributeLocalID.cxx
 //  Author : Sergey RUIN
 //  Module : SALOME
-
-
+//
 #include "SALOMEDSImpl_AttributeLocalID.hxx"
-#include <Standard_GUID.hxx>
-
-using namespace std;
-
-IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_AttributeLocalID, SALOMEDSImpl_GenericAttribute )
-IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_AttributeLocalID, SALOMEDSImpl_GenericAttribute )
+#include <stdlib.h>
 
 //=======================================================================
 //function : GetID
 //purpose  : 
 //=======================================================================
 
-const Standard_GUID& SALOMEDSImpl_AttributeLocalID::GetID () 
+const std::string& SALOMEDSImpl_AttributeLocalID::GetID () 
 {
-  static Standard_GUID SALOMEDSImpl_AttributeLocalID ("12837196-8F52-11d6-A8A3-0001021E8C7F");
+  static std::string SALOMEDSImpl_AttributeLocalID ("12837196-8F52-11d6-A8A3-0001021E8C7F");
   return SALOMEDSImpl_AttributeLocalID;
 }
 
@@ -29,11 +45,11 @@ const Standard_GUID& SALOMEDSImpl_AttributeLocalID::GetID ()
 //purpose  : 
 //=======================================================================
 
-Handle(SALOMEDSImpl_AttributeLocalID) SALOMEDSImpl_AttributeLocalID::Set (const TDF_Label& L,
-                                                                         const Standard_Integer value) 
+SALOMEDSImpl_AttributeLocalID* SALOMEDSImpl_AttributeLocalID::Set (const DF_Label& L,
+                                                                   const int value) 
 {
-  Handle(SALOMEDSImpl_AttributeLocalID) A;
-  if (!L.FindAttribute(SALOMEDSImpl_AttributeLocalID::GetID(),A)) {
+  SALOMEDSImpl_AttributeLocalID* A = NULL;
+  if (!(A=(SALOMEDSImpl_AttributeLocalID*)L.FindAttribute(SALOMEDSImpl_AttributeLocalID::GetID()))) {
     A = new  SALOMEDSImpl_AttributeLocalID(); 
     L.AddAttribute(A);
   }
@@ -57,7 +73,7 @@ SALOMEDSImpl_AttributeLocalID::SALOMEDSImpl_AttributeLocalID()
 //function : Set
 //purpose  :
 //=======================================================================
-void SALOMEDSImpl_AttributeLocalID::SetValue(const Standard_Integer theValue)
+void SALOMEDSImpl_AttributeLocalID::SetValue(const int theValue)
 {
   CheckLocked();
 
@@ -74,7 +90,7 @@ void SALOMEDSImpl_AttributeLocalID::SetValue(const Standard_Integer theValue)
 //purpose  : 
 //=======================================================================
 
-const Standard_GUID& SALOMEDSImpl_AttributeLocalID::ID () const { return GetID(); }
+const std::string& SALOMEDSImpl_AttributeLocalID::ID () const { return GetID(); }
 
 
 //=======================================================================
@@ -82,7 +98,7 @@ const Standard_GUID& SALOMEDSImpl_AttributeLocalID::ID () const { return GetID()
 //purpose  : 
 //=======================================================================
 
-Handle(TDF_Attribute) SALOMEDSImpl_AttributeLocalID::NewEmpty () const
+DF_Attribute* SALOMEDSImpl_AttributeLocalID::NewEmpty () const
 {  
   return new SALOMEDSImpl_AttributeLocalID(); 
 }
@@ -92,9 +108,9 @@ Handle(TDF_Attribute) SALOMEDSImpl_AttributeLocalID::NewEmpty () const
 //purpose  : 
 //=======================================================================
 
-void SALOMEDSImpl_AttributeLocalID::Restore(const Handle(TDF_Attribute)& with) 
+void SALOMEDSImpl_AttributeLocalID::Restore(DF_Attribute* with) 
 {
-  myValue = Handle(SALOMEDSImpl_AttributeLocalID)::DownCast (with)->Value();
+  myValue = dynamic_cast<SALOMEDSImpl_AttributeLocalID*>(with)->Value();
 }
 
 //=======================================================================
@@ -102,9 +118,27 @@ void SALOMEDSImpl_AttributeLocalID::Restore(const Handle(TDF_Attribute)& with)
 //purpose  : 
 //=======================================================================
 
-void SALOMEDSImpl_AttributeLocalID::Paste (const Handle(TDF_Attribute)& into,
-                                          const Handle(TDF_RelocationTable)& RT) const
+void SALOMEDSImpl_AttributeLocalID::Paste (DF_Attribute* into)
 {
-  Handle(SALOMEDSImpl_AttributeLocalID)::DownCast (into)->SetValue(myValue);
+  dynamic_cast<SALOMEDSImpl_AttributeLocalID*>(into)->SetValue(myValue);
 }
 
+//=======================================================================
+//function : Save
+//purpose  :
+//=======================================================================
+std::string SALOMEDSImpl_AttributeLocalID::Save() 
+{ 
+  char buffer[128]; 
+  sprintf(buffer, "%d", myValue);
+  return std::string(buffer); 
+}
+
+//=======================================================================
+//function : Load
+//purpose  :
+//=======================================================================
+void SALOMEDSImpl_AttributeLocalID::Load(const std::string& theValue)
+{
+  myValue = atoi(theValue.c_str());  
+}