00001 // -*- C++ -*- 00002 00003 /** 00004 * @file EC_Default_ProxyConsumer.h 00005 * 00006 * EC_Default_ProxyConsumer.h,v 1.10 2006/03/14 06:14:25 jtc Exp 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 ACE_ENV_ARG_DECL) 00054 ACE_THROW_SPEC ((CORBA::SystemException)); 00055 00056 // = The RtecEventChannelAdmin::ProxyPushConsumer methods... 00057 virtual void connect_push_supplier ( 00058 RtecEventComm::PushSupplier_ptr push_supplier, 00059 const RtecEventChannelAdmin::SupplierQOS& qos 00060 ACE_ENV_ARG_DECL) 00061 ACE_THROW_SPEC ((CORBA::SystemException, 00062 RtecEventChannelAdmin::AlreadyConnected)); 00063 virtual void push (const RtecEventComm::EventSet& event 00064 ACE_ENV_ARG_DECL) 00065 ACE_THROW_SPEC ((CORBA::SystemException)); 00066 virtual void disconnect_push_consumer (ACE_ENV_SINGLE_ARG_DECL) 00067 ACE_THROW_SPEC ((CORBA::SystemException)); 00068 00069 // = The Servant methods 00070 virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); 00071 virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); 00072 virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); 00073 00074 private: 00075 00076 virtual PortableServer::ObjectId 00077 object_id (ACE_ENV_SINGLE_ARG_DECL) 00078 ACE_THROW_SPEC ((CORBA::SystemException)); 00079 }; 00080 00081 TAO_END_VERSIONED_NAMESPACE_DECL 00082 00083 #include /**/ "ace/post.h" 00084 00085 #endif /* TAO_EC_DEFAULT_PROXYCONSUMER_H */