Base class for ServantActivator classes that manage Proxy servants. More...
#include <ProxyManager.h>
Public Member Functions | |
void | etherealize (const PortableServer::ObjectId &oid, PortableServer::POA_ptr adapter, PortableServer::Servant serv, CORBA::Boolean cleanup_in_progress, CORBA::Boolean remaining_activations) |
Implements etherealize() method from ServantActivator interface. | |
void | reincarnate (const PersistNode &node) |
Re-create servants from information saved in the log file. | |
void | output (ostream &os) |
Save this object's state to a stream. | |
Protected Member Functions | |
ProxyManager (PortableServer::POA_ptr poa) | |
virtual | ~ProxyManager () |
void | activate (const char *name) |
Creates the Proxy-type's POA, and registers this object as its ServantManager. | |
Protected Attributes | |
set< Proxy * > | _servants |
The set of all active Proxies in this object's _managedPoa. | |
PortableServer::POA_var | _managedPoa |
The POA owned & managed by this object. |
Base class for ServantActivator classes that manage Proxy servants.
Each ProxyManager manages its own POA (_managedPoa), with policies: PERSISTENT, USER_ID, NO_IMPLICIT_ACTIVATION, USE_SERVANT_MANAGER, SINGLE_THREAD_MODEL. This POA is only used to contain objects of a single Proxy type. Specific subclasses must implement incarnate() & createObject() methods.
Definition at line 57 of file ProxyManager.h.
OmniEvents::ProxyManager::ProxyManager | ( | PortableServer::POA_ptr | poa | ) | [protected] |
poa | parent POA. |
Definition at line 96 of file ProxyManager.cc.
OmniEvents::ProxyManager::~ProxyManager | ( | ) | [protected, virtual] |
Definition at line 152 of file ProxyManager.cc.
void OmniEvents::ProxyManager::activate | ( | const char * | name | ) | [protected] |
Creates the Proxy-type's POA, and registers this object as its ServantManager.
name | e.g. "ProxyPushSupplier". |
Definition at line 103 of file ProxyManager.cc.
References _managedPoa, OmniEvents::Servant::_poa, OmniEvents::Servant::activateObjectWithId(), and DB.
Referenced by OmniEvents::ProxyPullSupplierManager::ProxyPullSupplierManager(), OmniEvents::ProxyPushSupplierManager::ProxyPushSupplierManager(), and OmniEvents::ProxyPullConsumerManager::~ProxyPullConsumerManager().
void OmniEvents::ProxyManager::etherealize | ( | const PortableServer::ObjectId & | oid, | |
PortableServer::POA_ptr | adapter, | |||
PortableServer::Servant | serv, | |||
CORBA::Boolean | cleanup_in_progress, | |||
CORBA::Boolean | remaining_activations | |||
) |
Implements etherealize() method from ServantActivator interface.
Reimplemented in OmniEvents::ProxyPushSupplierManager.
Definition at line 41 of file ProxyManager.cc.
void OmniEvents::ProxyManager::output | ( | ostream & | os | ) |
Save this object's state to a stream.
Definition at line 87 of file ProxyManager.cc.
References _servants.
Referenced by OmniEvents::SupplierAdmin_i::output().
void OmniEvents::ProxyManager::reincarnate | ( | const PersistNode & | node | ) |
Re-create servants from information saved in the log file.
Definition at line 60 of file ProxyManager.cc.
References OmniEvents::PersistNode::_child, _managedPoa, _servants, DB, and OmniEvents::Proxy::reincarnate().
Referenced by OmniEvents::SupplierAdmin_i::reincarnate().
PortableServer::POA_var OmniEvents::ProxyManager::_managedPoa [protected] |
The POA owned & managed by this object.
Don't confuse it with _poa (inherited from class Servant) which points to the POA in which THIS object resides.
Definition at line 95 of file ProxyManager.h.
Referenced by activate(), OmniEvents::ProxyPushSupplierManager::createObject(), OmniEvents::ProxyPushSupplierManager::incarnate(), OmniEvents::ProxyPullSupplierManager::incarnate(), and reincarnate().
set<Proxy*> OmniEvents::ProxyManager::_servants [protected] |
The set of all active Proxies in this object's _managedPoa.
Definition at line 90 of file ProxyManager.h.
Referenced by OmniEvents::ProxyPushSupplierManager::disconnect(), OmniEvents::ProxyPullSupplierManager::disconnect(), OmniEvents::ProxyPushSupplierManager::etherealize(), etherealize(), OmniEvents::ProxyPushSupplierManager::incarnate(), OmniEvents::ProxyPullSupplierManager::incarnate(), output(), reincarnate(), and OmniEvents::ProxyPushSupplierManager::run_undetached().