summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h440
1 files changed, 0 insertions, 440 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h
deleted file mode 100644
index 76992877c46..00000000000
--- a/TAO/orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h
+++ /dev/null
@@ -1,440 +0,0 @@
-//=============================================================================
-/**
- * @file Notify_ConsumerAdmin_i.h
- *
- * $Id$
- *
- * Implements the CosNotifyChannelAdmin::ConsumerAdmin interface.
- *
- *
- * @author Pradeep Gore <pradeep@cs.wustl.edu>
- */
-//=============================================================================
-
-#ifndef TAO_NOTIFY_CONSUMERADMIN_I_H
-#define TAO_NOTIFY_CONSUMERADMIN_I_H
-#include "ace/pre.h"
-#include "orbsvcs/CosNotifyChannelAdminS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-#pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "Notify_ID_Pool_T.h"
-#include "Notify_QoSAdmin_i.h"
-#include "Notify_FilterAdmin_i.h"
-#include "Notify_Event.h"
-#include "Notify_Listeners.h"
-#include "Notify_Collection.h"
-#include "notify_export.h"
-
-class TAO_Notify_EventChannel_i;
-class TAO_Notify_Event_Manager;
-class TAO_Notify_CO_Factory;
-class TAO_Notify_POA_Factory;
-class TAO_Notify_EMO_Factory;
-class TAO_Notify_Collection_Factory;
-class TAO_Notify_Worker_Task;
-class TAO_Notify_Event_Processor;
-
-#if defined(_MSC_VER)
-#if (_MSC_VER >= 1200)
-#pragma warning(push)
-#endif /* _MSC_VER >= 1200 */
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-/**
- * @class TAO_Notify_ConsumerAdmin_i
- *
- * @brief TAO_Notify_ConsumerAdmin_i
- *
- * Implements the CosNotifyChannelAdmin::ConsumerAdmin interface.
- */
-class TAO_Notify_Export TAO_Notify_ConsumerAdmin_i : public TAO_Notify_EventListener, public POA_CosNotifyChannelAdmin::ConsumerAdmin, public PortableServer::RefCountServantBase
-{
-
- public:
- /// Constructor
- /// <myChannel> is this objects parent.
- TAO_Notify_ConsumerAdmin_i (TAO_Notify_EventChannel_i* myChannel);
-
- /// Destructor
- virtual ~TAO_Notify_ConsumerAdmin_i (void);
-
- // = TAO_Notify_RefCounted
- virtual CORBA::ULong _incr_refcnt (void);
- virtual CORBA::ULong _decr_refcnt (void);
-
- // = The Servant methods
- virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL);
- virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL);
-
- //= TAO_Notify_EventListener methods
- /// Callback methods to supply the event to the listener.
- virtual void dispatch_event (TAO_Notify_Event &event ACE_ENV_ARG_DECL);
-
- /// Evaluates true if this event is acceptable by the listener.
- virtual CORBA::Boolean evaluate_filter (TAO_Notify_Event &event, CORBA::Boolean eval_parent ACE_ENV_ARG_DECL);
-
- /// Ask the listener to relinqish any bindings and prepare to be disposed.
- virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL);
-
- /// The Worker task associated with the event listener for event dispatching
- virtual TAO_Notify_Worker_Task* event_dispatch_task (void);
-
- /// The Worker task associated with the event listener for filter evaluation.
- ///= Admin Methods.
- virtual TAO_Notify_Worker_Task* filter_eval_task (void);
-
- /// Initialize the Consumer Admin.
- void init (CosNotifyChannelAdmin::AdminID myID,
- CosNotifyChannelAdmin::InterFilterGroupOperator myOperator,
- PortableServer::POA_ptr my_POA
- ACE_ENV_ARG_DECL);
-
- /// Return the CORBA object for this servant.
- CosNotifyChannelAdmin::ConsumerAdmin_ptr get_ref (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Accesor for the event manager.
- TAO_Notify_Event_Manager* get_event_manager (void);
-
- /// Get our filter admin.
- TAO_Notify_FilterAdmin_i& get_filter_admin (void);
-
- /// Deactivate servant from <proxy_pushsupplier_POA_>.
- void deactivate_proxy_pushsupplier (PortableServer::Servant servant ACE_ENV_ARG_DECL);
-
- /// Register with parent for subscription updates.
- void register_listener (TAO_Notify_EventListener *listener ACE_ENV_ARG_DECL);
-
- /// Unregister with parent from subscription updates.
- void unregister_listener (TAO_Notify_EventListener *listener ACE_ENV_ARG_DECL);
-
- /// This id is no longer in use.It can be reused by <proxy_pushsupplier_ids_>
- void proxy_pushsupplier_destroyed (CosNotifyChannelAdmin::ProxyID proxyID);
-
- // = Interface methods
- virtual CosNotifyChannelAdmin::AdminID MyID (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::EventChannel_ptr MyChannel (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::InterFilterGroupOperator MyOperator (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyFilter::MappingFilter_ptr priority_filter (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void priority_filter (
- CosNotifyFilter::MappingFilter_ptr priority_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyFilter::MappingFilter_ptr lifetime_filter (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void lifetime_filter (
- CosNotifyFilter::MappingFilter_ptr lifetime_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::ProxyIDSeq * pull_suppliers (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::ProxyIDSeq * push_suppliers (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotifyChannelAdmin::ProxySupplier_ptr get_proxy_supplier (
- CosNotifyChannelAdmin::ProxyID proxy_id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::ProxyNotFound
- ));
-
-virtual CosNotifyChannelAdmin::ProxySupplier_ptr obtain_notification_pull_supplier (
- CosNotifyChannelAdmin::ClientType ctype,
- CosNotifyChannelAdmin::ProxyID_out proxy_id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::AdminLimitExceeded
- ));
-
-virtual CosNotifyChannelAdmin::ProxySupplier_ptr obtain_notification_push_supplier (
- CosNotifyChannelAdmin::ClientType ctype,
- CosNotifyChannelAdmin::ProxyID_out proxy_id
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyChannelAdmin::AdminLimitExceeded
- ));
-
-virtual void destroy (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosNotification::QoSProperties * get_qos (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void set_qos (
- const CosNotification::QoSProperties & qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
-virtual void validate_qos (
- const CosNotification::QoSProperties & required_qos,
- CosNotification::NamedPropertyRangeSeq_out available_qos
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotification::UnsupportedQoS
- ));
-
-virtual void subscription_change (
- const CosNotification::EventTypeSeq & added,
- const CosNotification::EventTypeSeq & removed
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyComm::InvalidEventType
- ));
-
-virtual CosNotifyFilter::FilterID add_filter (
- CosNotifyFilter::Filter_ptr new_filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void remove_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ));
-
-virtual CosNotifyFilter::Filter_ptr get_filter (
- CosNotifyFilter::FilterID filter
- ACE_ENV_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- CosNotifyFilter::FilterNotFound
- ));
-
-virtual CosNotifyFilter::FilterIDSeq * get_all_filters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual void remove_all_filters (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-virtual CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier (
- ACE_ENV_SINGLE_ARG_DECL
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
-
-protected:
- // = Helper methods
- /// Destroy CA
- void destroy_i (ACE_ENV_SINGLE_ARG_DECL);
-
- /// Obtain a proxy pushsupplier object
- CORBA::Object_ptr obtain_struct_proxy_pushsupplier_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL);
-
- /// Obtain a structured proxy pushsupplier object.
- CORBA::Object_ptr obtain_proxy_pushsupplier_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL);
-
- /// Obtain a sequence proxy pushsupplier object.
- CORBA::Object_ptr obtain_sequence_proxy_pushsupplier_i (CosNotifyChannelAdmin::ProxyID proxy_id ACE_ENV_ARG_DECL);
-
- // = Data members
- /// The locking strategy.
- ACE_Lock* lock_;
-
- /// The reference count.
- CORBA::ULong refcount_;
-
- /// Flag to tell if the child poa's should be destroyed.
- CORBA::Boolean destory_child_POAs_;
-
- /// The channel to which we belong.
- TAO_Notify_EventChannel_i* event_channel_;
-
- /// The factory for channel objects.
- TAO_Notify_CO_Factory* channel_objects_factory_;
-
- /// The factory for POA based containers.
- TAO_Notify_POA_Factory* poa_factory_;
-
- /// Event manager objects factory,
- TAO_Notify_EMO_Factory* event_manager_objects_factory_;
-
- /// Collection objects factory
- TAO_Notify_Collection_Factory* collection_factory_;
-
- /// The event manager to use.
- TAO_Notify_Event_Manager* event_manager_;
-
- /// The inter filter operator to use.
- CosNotifyChannelAdmin::InterFilterGroupOperator filter_operator_;
-
- /// My ID.
- CosNotifyChannelAdmin::AdminID my_id_;
-
- /// The POA in which we live.
- PortableServer::POA_var my_POA_;
-
- /// The POA in which all our push suppliers live.
- /// We create and own this POA.
- PortableServer::POA_var proxy_pushsupplier_POA_;
-
- /// The list of event types that all our proxys are interested in receiving.
- TAO_Notify_EventType_List subscription_list_;
-
- /// The list of event listeners that have registered with us
- TAO_Notify_EventListener_List* event_listener_list_;
-
- /// Id generator for proxy push suppliers.
- TAO_Notify_ID_Pool_Ex<CosNotifyChannelAdmin::ProxyID,
- CosNotifyChannelAdmin::ProxyIDSeq> proxy_pushsupplier_ids_;
-
- /// Handle QoS admin methods.
- TAO_Notify_QoSAdmin_i qos_admin_;
-
- /// Handles the Filter Admin methods.
- TAO_Notify_FilterAdmin_i filter_admin_;
-
- /// The dispatching task to send events to a listener group affiliated with this admin.
- TAO_Notify_Worker_Task* dispatching_task_;
-
- /// The filter evaluation task for this admin.
- TAO_Notify_Worker_Task* filter_eval_task_;
-};
-
-/****************************************************************************************************/
-
-/**
- * @class TAO_Notify_Filter_Command_Worker
- *
- * @brief TAO_Notify_Filter_Command_Worker
- *
- * Enqueue each listener for the filter evaluation command.
- */
-class TAO_Notify_Export TAO_Notify_Filter_Command_Worker : public TAO_ESF_Worker<TAO_Notify_EventListener>
-{
-public:
- TAO_Notify_Filter_Command_Worker (TAO_Notify_Event* event, TAO_Notify_Event_Processor* event_processor, CORBA::Boolean eval_parent);
-
- // = TAO_ESF_Worker method
- void work (TAO_Notify_EventListener* listener ACE_ENV_ARG_DECL);
-
-protected:
- TAO_Notify_Event* event_;
- TAO_Notify_Event_Processor* event_processor_;
- CORBA::Boolean eval_parent_;
-};
-
-/****************************************************************************************************/
-
-/**
- * @class TAO_Notify_Dispatch_Command_Worker
- *
- * @brief TAO_Notify_Dispatch_Command_Worker
- *
- * Worker to invoke the dispatch command for each member of the collection.
- */
-class TAO_Notify_Export TAO_Notify_Dispatch_Command_Worker : public TAO_ESF_Worker<TAO_Notify_EventListener>
-{
-public:
- TAO_Notify_Dispatch_Command_Worker (TAO_Notify_Event* event, TAO_Notify_Event_Processor* event_processor);
- ~TAO_Notify_Dispatch_Command_Worker ();
-
- // = TAO_ESF_Worker method
- void work (TAO_Notify_EventListener* listener ACE_ENV_ARG_DECL);
-
-protected:
- TAO_Notify_Event* event_;
- TAO_Notify_Event_Processor* event_processor_;
-};
-
-/****************************************************************************************************/
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include "ace/post.h"
-#endif /* TAO_NOTIFY_CONSUMERADMIN_I_H */