00001 // $Id: RT_StructuredProxyPushSupplier.cpp 76589 2007-01-25 18:04:11Z elliott_c $ 00002 00003 #include "orbsvcs/Notify/Structured/RT_StructuredProxyPushSupplier.h" 00004 #include "tao/debug.h" 00005 00006 #include "tao/debug.h" 00007 #include "orbsvcs/Notify/Method_Request_Dispatch.h" 00008 00009 ACE_RCSID (Notify, TAO_Notify_RT_StructuredProxyPushSupplier, "$Id: RT_StructuredProxyPushSupplier.cpp 76589 2007-01-25 18:04:11Z elliott_c $") 00010 00011 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00012 00013 TAO_Notify_RT_StructuredProxyPushSupplier::TAO_Notify_RT_StructuredProxyPushSupplier (void) 00014 { 00015 } 00016 00017 TAO_Notify_RT_StructuredProxyPushSupplier::~TAO_Notify_RT_StructuredProxyPushSupplier () 00018 { 00019 } 00020 00021 CORBA::Object_ptr 00022 TAO_Notify_RT_StructuredProxyPushSupplier::activate (PortableServer::Servant servant) 00023 { 00024 CORBA::Object_var object = TAO_Notify_Proxy::activate (servant); 00025 00026 // Obtain our ref. 00027 CORBA::Object_var obj = this->ref (); 00028 00029 this->event_forwarder_ = Event_Forwarder::StructuredProxyPushSupplier::_narrow (obj.in ()); 00030 00031 return object._retn (); 00032 } 00033 00034 CORBA::Object_ptr 00035 TAO_Notify_RT_StructuredProxyPushSupplier::activate (PortableServer::Servant , 00036 CORBA::Long) 00037 { 00038 return CORBA::Object::_nil (); 00039 } 00040 00041 void 00042 TAO_Notify_RT_StructuredProxyPushSupplier::deliver (TAO_Notify_Method_Request_Dispatch_No_Copy & request) 00043 { 00044 try 00045 { 00046 request.event()->push (this->event_forwarder_.in ()); 00047 } 00048 catch (const CORBA::Exception& ex) 00049 { 00050 if (TAO_debug_level > 2) 00051 { 00052 ex._tao_print_exception ( 00053 "(%P|%t) TAO_Notify_RT_StructuredProxyPushSupplier::push failed\n"); 00054 } 00055 00056 } 00057 } 00058 00059 void 00060 TAO_Notify_RT_StructuredProxyPushSupplier::push_no_filtering (const TAO_Notify_Event* event) 00061 { 00062 try 00063 { 00064 event->push_no_filtering (this->event_forwarder_.in ()); 00065 } 00066 catch (const CORBA::Exception& ex) 00067 { 00068 if (TAO_debug_level > 2) 00069 { 00070 ex._tao_print_exception ( 00071 "(%P|%t) TAO_Notify_RT_StructuredProxyPushSupplier::push failed\n"); 00072 } 00073 00074 } 00075 } 00076 00077 TAO_END_VERSIONED_NAMESPACE_DECL