StructuredPushSupplier.cpp

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

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