X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_GenericAttribute_i.cxx;h=b9a24946ad537f915a15731d50889cc301bd6eba;hb=a1342d4c04ff7b44f7e6ee6ae083515dce853a3c;hp=d3fc65e30d6ba44b0549b9106819195b67a3836c;hpb=611c96f1b845f602ce9dbdc154c6fe4425937b9b;p=modules%2Fyacs.git diff --git a/src/SALOMEDS/SALOMEDS_GenericAttribute_i.cxx b/src/SALOMEDS/SALOMEDS_GenericAttribute_i.cxx index d3fc65e30..b9a24946a 100644 --- a/src/SALOMEDS/SALOMEDS_GenericAttribute_i.cxx +++ b/src/SALOMEDS/SALOMEDS_GenericAttribute_i.cxx @@ -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(); }