ProxySupplier_T.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 /**
00004  *  @file ProxySupplier_T.h
00005  *
00006  *  ProxySupplier_T.h,v 1.10 2006/03/14 06:14:34 jtc Exp
00007  *
00008  *  @author Pradeep Gore <pradeep@oomworks.com>
00009  */
00010 
00011 #ifndef TAO_Notify_PROXYSUPPLIER_T_H
00012 #define TAO_Notify_PROXYSUPPLIER_T_H
00013 #include /**/ "ace/pre.h"
00014 
00015 #include "orbsvcs/Notify/notify_serv_export.h"
00016 
00017 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00018 # pragma once
00019 #endif /* ACE_LACKS_PRAGMA_ONCE */
00020 
00021 #include "orbsvcs/Notify/Proxy_T.h"
00022 #include "orbsvcs/Notify/ProxySupplier.h"
00023 
00024 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00025 
00026 /**
00027  * @class TAO_Notify_ProxySupplier_T
00028  *
00029  * @brief
00030  *
00031  */
00032 template <class SERVANT_TYPE>
00033 class TAO_Notify_ProxySupplier_T : public virtual TAO_Notify_Proxy_T <SERVANT_TYPE>, public virtual TAO_Notify_ProxySupplier
00034 {
00035 public:
00036   /// Constuctor
00037   TAO_Notify_ProxySupplier_T (void);
00038 
00039   /// Destructor
00040   ~TAO_Notify_ProxySupplier_T ();
00041 
00042   /// Notification of subscriptions set at the admin.
00043   virtual void admin_types_changed (const CosNotification::EventTypeSeq & added,
00044                                     const CosNotification::EventTypeSeq & removed
00045                                     ACE_ENV_ARG_DECL);
00046 
00047   ///= POA_Notify_Internal methods
00048   /// POA_Notify_Internal::Event_Forwarder method
00049   virtual void forward_structured (const CosNotification::StructuredEvent & event ACE_ENV_ARG_DECL)
00050     ACE_THROW_SPEC ((
00051                      CORBA::SystemException
00052                      ));
00053 
00054   /// POA_Notify_Internal::Event_Forwarder method
00055   virtual void forward_structured_no_filtering (const CosNotification::StructuredEvent & event ACE_ENV_ARG_DECL)
00056     ACE_THROW_SPEC ((
00057                      CORBA::SystemException
00058                      ));
00059 
00060   /// POA_Notify_Internal::Event_Forwarder method
00061   virtual void forward_any (const CORBA::Any & event ACE_ENV_ARG_DECL)
00062     ACE_THROW_SPEC ((
00063                      CORBA::SystemException
00064                      ));
00065 
00066   /// POA_Notify_Internal::Event_Forwarder method
00067   virtual void forward_any_no_filtering (const CORBA::Any & event ACE_ENV_ARG_DECL)
00068     ACE_THROW_SPEC ((
00069                      CORBA::SystemException
00070                      ));
00071 protected:
00072   //= Data Members
00073   CORBA::Boolean is_suspended_;
00074 
00075   // = Interface methods
00076   virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr MyAdmin (
00077     ACE_ENV_SINGLE_ARG_DECL
00078   )
00079   ACE_THROW_SPEC ((
00080     CORBA::SystemException
00081   ));
00082 
00083   virtual void suspend_connection (
00084     ACE_ENV_SINGLE_ARG_DECL
00085   )
00086   ACE_THROW_SPEC ((
00087     CORBA::SystemException,
00088     CosNotifyChannelAdmin::ConnectionAlreadyInactive,
00089     CosNotifyChannelAdmin::NotConnected
00090   ));
00091 
00092   virtual void resume_connection (
00093     ACE_ENV_SINGLE_ARG_DECL
00094   )
00095   ACE_THROW_SPEC ((
00096     CORBA::SystemException,
00097     CosNotifyChannelAdmin::ConnectionAlreadyActive,
00098     CosNotifyChannelAdmin::NotConnected
00099   ));
00100 
00101   virtual CosNotifyFilter::MappingFilter_ptr priority_filter (
00102     ACE_ENV_SINGLE_ARG_DECL
00103   )
00104   ACE_THROW_SPEC ((
00105     CORBA::SystemException
00106   ));
00107 
00108   virtual void priority_filter (
00109     CosNotifyFilter::MappingFilter_ptr priority_filter
00110     ACE_ENV_ARG_DECL
00111   )
00112   ACE_THROW_SPEC ((
00113     CORBA::SystemException
00114   ));
00115 
00116   virtual CosNotifyFilter::MappingFilter_ptr lifetime_filter (
00117     ACE_ENV_SINGLE_ARG_DECL
00118   )
00119   ACE_THROW_SPEC ((
00120     CORBA::SystemException
00121   ));
00122 
00123   virtual void lifetime_filter (
00124     CosNotifyFilter::MappingFilter_ptr lifetime_filter
00125     ACE_ENV_ARG_DECL
00126   )
00127   ACE_THROW_SPEC ((
00128     CORBA::SystemException
00129   ));
00130 
00131   virtual CosNotification::EventTypeSeq * obtain_offered_types (
00132     CosNotifyChannelAdmin::ObtainInfoMode mode
00133     ACE_ENV_ARG_DECL
00134   )
00135   ACE_THROW_SPEC ((
00136     CORBA::SystemException
00137   ));
00138 
00139   virtual void subscription_change (
00140     const CosNotification::EventTypeSeq & added,
00141     const CosNotification::EventTypeSeq & removed
00142     ACE_ENV_ARG_DECL
00143   )
00144   ACE_THROW_SPEC ((
00145     CORBA::SystemException,
00146     CosNotifyComm::InvalidEventType
00147   ));
00148 };
00149 
00150 TAO_END_VERSIONED_NAMESPACE_DECL
00151 
00152 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00153 #include "orbsvcs/Notify/ProxySupplier_T.cpp"
00154 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
00155 
00156 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
00157 #pragma implementation ("ProxySupplier_T.cpp")
00158 #endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
00159 
00160 #include /**/ "ace/post.h"
00161 #endif /* TAO_Notify_PROXYSUPPLIER_T_H */

Generated on Thu Nov 9 13:24:14 2006 for TAO_CosNotification by doxygen 1.3.6