00001 // -*- C++ -*- 00002 00003 /** 00004 * @file EC_Default_ProxySupplier.h 00005 * 00006 * $Id: EC_Default_ProxySupplier.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 #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 00049 /// IDL methods. 00050 virtual void connect_push_consumer ( 00051 RtecEventComm::PushConsumer_ptr push_consumer, 00052 const RtecEventChannelAdmin::ConsumerQOS &qos); 00053 virtual void disconnect_push_supplier (void); 00054 virtual void suspend_connection (void); 00055 virtual void resume_connection (void); 00056 00057 // = The Servant methods 00058 virtual PortableServer::POA_ptr _default_POA (void); 00059 virtual void _add_ref (void); 00060 virtual void _remove_ref (void); 00061 00062 private: 00063 00064 virtual PortableServer::ObjectId 00065 object_id (void); 00066 }; 00067 00068 TAO_END_VERSIONED_NAMESPACE_DECL 00069 00070 #include /**/ "ace/post.h" 00071 00072 #endif /* TAO_EC_DEFAULT_PROXYSUPPLIER_H */