00001 // CosEC_ProxyPushSupplier.cpp,v 1.11 2006/03/14 06:14:34 jtc Exp 00002 00003 #include "orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h" 00004 00005 ACE_RCSID (Notify, TAO_Notify_CosEC_ProxyPushSupplier, "CosEC_ProxyPushSupplier.cpp,v 1.11 2006/03/14 06:14:34 jtc Exp") 00006 00007 #include "tao/debug.h" 00008 #include "orbsvcs/Notify/Any/PushConsumer.h" 00009 00010 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00011 00012 TAO_Notify_CosEC_ProxyPushSupplier::TAO_Notify_CosEC_ProxyPushSupplier (void) 00013 { 00014 } 00015 00016 TAO_Notify_CosEC_ProxyPushSupplier::~TAO_Notify_CosEC_ProxyPushSupplier () 00017 { 00018 } 00019 00020 void 00021 TAO_Notify_CosEC_ProxyPushSupplier::release (void) 00022 { 00023 00024 delete this; 00025 //@@ inform factory 00026 } 00027 00028 void 00029 TAO_Notify_CosEC_ProxyPushSupplier::connect_push_consumer (CosEventComm::PushConsumer_ptr push_consumer 00030 ACE_ENV_ARG_DECL) 00031 ACE_THROW_SPEC (( 00032 CORBA::SystemException, 00033 CosEventChannelAdmin::AlreadyConnected, 00034 CosEventChannelAdmin::TypeError 00035 )) 00036 { 00037 // Convert Consumer to Base Type 00038 TAO_Notify_PushConsumer* consumer; 00039 ACE_NEW_THROW_EX (consumer, 00040 TAO_Notify_PushConsumer (this), 00041 CORBA::NO_MEMORY ()); 00042 00043 consumer->init (push_consumer ACE_ENV_ARG_PARAMETER); 00044 ACE_CHECK; 00045 00046 this->connect (consumer ACE_ENV_ARG_PARAMETER); 00047 } 00048 00049 void 00050 TAO_Notify_CosEC_ProxyPushSupplier::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) 00051 ACE_THROW_SPEC (( 00052 CORBA::SystemException 00053 )) 00054 { 00055 TAO_Notify_CosEC_ProxyPushSupplier::Ptr guard( this ); 00056 this->destroy (ACE_ENV_SINGLE_ARG_PARAMETER); 00057 } 00058 00059 const char * 00060 TAO_Notify_CosEC_ProxyPushSupplier::get_proxy_type_name (void) const 00061 { 00062 return "ec_proxy_push_supplier"; 00063 } 00064 00065 TAO_END_VERSIONED_NAMESPACE_DECL