00001
00002
00003
00004
00005
00006
00007
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
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
00031
00032 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00033
00034
00035
00036
00037
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
00048 TAO_Notify_StructuredProxyPushConsumer (void);
00049
00050
00051 virtual ~TAO_Notify_StructuredProxyPushConsumer ();
00052
00053
00054 virtual void load_attrs (const TAO_Notify::NVPList& attrs);
00055
00056 protected:
00057
00058
00059 virtual CosNotifyChannelAdmin::ProxyType MyType (void);
00060
00061 virtual void connect_structured_push_supplier (
00062 CosNotifyComm::StructuredPushSupplier_ptr push_supplier
00063 );
00064
00065 virtual void push_structured_event (
00066 const CosNotification::StructuredEvent & notification
00067 );
00068
00069 virtual void disconnect_structured_push_consumer (
00070 );
00071
00072 virtual const char * get_proxy_type_name (void) const;
00073
00074 private:
00075
00076
00077 virtual void release (void);
00078 };
00079
00080 TAO_END_VERSIONED_NAMESPACE_DECL
00081
00082 #if defined(_MSC_VER)
00083 #pragma warning(pop)
00084 #endif
00085
00086 #include "ace/post.h"
00087
00088 #endif