00001 // -*- C++ -*- 00002 00003 /** 00004 * @file EC_Default_ProxyConsumer.h 00005 * 00006 * $Id: EC_Default_ProxyConsumer.h 77001 2007-02-12 07:54:49Z johnnyw $ 00007 * 00008 * @author Carlos O'Ryan (coryan@cs.wustl.edu) 00009 * @author Marina Spivak (marina@atdesk.com) 00010 * @author Jason Smith (jason@atdesk.com) 00011 * 00012 */ 00013 00014 #ifndef TAO_EC_DEFAULT_PROXYCONSUMER_H 00015 #define TAO_EC_DEFAULT_PROXYCONSUMER_H 00016 00017 #include /**/ "ace/pre.h" 00018 00019 #include "orbsvcs/RtecEventChannelAdminS.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 # pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #include "orbsvcs/Event/EC_ProxyConsumer.h" 00026 00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00028 00029 class TAO_EC_Event_Channel_Base; 00030 class TAO_EC_ProxyPushSupplier; 00031 class TAO_EC_Supplier_Filter; 00032 00033 /** 00034 * @class TAO_EC_Default_ProxyPushConsumer 00035 * 00036 * @brief implements RtecEventChannelAdmin::ProxyPushConsumer interface. 00037 * 00038 */ 00039 class TAO_RTEvent_Serv_Export TAO_EC_Default_ProxyPushConsumer : 00040 public POA_RtecEventChannelAdmin::ProxyPushConsumer, 00041 public TAO_EC_ProxyPushConsumer 00042 { 00043 public: 00044 00045 /// Constructor... 00046 TAO_EC_Default_ProxyPushConsumer (TAO_EC_Event_Channel_Base* event_channel); 00047 00048 /// Destructor... 00049 virtual ~TAO_EC_Default_ProxyPushConsumer (void); 00050 00051 virtual void activate ( 00052 RtecEventChannelAdmin::ProxyPushConsumer_ptr &proxy); 00053 00054 // = The RtecEventChannelAdmin::ProxyPushConsumer methods... 00055 virtual void connect_push_supplier ( 00056 RtecEventComm::PushSupplier_ptr push_supplier, 00057 const RtecEventChannelAdmin::SupplierQOS& qos); 00058 virtual void push (const RtecEventComm::EventSet& event); 00059 virtual void disconnect_push_consumer (void); 00060 00061 // = The Servant methods 00062 virtual PortableServer::POA_ptr _default_POA (void); 00063 virtual void _add_ref (void); 00064 virtual void _remove_ref (void); 00065 00066 private: 00067 00068 virtual PortableServer::ObjectId 00069 object_id (void); 00070 }; 00071 00072 TAO_END_VERSIONED_NAMESPACE_DECL 00073 00074 #include /**/ "ace/post.h" 00075 00076 #endif /* TAO_EC_DEFAULT_PROXYCONSUMER_H */