blob: cd599fd37e2927dcd793a54ce74f40acd163a9e6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
// $Id$
#include "CSD_Object_Adapter.h"
#include "CSD_Strategy_Proxy.h"
#include "CSD_POA.h"
ACE_RCSID (CSD_Framework,
CSD_Object_Adapter,
"$Id$")
TAO_CSD_Object_Adapter::TAO_CSD_Object_Adapter (
const TAO_Server_Strategy_Factory::Active_Object_Map_Creation_Parameters &creation_parameters,
TAO_ORB_Core &orb_core)
: TAO_Object_Adapter (creation_parameters, orb_core)
{
}
TAO_CSD_Object_Adapter::~TAO_CSD_Object_Adapter ()
{
}
void
TAO_CSD_Object_Adapter::do_dispatch (
TAO_ServerRequest& req,
TAO::Portable_Server::Servant_Upcall& upcall
ACE_ENV_ARG_DECL)
{
TAO_Root_POA& poa = upcall.poa ();
TAO_CSD_POA* csd_poa = dynamic_cast<TAO_CSD_POA*> (&poa);
if (csd_poa == 0)
{
ACE_THROW (CORBA::BAD_PARAM ());
}
TAO::CSD::Strategy_Proxy& proxy
= csd_poa->servant_dispatching_strategy_proxy ();
proxy.dispatch_request (req, upcall ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
}
|