StructuredProxyPushConsumer.h

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 /**
00003  *  @file StructuredProxyPushConsumer.h
00004  *
00005  *  StructuredProxyPushConsumer.h,v 1.20 2006/03/15 21:29:10 jtc Exp
00006  *
00007  *  @author Pradeep Gore <pradeep@oomworks.com>
00008  *
00009  *
00010  */
00011 
00012 #ifndef TAO_Notify_STRUCTUREDPROXYPUSHCONSUMER_H
00013 #define TAO_Notify_STRUCTUREDPROXYPUSHCONSUMER_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 
00025 #include "orbsvcs/Notify/ProxyConsumer_T.h"
00026 
00027 #if defined(_MSC_VER)
00028 #pragma warning(push)
00029 #pragma warning(disable:4250)
00030 #endif /* _MSC_VER */
00031 
00032 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00033 
00034 /**
00035  * @class TAO_Notify_StructuredProxyPushConsumer
00036  *
00037  * @brief CosNotifyChannelAdmin::StructuredProxyPushConsumer implementation.
00038  *
00039  */
00040 class TAO_Notify_Serv_Export TAO_Notify_StructuredProxyPushConsumer
00041   : public virtual TAO_Notify_ProxyConsumer_T <POA_CosNotifyChannelAdmin::StructuredProxyPushConsumer>
00042 {
00043   typedef TAO_Notify_ProxyConsumer_T <POA_CosNotifyChannelAdmin::StructuredProxyPushConsumer> SuperClass;
00044   friend class TAO_Notify_Builder;
00045 
00046 public:
00047   /// Constuctor
00048   TAO_Notify_StructuredProxyPushConsumer (void);
00049 
00050   /// Destructor
00051   virtual ~TAO_Notify_StructuredProxyPushConsumer ();
00052 
00053 
00054   virtual void load_attrs (const TAO_Notify::NVPList& attrs);
00055 
00056 protected:
00057 
00058   // = interface methods
00059   virtual CosNotifyChannelAdmin::ProxyType MyType (ACE_ENV_SINGLE_ARG_DECL)
00060     ACE_THROW_SPEC ((
00061                      CORBA::SystemException
00062                      ));
00063 
00064   virtual void connect_structured_push_supplier (
00065     CosNotifyComm::StructuredPushSupplier_ptr push_supplier
00066     ACE_ENV_ARG_DECL
00067   )
00068   ACE_THROW_SPEC ((
00069     CORBA::SystemException,
00070     CosEventChannelAdmin::AlreadyConnected
00071   ));
00072 
00073   virtual void push_structured_event (
00074       const CosNotification::StructuredEvent & notification
00075       ACE_ENV_ARG_DECL
00076     )
00077     ACE_THROW_SPEC ((
00078       CORBA::SystemException,
00079       CosEventComm::Disconnected
00080     ));
00081 
00082   virtual void disconnect_structured_push_consumer (
00083     ACE_ENV_SINGLE_ARG_DECL
00084   )
00085   ACE_THROW_SPEC ((
00086     CORBA::SystemException
00087   ));
00088 
00089   virtual const char * get_proxy_type_name (void) const;
00090 
00091 private:
00092 
00093   /// Release
00094   virtual void release (void);
00095 };
00096 
00097 TAO_END_VERSIONED_NAMESPACE_DECL
00098 
00099 #if defined(_MSC_VER)
00100 #pragma warning(pop)
00101 #endif /* _MSC_VER */
00102 
00103 #include /**/ "ace/post.h"
00104 
00105 #endif /* TAO_Notify_STRUCTUREDPROXYPUSHCONSUMER_H */

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