#include <SALOMESDS_KeyWaiter.hxx>
Public Member Functions | |
KeyWaiter (PickelizedPyObjServer *var, const SALOME::ByteVec &keyVal) | |
PyObject * | getKeyPyObj () const |
virtual | ~KeyWaiter () |
PortableServer::POA_var | getPOA () const |
void | waitFor () |
WARNING : here it is the single method that can be invoked in non SINGLE_THREAD POA. More... | |
void | valueJustCome (PyObject *val) |
WARNING call this method before calling go ! More... | |
void | go () |
std::string | getVarName () const |
SALOME::ByteVec * | waitForMonoThr () |
this method is supposed to be performed in alone. More... | |
SALOME::ByteVec * | waitForAndKill () |
CORBA::Object_var | activate () |
void | enforcedRelease () |
Private Member Functions | |
DataScopeServerTransaction * | getDSS () const |
Private Attributes | |
PickelizedPyObjServer * | _var |
PyObject * | _ze_key |
PyObject * | _ze_value |
sem_t | _sem |
KeyWaiter::KeyWaiter | ( | PickelizedPyObjServer * | var, |
const SALOME::ByteVec & | keyVal | ||
) |
References _sem, _var, _ze_key, _ze_value, SALOMESDS::DataScopeServerTransaction::addWaitKey(), SALOMESDS::PickelizedPyObjServer::FromByteSeqToCpp(), getDSS(), SALOMESDS::BasicDataServer::getFather(), SALOMESDS::PickelizedPyObjServer::getPyObj(), SALOMESDS::PickelizedPyObjServer::GetPyObjFromPickled(), and go().
|
inherited |
References SALOMESDS::POAHolder::getPOA().
Referenced by SALOMESDS::DataScopeServerTransaction::addKeyValueInVarErrorIfAlreadyExisting(), SALOMESDS::DataScopeServerTransaction::addKeyValueInVarHard(), SALOMESDS::DataScopeServerTransaction::addMultiKeyValueSession(), SALOMESDS::DataScopeServerTransaction::createRdExtInitVarInternal(), SALOMESDS::DataScopeServerTransaction::createRdExtInitVarTransac(), SALOMESDS::DataScopeServer::createRdExtVar(), SALOMESDS::DataScopeServerTransaction::createRdExtVarInternal(), SALOMESDS::DataScopeServerTransaction::createRdExtVarTransac(), SALOMESDS::DataScopeServer::createRdOnlyVar(), SALOMESDS::DataScopeServerTransaction::createRdOnlyVarInternal(), SALOMESDS::DataScopeServerTransaction::createRdOnlyVarTransac(), SALOMESDS::DataScopeServer::createRdWrVar(), SALOMESDS::DataScopeServerTransaction::createRdWrVarInternal(), SALOMESDS::DataScopeServerTransaction::createRdWrVarTransac(), SALOMESDS::DataScopeServerTransaction::createWorkingVarTransac(), SALOMESDS::DataServerManager::DataServerManager(), SALOMESDS::DataScopeServerTransaction::killVarTransac(), SALOMESDS::DataScopeServerBase::moveStatusOfVarFromRdExtOrRdExtInitToRdExt(), SALOMESDS::DataScopeServerBase::moveStatusOfVarFromRdExtOrRdExtInitToRdExtInit(), SALOMESDS::DataScopeServerBase::moveStatusOfVarFromRdOnlyToRdWr(), SALOMESDS::DataScopeServerBase::moveStatusOfVarFromRdWrToRdOnly(), SALOMESDS::DataScopeServerTransaction::removeKeyInVarErrorIfNotAlreadyExisting(), SALOMESDS::DataScopeServerTransaction::waitForKeyInVar(), and SALOMESDS::DataScopeServerTransaction::waitForKeyInVarAndKillIt().
|
inherited |
References SALOMESDS::POAHolder::getPOA().
Referenced by SALOMESDS::RefCountServ::decrRef(), SALOMESDS::BasicDataServer::Destroy(), SALOMESDS::DataScopeServerBase::shutdownIfNotHostedByDSM(), SALOMESDS::DataScopeServerTransaction::waitForAndKill(), and SALOMESDS::DataScopeServerTransaction::waitForMonoThrRev().
|
private |
Referenced by getPOA(), and KeyWaiter().
PyObject* SALOMESDS::KeyWaiter::getKeyPyObj | ( | ) | const |
|
virtual |
Implements SALOMESDS::POAHolder.
References getDSS(), and SALOMESDS::DataScopeServerTransaction::getPOA4KeyWaiter().
std::string SALOMESDS::KeyWaiter::getVarName | ( | ) | const |
void KeyWaiter::go | ( | ) |
References _sem.
Referenced by KeyWaiter().
void KeyWaiter::valueJustCome | ( | PyObject * | val | ) |
WARNING call this method before calling go !
References _ze_value.
void KeyWaiter::waitFor | ( | ) |
SALOME::ByteVec * KeyWaiter::waitForAndKill | ( | ) |
SALOME::ByteVec * KeyWaiter::waitForMonoThr | ( | ) |
this method is supposed to be performed in alone.
References _var, _ze_value, SALOMESDS::PickelizedPyObjServer::FromCppToByteSeq(), SALOMESDS::BasicDataServer::getFather(), and SALOMESDS::PickelizedPyObjServer::Pickelize().
Referenced by SALOMESDS::DataScopeServerTransaction::waitForMonoThrRev().
|
private |
Referenced by go(), KeyWaiter(), and waitFor().
|
private |
Referenced by KeyWaiter(), waitForAndKill(), and waitForMonoThr().
|
private |
Referenced by KeyWaiter(), waitForAndKill(), and ~KeyWaiter().
|
private |
Referenced by KeyWaiter(), valueJustCome(), waitFor(), waitForAndKill(), waitForMonoThr(), and ~KeyWaiter().