00001 // -*- C++ -*- 00002 00003 /** 00004 * @file EC_SupplierAdmin.h 00005 * 00006 * $Id: EC_SupplierAdmin.h 77001 2007-02-12 07:54:49Z johnnyw $ 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 (void); 00059 00060 // = The PortableServer::ServantBase methods 00061 virtual PortableServer::POA_ptr _default_POA (void); 00062 00063 private: 00064 /// Store the default POA. 00065 PortableServer::POA_var default_POA_; 00066 }; 00067 00068 TAO_END_VERSIONED_NAMESPACE_DECL 00069 00070 #include /**/ "ace/post.h" 00071 00072 #endif /* TAO_EC_SUPPLIERADMIN_H */