diff options
author | pradeep <pradeep@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-10-27 06:12:33 +0000 |
---|---|---|
committer | pradeep <pradeep@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-10-27 06:12:33 +0000 |
commit | 8e1a1b526f8328bb95a7391c7a91f758f17424d6 (patch) | |
tree | a41933d575c62d7a0065ee6cf2cf860b6cfd9c4e /TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h | |
parent | 5abe58867a946df8662a9ebc3946881dc14e012f (diff) | |
download | ATCD-8e1a1b526f8328bb95a7391c7a91f758f17424d6.tar.gz |
ChangeLogTag:Sun Oct 27 01:04:09 2002 Pradeep Gore <pradeep@oomworks.com>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h new file mode 100644 index 00000000000..1364569e244 --- /dev/null +++ b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier_T.h @@ -0,0 +1,162 @@ +/* -*- C++ -*- */ +/** + * @file ProxySupplier_T.h + * + * $Id$ + * + * @author Pradeep Gore <pradeep@oomworks.com> + * + * + */ + +#ifndef TAO_NS_PROXYSUPPLIER_T_H +#define TAO_NS_PROXYSUPPLIER_T_H +#include "ace/pre.h" + +#include "notify_export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "Proxy_T.h" +#include "ProxySupplier.h" + +/** + * @class TAO_NS_ProxySupplier_T + * + * @brief + * + */ +template <class SERVANT_TYPE> +class TAO_NS_ProxySupplier_T : public virtual TAO_NS_Proxy_T <SERVANT_TYPE>, public virtual TAO_NS_ProxySupplier +{ +public: + /// Constuctor + TAO_NS_ProxySupplier_T (void); + + /// Destructor + ~TAO_NS_ProxySupplier_T (); + + /// Notification of subscriptions set at the admin. + virtual void admin_subscription (const CosNotification::EventTypeSeq & added, + const CosNotification::EventTypeSeq & removed + ACE_ENV_ARG_DECL); + + ///= POA_Notify_Internal methods + /// POA_Notify_Internal::Event_Forwarder method + virtual void forward_structured (const CosNotification::StructuredEvent & event ACE_ENV_ARG_DECL) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + /// POA_Notify_Internal::Event_Forwarder method + virtual void forward_structured_no_filtering (const CosNotification::StructuredEvent & event ACE_ENV_ARG_DECL) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + /// POA_Notify_Internal::Event_Forwarder method + virtual void forward_any (const CORBA::Any & event ACE_ENV_ARG_DECL) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + /// POA_Notify_Internal::Event_Forwarder method + virtual void forward_any_no_filtering (const CORBA::Any & event ACE_ENV_ARG_DECL) + ACE_THROW_SPEC (( + CORBA::SystemException + )); +protected: + //= Data Members + CORBA::Boolean is_suspended_; + + // = Interface methods + virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr MyAdmin ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual void suspend_connection ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + CosNotifyChannelAdmin::ConnectionAlreadyInactive, + CosNotifyChannelAdmin::NotConnected + )); + + virtual void resume_connection ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + CosNotifyChannelAdmin::ConnectionAlreadyActive, + CosNotifyChannelAdmin::NotConnected + )); + + 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 CosNotification::EventTypeSeq * obtain_offered_types ( + CosNotifyChannelAdmin::ObtainInfoMode mode + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual void subscription_change ( + const CosNotification::EventTypeSeq & added, + const CosNotification::EventTypeSeq & removed + ACE_ENV_ARG_DECL + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + CosNotifyComm::InvalidEventType + )); +}; + +#if defined (__ACE_INLINE__) +#include "ProxySupplier_T.inl" +#endif /* __ACE_INLINE__ */ + +#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) +#include "ProxySupplier_T.cpp" +#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ + +#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) +#pragma implementation ("ProxySupplier_T.cpp") +#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ + +#include "ace/post.h" +#endif /* TAO_NS_PROXYSUPPLIER_T_H */ |