blob: 62d20c6490a9b818e56ec6538974b1a466fbdb06 (
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
71
72
|
// $Id$
#include "Container.h"
#include "ThreadPool_Task.h"
#include "POA_Helper.h"
#if ! defined (__ACE_INLINE__)
#include "Container.inl"
#endif /* __ACE_INLINE__ */
ACE_RCSID(RT_Notify, TAO_NS_Container, "$Id$")
TAO_NS_Container::TAO_NS_Container (void)
:object_poa_ (0), proxy_poa_ (0), delete_object_poa_ (0), delete_proxy_poa_ (0)
{
}
TAO_NS_Container::~TAO_NS_Container ()
{
}
void
TAO_NS_Container::init (TAO_NS_POA_Helper* poa, TAO_NS_Worker_Task* worker_task, TAO_NS_POA_Helper* object_poa, TAO_NS_POA_Helper* proxy_poa ACE_ENV_ARG_DECL)
{
TAO_NS_Object::init (poa, worker_task ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
object_poa_ = object_poa;
proxy_poa_ = proxy_poa;
}
void
TAO_NS_Container::cleanup (ACE_ENV_SINGLE_ARG_DECL)
{
if (delete_object_poa_ == 1)
{
object_poa_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
delete object_poa_;
}
if (delete_proxy_poa_ == 1)
{
proxy_poa_->destroy (ACE_ENV_SINGLE_ARG_PARAMETER);
delete proxy_poa_;
}
}
void
TAO_NS_Container::object_poa (TAO_NS_POA_Helper* object_poa)
{
object_poa_ = object_poa;
delete_object_poa_ = 1;
}
TAO_NS_POA_Helper*
TAO_NS_Container::object_poa (void)
{
return this->object_poa_;
}
void
TAO_NS_Container::proxy_poa (TAO_NS_POA_Helper* proxy_poa)
{
proxy_poa_ = proxy_poa;
delete_proxy_poa_ = 1;
}
TAO_NS_POA_Helper*
TAO_NS_Container::proxy_poa (void)
{
return this->proxy_poa_;
}
|