Salome HOME
PR: relax start timers everywhere to 40x500ms = 20s
[modules/yacs.git] / src / SALOMEDS / SALOMEDS_GenericAttribute_i.cxx
index d3fc65e30d6ba44b0549b9106819195b67a3836c..b9a24946ad537f915a15731d50889cc301bd6eba 100644 (file)
@@ -9,23 +9,51 @@
 //  Module : SALOME
 //  $Header$
 
+#include "SALOMEDS_GenericAttribute_i.hxx"
+#include "SALOMEDS_SObject_i.hxx"
+#include "SALOMEDS_Study_i.hxx"
+
 using namespace std;
-#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();
 }