ProxyPushConsumer.h

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 /**
00003  *  @file ProxyPushConsumer.h
00004  *
00005  *  ProxyPushConsumer.h,v 1.23 2006/03/15 21:29:09 jtc Exp
00006  *
00007  *  @author Pradeep Gore <pradeep@oomworks.com>
00008  *
00009  *
00010  */
00011 
00012 #ifndef TAO_Notify_PROXYPUSHCONSUMER_H
00013 #define TAO_Notify_PROXYPUSHCONSUMER_H
00014 
00015 #include /**/ "ace/pre.h"
00016 
00017 #include "orbsvcs/Notify/notify_serv_export.h"
00018 
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif /* ACE_LACKS_PRAGMA_ONCE */
00022 
00023 #include "orbsvcs/CosNotifyChannelAdminS.h"
00024 #include "orbsvcs/Notify/ProxyConsumer_T.h"
00025 
00026 #if defined(_MSC_VER)
00027 #pragma warning(push)
00028 #pragma warning(disable:4250)
00029 #endif /* _MSC_VER */
00030 
00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00032 
00033 /**
00034  * @class TAO_Notify_ProxyPushConsumer
00035  *
00036  * @brief
00037  *
00038  */
00039 class TAO_Notify_Serv_Export TAO_Notify_ProxyPushConsumer
00040   : public virtual TAO_Notify_ProxyConsumer_T <
00041                        POA_CosNotifyChannelAdmin::ProxyPushConsumer
00042                      >
00043 {
00044  typedef TAO_Notify_ProxyConsumer_T <POA_CosNotifyChannelAdmin::ProxyPushConsumer> SuperClass;
00045  friend class TAO_Notify_Builder;
00046 public:
00047   /// Constuctor
00048   TAO_Notify_ProxyPushConsumer (void);
00049 
00050   /// Destructor
00051   virtual ~TAO_Notify_ProxyPushConsumer ();
00052 
00053 
00054 //  virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL);
00055   virtual const char * get_proxy_type_name (void) const;
00056 
00057   virtual void load_attrs (const TAO_Notify::NVPList& attrs);
00058 
00059 protected:
00060   ///= CosNotifyChannelAdmin::ProxyPushConsumer methods
00061 
00062   virtual CosNotifyChannelAdmin::ProxyType MyType (ACE_ENV_SINGLE_ARG_DECL)
00063     ACE_THROW_SPEC ((
00064                      CORBA::SystemException
00065                      ));
00066 
00067   virtual void push (const CORBA::Any & data ACE_ENV_ARG_DECL)
00068     ACE_THROW_SPEC ((
00069                    CORBA::SystemException,
00070                    CosEventComm::Disconnected
00071                    ));
00072 
00073   virtual void connect_any_push_supplier (CosEventComm::PushSupplier_ptr push_supplier ACE_ENV_ARG_DECL)
00074     ACE_THROW_SPEC ((
00075                      CORBA::SystemException,
00076                      CosEventChannelAdmin::AlreadyConnected
00077                      ));
00078 
00079   virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL)
00080     ACE_THROW_SPEC ((
00081                      CORBA::SystemException
00082                      ));
00083 
00084 private:
00085   /// Release
00086   virtual void release (void);
00087 };
00088 
00089 TAO_END_VERSIONED_NAMESPACE_DECL
00090 
00091 #if defined(_MSC_VER)
00092 #pragma warning(pop)
00093 #endif /* _MSC_VER */
00094 
00095 #include /**/ "ace/post.h"
00096 #endif /* TAO_Notify_PROXYPUSHCONSUMER_H */

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