00001 // SequencePushSupplier.cpp,v 1.15 2006/03/15 21:29:09 jtc Exp 00002 00003 #include "orbsvcs/Notify/Sequence/SequencePushSupplier.h" 00004 00005 ACE_RCSID (Notify, TAO_Notify_SequencePushSupplier, "SequencePushSupplier.cpp,v 1.15 2006/03/15 21:29:09 jtc Exp") 00006 00007 #include "orbsvcs/Notify/Properties.h" 00008 00009 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00010 00011 TAO_Notify_SequencePushSupplier::TAO_Notify_SequencePushSupplier (TAO_Notify_ProxyConsumer* proxy) 00012 :TAO_Notify_Supplier (proxy) 00013 { 00014 } 00015 00016 TAO_Notify_SequencePushSupplier::~TAO_Notify_SequencePushSupplier () 00017 { 00018 } 00019 00020 void 00021 TAO_Notify_SequencePushSupplier::init (CosNotifyComm::SequencePushSupplier_ptr push_supplier ACE_ENV_ARG_DECL_NOT_USED) 00022 { 00023 // TODO: verify single init call 00024 // push_supplier is optional 00025 this->push_supplier_ = CosNotifyComm::SequencePushSupplier::_duplicate (push_supplier); 00026 this->subscribe_ = CosNotifyComm::NotifySubscribe::_duplicate (push_supplier); 00027 } 00028 00029 void 00030 TAO_Notify_SequencePushSupplier::release (void) 00031 { 00032 delete this; 00033 //@@ inform factory 00034 } 00035 00036 ACE_CString 00037 TAO_Notify_SequencePushSupplier::get_ior (void) const 00038 { 00039 ACE_CString result; 00040 CORBA::ORB_var orb = TAO_Notify_PROPERTIES::instance()->orb(); 00041 ACE_DECLARE_NEW_CORBA_ENV; 00042 ACE_TRY 00043 { 00044 CORBA::String_var ior = orb->object_to_string(this->push_supplier_.in() ACE_ENV_ARG_PARAMETER); 00045 ACE_TRY_CHECK; 00046 result = static_cast<const char*> (ior.in ()); 00047 } 00048 ACE_CATCHANY 00049 { 00050 result.fast_clear(); 00051 } 00052 ACE_ENDTRY; 00053 return result; 00054 } 00055 00056 TAO_END_VERSIONED_NAMESPACE_DECL