RT_StructuredProxyPushSupplier.cpp

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

Generated on Tue Feb 2 17:45:29 2010 for TAO_CosNotification by  doxygen 1.4.7