blob: b8e5f6df19db8275892aeb34e27f750b3d73b2ac (
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
43
44
45
46
47
48
49
50
|
// $Id$
#include "RT_ORB_Loader.h"
#include "RT_ORB.h"
#include "RT_Current.h"
#include "tao/ORB_Core.h"
#include "tao/Priority_Mapping_Manager.h"
ACE_RCSID(TAO, RT_ORB_Loader, "$Id: ")
TAO_RT_ORB_Loader::TAO_RT_ORB_Loader (void)
{
}
CORBA::Object_ptr
TAO_RT_ORB_Loader::create_object (CORBA::ORB_ptr orb,
int,
char *[],
CORBA::Environment &)
ACE_THROW_SPEC (())
{
/// Return RT_ORB
CORBA::Object_ptr obj;
ACE_NEW_RETURN (obj,
TAO_RT_ORB,
CORBA::Object::_nil ());
/// Sets the RT_Current object and Priority_Mapping_Manager
/// in the ORB.
this->set_objects (orb->orb_core ());
return obj;
}
void
TAO_RT_ORB_Loader::set_objects (TAO_ORB_Core *orb_core)
{
/// Setup the RT_Current object in the ORB
CORBA::Object_var current = new TAO_RT_Current (orb_core);
orb_core->rt_current (current.in ());
}
ACE_FACTORY_DEFINE (TAO, TAO_RT_ORB_Loader)
ACE_STATIC_SVC_DEFINE (TAO_RT_ORB_Loader,
ACE_TEXT ("RT_ORB_Loader"),
ACE_SVC_OBJ_T,
&ACE_SVC_NAME (TAO_RT_ORB_Loader),
ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
0)
|