diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h b/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h new file mode 100644 index 00000000000..a277745f093 --- /dev/null +++ b/TAO/orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h @@ -0,0 +1,97 @@ +/* -*- C++ -*- */ +// $Id$ +// ========================================================================== +// +// = LIBRARY +// orbsvcs +// +// = FILENAME +// Notify_StructuredProxyPushSupplier_i.h +// +// = DESCRIPTION +// +// +// = AUTHOR +// Pradeep Gore <pradeep@cs.wustl.edu> +// +// ========================================================================== +#ifndef NOTIFY_STRUCTUREDPROXYPUSHSUPPLIER_I_H +#define NOTIFY_STRUCTUREDPROXYPUSHSUPPLIER_I_H + +#include "orbsvcs/orbsvcs/CosNotifyChannelAdminS.h" +#include "orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_i.h" +#include "orbsvcs/orbsvcs/Notify/NotifySubscribe_i.h" + +class TAO_Notify_ConsumerAdmin_i; + +class TAO_Notify_StructuredProxyPushSupplier_i : +public virtual POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier, + public virtual TAO_Notify_ProxySupplier_i, + public virtual TAO_NotifySubscribe_i +{ + // = TITLE + // TAO_Notify_StructuredProxyPushSupplier_i + // = DESCRIPTION + // + // + + public: + //Constructor + TAO_Notify_StructuredProxyPushSupplier_i (TAO_Notify_ConsumerAdmin_i &consumeradmin); + + //Destructor + virtual ~TAO_Notify_StructuredProxyPushSupplier_i (void); + + virtual void dispatch_event (const CORBA::Any & data, + CORBA::Environment &ACE_TRY_ENV); + // + + virtual void dispatch_event (const CosNotification::StructuredEvent& event, + CORBA::Environment &ACE_TRY_ENV); + + CosNotifyChannelAdmin::ProxySupplier_ptr get_ref (CORBA::Environment &ACE_TRY_ENV); + // convert to object ref. + + virtual void connect_structured_push_consumer + ( + CosNotifyComm::StructuredPushConsumer_ptr push_consumer, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + CosEventChannelAdmin::AlreadyConnected, + CosEventChannelAdmin::TypeError + )); + + virtual void suspend_connection ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + CosNotifyChannelAdmin::ConnectionAlreadyInactive, + CosNotifyChannelAdmin::NotConnected + )); + + virtual void resume_connection ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + CosNotifyChannelAdmin::ConnectionAlreadyActive, + CosNotifyChannelAdmin::NotConnected + )); + + // = CosNotifyComm::StructuredPushSupplier method + virtual void disconnect_structured_push_supplier ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + protected: + CosNotifyComm::StructuredPushConsumer_var push_consumer_; + // The consumer that we are connected with. +}; + +#endif /* NOTIFY_STRUCTUREDPROXYPUSHSUPPLIER_I_H */ |