diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h | 54 |
1 files changed, 15 insertions, 39 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h index a4459325de7..2aa6e71e32e 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h +++ b/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h @@ -34,15 +34,7 @@ #pragma warning(disable:4250) #endif /* _MSC_VER */ -class TAO_Notify_CO_Factory; -class TAO_Notify_POA_Factory; - -// @@ Pradeep: here is a crazy idea: some people may want to create -// event channels as separate processes, for protection purposes. You -// may need to strategize this class to be able to do so... You could -// probably use the ImplRepo or something similar to make that work -// portably. I don't mean that you should do that right now, but -// consider it in your design. +class TAO_Notify_Resource_Manager; class TAO_Notify_Export TAO_Notify_EventChannelFactory_i : public virtual POA_CosNotifyChannelAdmin::EventChannelFactory, public virtual PortableServer::RefCountServantBase { @@ -66,17 +58,11 @@ public: CosNotifyChannelAdmin::EventChannelFactory_ptr get_ref (CORBA::Environment &ACE_TRY_ENV); // Get the CORBA object. - void shutdown (CORBA::Environment &ACE_TRY_ENV, CORBA::Boolean destroy_children = 0); - // Destroy the factory - // By default, the factory's lifetime is not coupled with its creations - // Setting the <destroy_children> flag to 'true' will destory all event_channels that were created by this factory. - void event_channel_destroyed (CosNotifyChannelAdmin::ChannelID channel_id); // Called by child EC's when they're about to go away. - // = Accesors - CosNotifyFilter::FilterFactory_ptr get_default_filter_factory (void); - // Accesor for the default filter factory shared by all EC's. + TAO_Notify_Resource_Manager* get_resource_manager (void); + // Get the resource manager; // = CosNotifyChannelAdmin::EventChannelFactory methods. virtual CosNotifyChannelAdmin::EventChannel_ptr create_channel ( @@ -114,33 +100,23 @@ virtual CosNotifyChannelAdmin::EventChannel_ptr get_event_channel ( void init_i (PortableServer::POA_ptr default_POA, CORBA::Environment &ACE_TRY_ENV); // Initializes this object. - CosNotifyFilter::FilterFactory_ptr create_default_filter_factory_i (CORBA::Environment& ACE_TRY_ENV); - // Create the default filter factory. + void cleanup_i (void); + // Cleanup this object. // = Data members - TAO_Notify_CO_Factory* channel_objects_factory_; - // The factory for channel objects. - - TAO_Notify_POA_Factory* poa_factory_; - // The factory for POA based containers. - - PortableServer::POA_var my_POA_; - // The POA in which we live. - // Filter objects and COS EC style proxys live here too. - - PortableServer::POA_var ec_POA_; - // The POA in which we should activate EC's in. - // We create and own this. + TAO_Notify_Resource_Manager* resource_manager_; + // This factory is owned by the Event Channel Factory. - TAO_Notify_ID_Pool_Ex<CosNotifyChannelAdmin::ChannelID, - CosNotifyChannelAdmin::ChannelIDSeq> ec_ids_; - // Id generator for event channels + PortableServer::POA_var my_POA_; + // The POA in which we live. - ACE_Lock* lock_; - // The locking strategy. + PortableServer::POA_var ec_POA_; + // The POA in which we should activate EC's in. + // We create and own this. - CosNotifyFilter::FilterFactory_var default_filter_factory_; - // The default filter factory. + TAO_Notify_ID_Pool_Ex<CosNotifyChannelAdmin::ChannelID, + CosNotifyChannelAdmin::ChannelIDSeq> ec_ids_; + // Id generator for event channels }; #if defined(_MSC_VER) && (_MSC_VER >= 1200) |