00001 // $Id: CEC_TypedSupplierAdmin.cpp 77001 2007-02-12 07:54:49Z johnnyw $ 00002 00003 #include "orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h" 00004 00005 #include "orbsvcs/CosEvent/CEC_TypedEventChannel.h" 00006 00007 #if ! defined (__ACE_INLINE__) 00008 #include "orbsvcs/CosEvent/CEC_TypedSupplierAdmin.inl" 00009 #endif /* __ACE_INLINE__ */ 00010 00011 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00012 00013 // Implementation skeleton constructor 00014 TAO_CEC_TypedSupplierAdmin::TAO_CEC_TypedSupplierAdmin (TAO_CEC_TypedEventChannel *ec) 00015 : typed_event_channel_ (ec), 00016 typed_push_admin_ (ec) 00017 { 00018 this->default_POA_ = 00019 this->typed_event_channel_->typed_supplier_poa (); 00020 } 00021 00022 // Implementation skeleton destructor 00023 TAO_CEC_TypedSupplierAdmin::~TAO_CEC_TypedSupplierAdmin (void) 00024 { 00025 } 00026 00027 PortableServer::POA_ptr 00028 TAO_CEC_TypedSupplierAdmin::_default_POA (void) 00029 { 00030 return PortableServer::POA::_duplicate (this->default_POA_.in ()); 00031 } 00032 00033 void 00034 TAO_CEC_TypedSupplierAdmin::connected (TAO_CEC_TypedProxyPushConsumer *consumer) 00035 { 00036 this->typed_push_admin_.connected (consumer); 00037 } 00038 00039 void 00040 TAO_CEC_TypedSupplierAdmin::reconnected (TAO_CEC_TypedProxyPushConsumer *consumer) 00041 { 00042 this->typed_push_admin_.reconnected (consumer); 00043 } 00044 00045 void 00046 TAO_CEC_TypedSupplierAdmin::disconnected (TAO_CEC_TypedProxyPushConsumer *consumer) 00047 { 00048 this->typed_push_admin_.disconnected (consumer); 00049 } 00050 00051 void 00052 TAO_CEC_TypedSupplierAdmin::shutdown (void) 00053 { 00054 this->typed_push_admin_.shutdown (); 00055 } 00056 00057 CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr 00058 TAO_CEC_TypedSupplierAdmin::obtain_typed_push_consumer ( 00059 const char * supported_interface 00060 ) 00061 00062 { 00063 int result = this->typed_event_channel_->supplier_register_supported_interface (supported_interface); 00064 00065 if (result == -1) 00066 { 00067 throw CosTypedEventChannelAdmin::InterfaceNotSupported (); 00068 } 00069 00070 return this->typed_push_admin_.obtain (); 00071 } 00072 00073 CosEventChannelAdmin::ProxyPullConsumer_ptr 00074 TAO_CEC_TypedSupplierAdmin::obtain_typed_pull_consumer ( 00075 const char * /* uses_interface */ 00076 ) 00077 00078 { 00079 throw CosTypedEventChannelAdmin::NoSuchImplementation (); 00080 } 00081 00082 CosEventChannelAdmin::ProxyPushConsumer_ptr 00083 TAO_CEC_TypedSupplierAdmin::obtain_push_consumer (void) 00084 { 00085 throw CORBA::NO_IMPLEMENT (); 00086 } 00087 00088 CosEventChannelAdmin::ProxyPullConsumer_ptr 00089 TAO_CEC_TypedSupplierAdmin::obtain_pull_consumer (void) 00090 { 00091 throw CORBA::NO_IMPLEMENT (); 00092 } 00093 00094 TAO_END_VERSIONED_NAMESPACE_DECL