24#ifndef OMNIEVENTS__PROXYPULLSUPPLIER_H
25#define OMNIEVENTS__PROXYPULLSUPPLIER_H
40#include "CosEventChannelAdmin.hh"
42#ifdef HAVE_STD_IOSTREAM
52 public PortableServer::RefCountServantBase
56 const PortableServer::ObjectId& oid,
57 PortableServer::POA_ptr poa
62 PortableServer::POA_ptr parentPoa,
67 CosEventChannelAdmin::ProxyPullSupplier_ptr
createObject();
85:
public virtual POA_CosEventChannelAdmin::ProxyPullSupplier,
93 CORBA::Any*
try_pull(CORBA::Boolean& has_event);
#define OMNIEVENTS__DEBUG_REF_COUNTS__DECL
Declares debug versions of _add/remove_ref().
Servant for CosEventChannelAdmin::EventChannel objects, also inherits from omni_thread.
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.
EventQueue & _queue
Reference to queue shared with ProxyPushSuppliers.
~ProxyPullSupplierManager()
int _maxNumProxies
Upper limit on number of proxies.
void disconnect()
Send disconnect_pull_consumer() to all connected PullConsumers.
const EventChannel_i & _channel
OMNIEVENTS__DEBUG_REF_COUNTS__DECL CosEventChannelAdmin::ProxyPullSupplier_ptr createObject()
ProxyPullSupplierManager(const EventChannel_i &channel, PortableServer::POA_ptr parentPoa, EventQueue &q)
PortableServer::Servant incarnate(const PortableServer::ObjectId &oid, PortableServer::POA_ptr poa)
Servant for ProxyPullSupplier interface.
void output(ostream &os)
Save this object's state to a stream.
ProxyPullSupplier_i(PortableServer::POA_ptr poa, EventQueue &q)
void touch()
Update the _timestamp to the current moment.
unsigned long timestamp() const
CORBA::Any * try_pull(CORBA::Boolean &has_event)
CosEventComm::PullConsumer_var _target
unsigned long _timestamp
Keep track of when this proxy was last contacted.
void disconnect_pull_supplier()
bool _connected
Can't use _target to keep track of whether this object is connected, because it is legal to connect w...
void connect_pull_consumer(CosEventComm::PullConsumer_ptr pullConsumer)
void reincarnate(const string &oid, const PersistNode &node)
Re-create a servant from information saved in the log file.