00001 // RT_StructuredProxyPushSupplier.cpp,v 1.16 2006/03/15 21:29:09 jtc Exp 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, "RT_StructuredProxyPushSupplier.cpp,v 1.16 2006/03/15 21:29:09 jtc Exp") 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 ACE_ENV_ARG_DECL) 00023 { 00024 CORBA::Object_var object = TAO_Notify_Proxy::activate (servant ACE_ENV_ARG_PARAMETER); 00025 ACE_CHECK_RETURN (CORBA::Object::_nil ()); 00026 00027 // Obtain our ref. 00028 CORBA::Object_var obj = this->ref (ACE_ENV_SINGLE_ARG_PARAMETER); 00029 ACE_CHECK_RETURN (CORBA::Object::_nil ()); 00030 00031 this->event_forwarder_ = Event_Forwarder::StructuredProxyPushSupplier::_narrow (obj.in () ACE_ENV_ARG_PARAMETER); 00032 00033 return object._retn (); 00034 } 00035 00036 CORBA::Object_ptr 00037 TAO_Notify_RT_StructuredProxyPushSupplier::activate (PortableServer::Servant , 00038 CORBA::Long ACE_ENV_ARG_DECL_NOT_USED) 00039 { 00040 return CORBA::Object::_nil (); 00041 } 00042 00043 void 00044 TAO_Notify_RT_StructuredProxyPushSupplier::deliver (TAO_Notify_Method_Request_Dispatch_No_Copy & request ACE_ENV_ARG_DECL) 00045 { 00046 ACE_TRY 00047 { 00048 request.event()->push (this->event_forwarder_.in () ACE_ENV_ARG_PARAMETER); 00049 ACE_TRY_CHECK; 00050 } 00051 ACE_CATCHANY 00052 { 00053 if (TAO_debug_level > 2) 00054 { 00055 ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "(%P|%t) TAO_Notify_RT_StructuredProxyPushSupplier::push failed\n"); 00056 } 00057 00058 } 00059 ACE_ENDTRY; 00060 } 00061 00062 void 00063 TAO_Notify_RT_StructuredProxyPushSupplier::push_no_filtering (const TAO_Notify_Event* event ACE_ENV_ARG_DECL) 00064 { 00065 ACE_TRY 00066 { 00067 event->push_no_filtering (this->event_forwarder_.in () ACE_ENV_ARG_PARAMETER); 00068 ACE_TRY_CHECK; 00069 } 00070 ACE_CATCHANY 00071 { 00072 if (TAO_debug_level > 2) 00073 { 00074 ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "(%P|%t) TAO_Notify_RT_StructuredProxyPushSupplier::push failed\n"); 00075 } 00076 00077 } 00078 ACE_ENDTRY; 00079 } 00080 00081 TAO_END_VERSIONED_NAMESPACE_DECL