summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h54
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)