Version: 9.15.0
SALOMESDS::KeyWaiter Class Reference

#include <SALOMESDS_KeyWaiter.hxx>

Inheritance diagram for SALOMESDS::KeyWaiter:

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::ByteVecwaitForMonoThr ()
 this method is supposed to be performed in alone. More...
 
SALOME::ByteVecwaitForAndKill ()
 
CORBA::Object_var activate ()
 
void enforcedRelease ()
 

Private Member Functions

DataScopeServerTransactiongetDSS () const
 

Private Attributes

PickelizedPyObjServer_var
 
PyObject * _ze_key
 
PyObject * _ze_value
 
sem_t _sem
 

Constructor & Destructor Documentation

◆ KeyWaiter()

◆ ~KeyWaiter()

KeyWaiter::~KeyWaiter ( )
virtual

References _ze_key, and _ze_value.

Member Function Documentation

◆ activate()

◆ enforcedRelease()

◆ getDSS()

DataScopeServerTransaction* SALOMESDS::KeyWaiter::getDSS ( ) const
private

Referenced by getPOA(), and KeyWaiter().

◆ getKeyPyObj()

PyObject* SALOMESDS::KeyWaiter::getKeyPyObj ( ) const

◆ getPOA()

PortableServer::POA_var KeyWaiter::getPOA ( ) const
virtual

◆ getVarName()

std::string SALOMESDS::KeyWaiter::getVarName ( ) const

◆ go()

void KeyWaiter::go ( )

References _sem.

Referenced by KeyWaiter().

◆ valueJustCome()

void KeyWaiter::valueJustCome ( PyObject *  val)

WARNING call this method before calling go !

References _ze_value.

◆ waitFor()

void KeyWaiter::waitFor ( )

WARNING : here it is the single method that can be invoked in non SINGLE_THREAD POA.

So take care to do avoid collapses (especially in python).

References _sem, and _ze_value.

◆ waitForAndKill()

◆ waitForMonoThr()

Field Documentation

◆ _sem

sem_t SALOMESDS::KeyWaiter::_sem
private

Referenced by go(), KeyWaiter(), and waitFor().

◆ _var

PickelizedPyObjServer* SALOMESDS::KeyWaiter::_var
private

◆ _ze_key

PyObject* SALOMESDS::KeyWaiter::_ze_key
private

◆ _ze_value

PyObject* SALOMESDS::KeyWaiter::_ze_value
private