-// Copyright (C) 2006-2014 CEA/DEN, EDF R&D
+// Copyright (C) 2006-2022 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
#include "AnyOutputPort.hxx"
-#include "Any.hxx"
+#include "AutoLocker.hxx"
#include "Runtime.hxx"
+#include "Any.hxx"
//#define _DEVDEBUG_
#include "YacsTrace.hxx"
//! store the current dispatched value
void AnyOutputPort::setValue(Any *data)
{
- YACS::BASES::Lock lock(&_mutex);
+ YACS::BASES::AutoLocker<YACS::BASES::Mutex> lock(&_mutex);
if(_data)
_data->decrRef();
_data = data;
return new AnyOutputPort(*this,newHelder);
}
-void AnyOutputPort::put(const void *data) throw(ConversionException)
+void AnyOutputPort::put(const void *data)
{
put((YACS::ENGINE::Any *)data);
}
-void AnyOutputPort::put(YACS::ENGINE::Any *data) throw(ConversionException)
+void AnyOutputPort::put(YACS::ENGINE::Any *data)
{
setValue(data);
OutputPort::put(data);
std::string AnyOutputPort::getAsString()
{
- YACS::BASES::Lock lock(&_mutex);
+ YACS::BASES::AutoLocker<YACS::BASES::Mutex> lock(&_mutex);
return getRuntime()->convertNeutralAsString(edGetType(),_data);
}