-// Copyright (C) 2006-2015 CEA/DEN, EDF R&D
+// Copyright (C) 2006-2023 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
return _outOfScopeBackLink!=0;
}
-void ConditionInputPort::edNotifyReferencedBy(OutPort *fromPort)
+void ConditionInputPort::edNotifyReferencedBy(OutPort *fromPort, bool isLoopProof)
{
if(!((ComposedNode*)(_node))->isInMyDescendance(fromPort->getNode()))
{
throw Exception("ConditionInputPort::edNotifyReferenced : already linked from outside");
_outOfScopeBackLink=fromPort;
}
- InputPort::edNotifyReferencedBy(fromPort);
+ InputPort::edNotifyReferencedBy(fromPort,isLoopProof);
}
void ConditionInputPort::edNotifyDereferencedBy(OutPort *fromPort)
return (void *)_value;
}
-void ConditionInputPort::put(const void *data) throw(ConversionException)
+void ConditionInputPort::put(const void *data)
{
put((Any*)data);
}
-void ConditionInputPort::put(Any *data) throw(ConversionException)
+void ConditionInputPort::releaseData()
{
if(_value)
_value->decrRef();
+ _value=nullptr;
+}
+
+void ConditionInputPort::put(Any *data)
+{
+ ConditionInputPort::releaseData();
_value=data;
_value->incrRef();
}