00001 // -*- C++ -*- 00002 00003 /** 00004 * @file EC_Default_ProxySupplier.h 00005 * 00006 * EC_Default_ProxySupplier.h,v 1.9 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 #ifndef TAO_DEFAULT_EC_PROXYSUPPLIER_H 00014 #define TAO_DEFAULT_EC_PROXYSUPPLIER_H 00015 00016 #include /**/ "ace/pre.h" 00017 00018 #include "orbsvcs/RtecEventChannelAdminS.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 #include "orbsvcs/Event/EC_ProxySupplier.h" 00025 00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00027 00028 /** 00029 * @class TAO_EC_Default_ProxyPushSupplier 00030 * 00031 * @brief Implement the ReliableEventChannelAdmin::ProxyPushSupplier 00032 * interface 00033 */ 00034 class TAO_RTEvent_Serv_Export TAO_EC_Default_ProxyPushSupplier 00035 : public POA_RtecEventChannelAdmin::ProxyPushSupplier, 00036 public TAO_EC_ProxyPushSupplier 00037 { 00038 public: 00039 00040 /// Constructor... 00041 TAO_EC_Default_ProxyPushSupplier (TAO_EC_Event_Channel_Base* event_channel, int validate_connection); 00042 00043 /// Destructor... 00044 virtual ~TAO_EC_Default_ProxyPushSupplier (void); 00045 00046 void activate ( 00047 RtecEventChannelAdmin::ProxyPushSupplier_ptr &proxy 00048 ACE_ENV_ARG_DECL) 00049 ACE_THROW_SPEC ((CORBA::SystemException)); 00050 00051 /// IDL methods. 00052 virtual void connect_push_consumer ( 00053 RtecEventComm::PushConsumer_ptr push_consumer, 00054 const RtecEventChannelAdmin::ConsumerQOS &qos 00055 ACE_ENV_ARG_DECL) 00056 ACE_THROW_SPEC ((CORBA::SystemException, 00057 RtecEventChannelAdmin::AlreadyConnected, 00058 RtecEventChannelAdmin::TypeError)); 00059 virtual void disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) 00060 ACE_THROW_SPEC ((CORBA::SystemException)); 00061 virtual void suspend_connection (ACE_ENV_SINGLE_ARG_DECL) 00062 ACE_THROW_SPEC ((CORBA::SystemException)); 00063 virtual void resume_connection (ACE_ENV_SINGLE_ARG_DECL) 00064 ACE_THROW_SPEC ((CORBA::SystemException)); 00065 00066 // = The Servant methods 00067 virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); 00068 virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL); 00069 virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL); 00070 00071 private: 00072 00073 virtual PortableServer::ObjectId 00074 object_id (ACE_ENV_SINGLE_ARG_DECL) 00075 ACE_THROW_SPEC ((CORBA::SystemException)); 00076 }; 00077 00078 TAO_END_VERSIONED_NAMESPACE_DECL 00079 00080 #include /**/ "ace/post.h" 00081 00082 #endif /* TAO_EC_DEFAULT_PROXYSUPPLIER_H */