ProxySupplier_T.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 /**
00004  *  @file ProxySupplier_T.h
00005  *
00006  *  $Id: ProxySupplier_T.h 81422 2008-04-24 12:33:29Z johnnyw $
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   /// Constructor
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 
00046   ///= POA_Notify_Internal methods
00047   /// POA_Notify_Internal::Event_Forwarder method
00048   virtual void forward_structured (const CosNotification::StructuredEvent & event);
00049 
00050   /// POA_Notify_Internal::Event_Forwarder method
00051   virtual void forward_structured_no_filtering (const CosNotification::StructuredEvent & event);
00052 
00053   /// POA_Notify_Internal::Event_Forwarder method
00054   virtual void forward_any (const CORBA::Any & event);
00055 
00056   /// POA_Notify_Internal::Event_Forwarder method
00057   virtual void forward_any_no_filtering (const CORBA::Any & event);
00058 protected:
00059   //= Data Members
00060   CORBA::Boolean is_suspended_;
00061 
00062   // = Interface methods
00063   virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr MyAdmin (
00064   );
00065 
00066   virtual void suspend_connection (
00067   );
00068 
00069   virtual void resume_connection (
00070   );
00071 
00072   virtual CosNotifyFilter::MappingFilter_ptr priority_filter (
00073   );
00074 
00075   virtual void priority_filter (
00076     CosNotifyFilter::MappingFilter_ptr priority_filter
00077   );
00078 
00079   virtual CosNotifyFilter::MappingFilter_ptr lifetime_filter (
00080   );
00081 
00082   virtual void lifetime_filter (
00083     CosNotifyFilter::MappingFilter_ptr lifetime_filter
00084   );
00085 
00086   virtual CosNotification::EventTypeSeq * obtain_offered_types (
00087     CosNotifyChannelAdmin::ObtainInfoMode mode
00088   );
00089 
00090   virtual void subscription_change (
00091     const CosNotification::EventTypeSeq & added,
00092     const CosNotification::EventTypeSeq & removed
00093   );
00094 };
00095 
00096 TAO_END_VERSIONED_NAMESPACE_DECL
00097 
00098 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00099 #include "orbsvcs/Notify/ProxySupplier_T.cpp"
00100 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
00101 
00102 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
00103 #pragma implementation ("ProxySupplier_T.cpp")
00104 #endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
00105 
00106 #include /**/ "ace/post.h"
00107 #endif /* TAO_Notify_PROXYSUPPLIER_T_H */

Generated on Tue Feb 2 17:45:29 2010 for TAO_CosNotification by  doxygen 1.4.7