24#ifndef OMNIEVENTS__PROXYPUSHSUPPLIER_H
25#define OMNIEVENTS__PROXYPUSHSUPPLIER_H
41#include "CosEventChannelAdmin.hh"
43#ifdef HAVE_STD_IOSTREAM
55 const PortableServer::ObjectId&
oid,
56 PortableServer::POA_ptr
poa
60 const PortableServer::ObjectId&
oid,
61 PortableServer::POA_ptr
adapter,
62 PortableServer::Servant
serv,
69 CosEventChannelAdmin::ProxyPushSupplier_ptr
createObject();
102:
public virtual POA_CosEventChannelAdmin::ProxyPushSupplier,
147 _p->_condition.signal();
#define OMNIEVENTS__DEBUG_REF_COUNTS__DECL
Declares debug versions of _add/remove_ref().
T::_ptr_type createNarrowedReference(PortableServer::POA_ptr poa, const char *repositoryId)
Helper method that creates a new CORBA object and then narrows it to the appropriate type.
Interface for classes that wish to receive callbacks from deferred requests.
The EventQueue is a circular buffer, that contains _size-1 events.
Base class for ServantActivator classes that manage Proxy servants.
Base class for three of the four Proxy servants.
void * run_undetached(void *)
~ProxyPushSupplierManager()
void disconnect()
Send disconnect_push_consumer() to all connected PushConsumers.
omni_condition _condition
CosEventChannelAdmin::ProxyPushSupplier_ptr createObject()
void etherealize(const PortableServer::ObjectId &oid, PortableServer::POA_ptr adapter, PortableServer::Servant serv, CORBA::Boolean cleanup_in_progress, CORBA::Boolean remaining_activations)
Pauses the thread, and then calls the parent's implementation.
PortableServer::Servant incarnate(const PortableServer::ObjectId &oid, PortableServer::POA_ptr poa)
void _remove_ref()
Shutdown the thread when refCount reaches zero.
Helper class that locks ProxyPushSupplier upon construction, and wakes it up on destruction.
PauseThenWake(const PauseThenWake &)
Dummy, no implementation.
ProxyPushSupplierManager * _p
PauseThenWake()
Dummy, no implementation.
CosEventComm::PushConsumer_var _target
void connect_push_consumer(CosEventComm::PushConsumer_ptr pushConsumer)
OMNIEVENTS__DEBUG_REF_COUNTS__DECL void trigger(bool &busy, bool &waiting)
Sets 'busy' if some work was done.
void reincarnate(const string &oid, const PersistNode &node)
Re-create a servant from information saved in the log file.
bool _targetIsProxy
TRUE if _target is a ProxyPushConsumer.
void output(ostream &os)
Save this object's state to a stream.
void callback(CORBA::Request_ptr req)
Sets _targetIsProxy, if it is.
void disconnect_push_supplier()