00001 // $Id: CSD_Object_Adapter.cpp 76947 2007-02-07 20:26:03Z johnnyw $ 00002 00003 #include "tao/CSD_Framework/CSD_Object_Adapter.h" 00004 #include "tao/CSD_Framework/CSD_Strategy_Proxy.h" 00005 #include "tao/CSD_Framework/CSD_POA.h" 00006 00007 ACE_RCSID (CSD_Framework, 00008 CSD_Object_Adapter, 00009 "$Id: CSD_Object_Adapter.cpp 76947 2007-02-07 20:26:03Z johnnyw $") 00010 00011 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00012 00013 TAO_CSD_Object_Adapter::TAO_CSD_Object_Adapter ( 00014 const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters, 00015 TAO_ORB_Core &orb_core) 00016 : TAO_Object_Adapter (creation_parameters, orb_core) 00017 { 00018 00019 } 00020 00021 TAO_CSD_Object_Adapter::~TAO_CSD_Object_Adapter () 00022 { 00023 } 00024 00025 void 00026 TAO_CSD_Object_Adapter::do_dispatch ( 00027 TAO_ServerRequest& req, 00028 TAO::Portable_Server::Servant_Upcall& upcall) 00029 { 00030 TAO_Root_POA& poa = upcall.poa (); 00031 TAO_CSD_POA* csd_poa = dynamic_cast<TAO_CSD_POA*> (&poa); 00032 00033 if (csd_poa == 0) 00034 { 00035 throw ::CORBA::BAD_PARAM (); 00036 } 00037 00038 TAO::CSD::Strategy_Proxy& proxy 00039 = csd_poa->servant_dispatching_strategy_proxy (); 00040 proxy.dispatch_request (req, upcall); 00041 } 00042 00043 TAO_END_VERSIONED_NAMESPACE_DECL