blob: 24578aa664ced8185e949a83be5348e596a7b46c (
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
// $Id$
#include "NodeApp_CB_Impl.h"
CIAO::NodeApplication_Callback_Impl::
NodeApplication_Callback_Impl (CORBA::ORB_ptr o,
PortableServer::POA_ptr p,
Deployment::NodeApplicationManager_ptr s,
const Deployment::Properties &properties)
ACE_THROW_SPEC ((CORBA::SystemException))
: orb_ (CORBA::ORB::_duplicate (o)),
poa_ (PortableServer::POA::_duplicate (p)),
nam_ (Deployment::NodeApplicationManager::_duplicate (s))
{
ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
//@@ Note: this properties is useless unless
// we have some specific properties for the callback obj.
Deployment::Properties * tmp = 0;
ACE_NEW_THROW_EX (tmp,
Deployment::Properties (properties),
CORBA::NO_MEMORY ());
ACE_TRY_CHECK;
this->properties_ = tmp;
}
ACE_CATCHANY
{
ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
"NodeApp_CB_Impl::Constructor\t\n");
ACE_RE_THROW;
}
ACE_ENDTRY;
ACE_CHECK;
}
CIAO::NodeApplication_Callback_Impl::~NodeApplication_Callback_Impl ()
{
}
PortableServer::POA_ptr
CIAO::NodeApplication_Callback_Impl::_default_POA (void)
{
return PortableServer::POA::_duplicate (this->poa_.in ());
}
Deployment::NodeApplicationManager_ptr
CIAO::NodeApplication_Callback_Impl::register_node_application (
Deployment::NodeApplication_ptr na,
Deployment::Properties_out properties
ACE_ENV_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
properties = this->properties_._retn ();
this->nodeapp_ = Deployment::NodeApplication::_duplicate (na);
return Deployment::NodeApplicationManager::_duplicate (this->nam_.in ());
}
Deployment::NodeApplication_ptr
CIAO::NodeApplication_Callback_Impl::get_nodeapp_ref (void)
{
// @@ (OO) How are you relinquishing ownership here? Since you're
// duplicating the reference you actually maintain
// ownership. Is the below comment wrong, or is the code
// wrong?
// Relinquish the ownership of the nodeapplication reference.
//This method should only be called from the NodeApplicationManager.
return Deployment::NodeApplication::_duplicate (this->nodeapp_.in ());
}
|