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
|
// $Id$
#include "Identification_Service.h"
#include "../Utils/UUID.h"
ACE_RCSID (EventChannel,
Identification_Service,
"$Id$")
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
namespace FTRTEC {
namespace {
Identification_Service* service;
const char oid[] = "\xF8\xB3\xB1\xFE\xAC\xC6\x07\x11\x02\x0C\x02\x50\xEB\x05\x77\xD0";
}
Identification_Service::Identification_Service()
{
}
Identification_Service::~Identification_Service()
{
}
Identification_Service* Identification_Service::instance()
{
return service;
}
int Identification_Service::init(int argc, ACE_TCHAR* argv[])
{
if (service != 0)
return 0;
name_.length(1);
name_[0].id = CORBA::string_dup("FT_EventService");
while (argc > 1) {
if ( ACE_OS::strcasecmp (argv[0], ACE_TEXT("-Object_ID")) == 0) {
--argc; ++argv;
if (argv[0][0] == '-') continue;
else if (argv[0][0] != '$') {
UUID uuid(argv[0]);
if (!uuid.is_valid())
ACE_ERROR_RETURN((LM_ERROR, "Invalid Object_ID\n"), -1);
object_id_.length(16);
uuid.to_binary(&object_id_[0]);
}
--argc; ++argv;
}
else if (ACE_OS::strcasecmp (argv[0], ACE_TEXT("-Name")) ==0) {
--argc; ++argv;
if (argv[0][0] == '-') continue;
else if (argv[0][0] != '$') {
name_[0].id = CORBA::string_dup(argv[0]);
}
--argc; ++argv;
}
}
if (object_id_.length() == 0) {
// assign an default value for object id
object_id_.length(16);
memcpy(&object_id_[0], oid, 16);
}
service = this;
return 0;
}
const FtRtecEventComm::ObjectId& Identification_Service::object_id() const
{
return object_id_;
}
const CosNaming::Name& Identification_Service::name() const
{
return name_;
}
}
TAO_END_VERSIONED_NAMESPACE_DECL
ACE_FACTORY_NAMESPACE_DEFINE (
TAO_FTRTEC,
Identification_Service,
FTRTEC::Identification_Service)
ACE_STATIC_SVC_DEFINE (
Identification_Service,
ACE_TEXT ("FTRTEC_Identification"),
ACE_SVC_OBJ_T,
&ACE_SVC_NAME (Identification_Service),
ACE_Service_Type::DELETE_THIS
| ACE_Service_Type::DELETE_OBJ,
0)
|