SequencePushSupplier.cpp

Go to the documentation of this file.
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

Generated on Thu Nov 9 13:24:16 2006 for TAO_CosNotification by doxygen 1.3.6