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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
//$Id$
#include "CPK_Handler.h"
#include "tao/Exception.h"
#include "Utils.h"
using CIAO::Config_Handler::Utils;
void
CIAO::Config_Handler::CPK_Handler::
process_CCMComponentPortKind (DOMNodeIterator * iter,
Deployment::CCMComponentPortKind &kind)
{
char* facet = XMLString::transcode (XStr ("Facet"));
char* simplex_receptacle = XMLString::transcode (XStr ("SimplexReceptacle"));
char* multiplex_receptacle = XMLString::transcode
(XStr ("MultiplexReceptacle"));
char* event_emitter = XMLString::transcode (XStr ("EventEmitter"));
char* event_publisher = XMLString::transcode (XStr ("EventPublisher"));
char* event_consumer = XMLString::transcode (XStr ("EventConsumer"));
char* rtec_event_emitter = XMLString::transcode (XStr ("rtecEventEmitter"));
char* rtec_event_publisher = XMLString::transcode (XStr ("rtecEventPublisher"));
char* cos_event_emitter = XMLString::transcode (XStr ("cosEventEmitter"));
char* cos_event_publisher = XMLString::transcode (XStr ("cosEventPublisher"));
char* ns_event_emitter = XMLString::transcode (XStr ("nsEventEmitter"));
char* ns_event_publisher = XMLString::transcode (XStr ("nsEventPublisher"));
char * temp = Utils::parse_string (iter);
XStr kind_str = XStr (temp);
XMLString::release (&temp);
char* kind_str_tr = XMLString::transcode (kind_str);
if ((ACE_OS::strcmp (kind_str_tr, facet)) == 0)
{
kind = Deployment::Facet;
}
else if ((ACE_OS::strcmp (kind_str_tr, simplex_receptacle)) == 0)
{
kind = Deployment::SimplexReceptacle;
}
else if ((ACE_OS::strcmp (kind_str_tr, multiplex_receptacle)) == 0)
{
kind = Deployment::MultiplexReceptacle;
}
else if ((ACE_OS::strcmp (kind_str_tr, event_emitter)) == 0)
{
kind = Deployment::EventEmitter;
}
else if ((ACE_OS::strcmp (kind_str_tr, event_publisher)) == 0)
{
kind = Deployment::EventPublisher;
}
else if ((ACE_OS::strcmp (kind_str_tr, event_consumer)) == 0)
{
kind = Deployment::EventConsumer;
}
// RTEC event supplier
else if ((ACE_OS::strcmp (kind_str_tr, rtec_event_emitter)) == 0)
{
kind = Deployment::rtecEventEmitter;
}
else if ((ACE_OS::strcmp (kind_str_tr, rtec_event_publisher)) == 0)
{
kind = Deployment::rtecEventPublisher;
}
// COS EC event supplier
else if ((ACE_OS::strcmp (kind_str_tr, cos_event_emitter)) == 0)
{
kind = Deployment::cosEventEmitter;
}
else if ((ACE_OS::strcmp (kind_str_tr, cos_event_publisher)) == 0)
{
kind = Deployment::cosEventPublisher;
}
// NS event supplier
else if ((ACE_OS::strcmp (kind_str_tr, ns_event_emitter)) == 0)
{
kind = Deployment::nsEventEmitter;
}
else if ((ACE_OS::strcmp (kind_str_tr, ns_event_publisher)) == 0)
{
kind = Deployment::nsEventPublisher;
}
else
{
// Something wrong here.. Throw exception
XMLString::release (&kind_str_tr);
XMLString::release (&facet);
XMLString::release (&simplex_receptacle);
XMLString::release (&multiplex_receptacle);
XMLString::release (&event_emitter);
XMLString::release (&event_publisher);
XMLString::release (&event_consumer);
ACE_DEBUG ((LM_DEBUG,
"Config_Handler::CPK_Handler::process_CCMComponentPortKing \
illegal <CCMComponentPortKind> value found \n"));
ACE_THROW (CORBA::INTERNAL ());
}
XMLString::release (&kind_str_tr);
XMLString::release (&facet);
XMLString::release (&simplex_receptacle);
XMLString::release (&multiplex_receptacle);
XMLString::release (&event_emitter);
XMLString::release (&event_publisher);
XMLString::release (&event_consumer);
}
|