Salome HOME
Moved some functionality to VTKViewer_Utilities.h
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_GenericAttribute_i.cxx
index bbd790db6fa78f2d83f77b9500c04acc00e5a820..b9a24946ad537f915a15731d50889cc301bd6eba 100644 (file)
@@ -1,29 +1,59 @@
+//  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SALOMEDS_GenericAttribute_i.cxx
+//  Author : Mikhail PONIKAROV
+//  Module : SALOME
+//  $Header$
+
+#include "SALOMEDS_GenericAttribute_i.hxx"
+#include "SALOMEDS_SObject_i.hxx"
+#include "SALOMEDS_Study_i.hxx"
+
 using namespace std;
-//  File      : SALOMEDS_GenericAttribute_i.cxx
-//  Created   : Fri Jul 05 15:49:37 2002
-//  Author    : Mikhail PONIKAROV
 
-//  Project   : SALOME
-//  Module    : SALOMEDS
-//  Copyright : Open CASCADE 2002
-//  $Header$
 
-#include "SALOMEDS_StudyBuilder_i.hxx"
-
-void SALOMEDS_GenericAttribute_i::CheckLocked() throw (SALOMEDS::GenericAttribute::LockProtection) {
-  if (!_myAttr.IsNull() && _myAttr->IsValid() && !CORBA::is_nil(_myOrb)) {
-    Handle(SALOMEDS_IORAttribute) Att;
-    if (_myAttr->Label().Root().FindAttribute(SALOMEDS_IORAttribute::GetID(),Att)){
-      TCollection_AsciiString ch(Att->Get());
-      char* IOR = CORBA::string_dup(ch.ToCString());
-      CORBA::Object_var obj = _myOrb->string_to_object(IOR);
-      SALOMEDS::Study_ptr aStudy = SALOMEDS::Study::_narrow(obj);
-      //       ASSERT(!CORBA::is_nil(aStudy));
-      if (aStudy->NewBuilder()->HasOpenCommand()) return;
-      if (aStudy->GetProperties()->IsLocked()) {
-       //        INFOS("Locked document modification !!!");
-       throw SALOMEDS::GenericAttribute::LockProtection();
-      }
-    }
-  }
+SALOMEDS_GenericAttribute_i::SALOMEDS_GenericAttribute_i(const Handle(TDF_Attribute)& theAttr,
+                                                        SALOMEDS_SObject_i* theSObject):
+  _myBasicAttr(theAttr),
+  _mySObject(theSObject)
+{
+}
+
+
+SALOMEDS_GenericAttribute_i::~SALOMEDS_GenericAttribute_i()
+{
+}
+
+
+char* SALOMEDS_GenericAttribute_i::Store()
+{
+  return CORBA::string_dup("");
+}
+
+
+void SALOMEDS_GenericAttribute_i::Restore(const char*)
+{
+}
+
+
+char* SALOMEDS_GenericAttribute_i::Type() 
+{
+  return CORBA::string_dup(SALOMEDS::GetType(_myBasicAttr).c_str());
+}
+
+
+SALOMEDS::SObject_ptr SALOMEDS_GenericAttribute_i::GetSObject()
+{
+  return _mySObject->_this();;
+}
+
+
+void SALOMEDS_GenericAttribute_i::CheckLocked() 
+  throw (SALOMEDS::GenericAttribute::LockProtection) 
+{
+  _mySObject->GetStudyServant()->CheckLocked();
 }