00001 // -*- C++ -*- 00002 00003 /** 00004 * @file EC_SupplierAdmin.h 00005 * 00006 * EC_SupplierAdmin.h,v 1.32 2006/03/15 07:52:22 jtc Exp 00007 * 00008 * @author Carlos O'Ryan (coryan@cs.wustl.edu) 00009 * 00010 * Based on previous work by Tim Harrison (harrison@cs.wustl.edu) and 00011 * other members of the DOC group. More details can be found in: 00012 * 00013 * http://doc.ece.uci.edu/~coryan/EC/index.html 00014 */ 00015 00016 #ifndef TAO_EC_SUPPLIERADMIN_H 00017 #define TAO_EC_SUPPLIERADMIN_H 00018 00019 #include /**/ "ace/pre.h" 00020 00021 #include "orbsvcs/Event/EC_ProxyConsumer.h" 00022 00023 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00024 # pragma once 00025 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00026 00027 #include "orbsvcs/ESF/ESF_Peer_Admin.h" 00028 00029 #include /**/ "orbsvcs/Event/event_serv_export.h" 00030 00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00032 00033 class TAO_EC_Event_Channel_Base; 00034 class TAO_EC_ProxyPushSupplier; 00035 00036 /** 00037 * @class TAO_EC_SupplierAdmin 00038 * 00039 * @brief Implement the RtecEventChannelAdmin::SupplierAdmin interface. 00040 * 00041 * 00042 * <H2>Memory Management</H2> 00043 * It does not assume ownership of the TAO_EC_Event_Channel_Base object 00044 */ 00045 class TAO_RTEvent_Serv_Export TAO_EC_SupplierAdmin 00046 : public POA_RtecEventChannelAdmin::SupplierAdmin 00047 , public TAO_ESF_Peer_Admin<TAO_EC_Event_Channel_Base,TAO_EC_ProxyPushConsumer,RtecEventChannelAdmin::ProxyPushConsumer,TAO_EC_ProxyPushSupplier> 00048 { 00049 public: 00050 /// constructor... 00051 TAO_EC_SupplierAdmin (TAO_EC_Event_Channel_Base* event_channel); 00052 00053 /// destructor... 00054 virtual ~TAO_EC_SupplierAdmin (void); 00055 00056 // = The RtecEventChannelAdmin::SupplierAdmin methods... 00057 virtual RtecEventChannelAdmin::ProxyPushConsumer_ptr 00058 obtain_push_consumer (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) 00059 ACE_THROW_SPEC ((CORBA::SystemException)); 00060 00061 // = The PortableServer::ServantBase methods 00062 virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL); 00063 00064 private: 00065 /// Store the default POA. 00066 PortableServer::POA_var default_POA_; 00067 }; 00068 00069 TAO_END_VERSIONED_NAMESPACE_DECL 00070 00071 #include /**/ "ace/post.h" 00072 00073 #endif /* TAO_EC_SUPPLIERADMIN_H */