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
|
// $Id$
#include "Server_Info.h"
Server_Info::Server_Info
(
const ACE_CString& serverId,
const ACE_CString& server_name,
const ACE_CString& aname,
const ACE_CString& cmdline,
const ImplementationRepository::EnvironmentList& env,
const ACE_CString& working_dir,
ImplementationRepository::ActivationMode amode,
int limit,
const ACE_CString& partial_ior,
const ACE_CString& server_ior,
ImplementationRepository::ServerObject_ptr svrobj)
: server_id (serverId)
, name (server_name)
, activator (aname)
, cmdline( cmdline)
, env_vars (env)
, dir (working_dir)
, activation_mode (amode)
, start_limit (limit)
, partial_ior (partial_ior)
, ior (server_ior)
, server(ImplementationRepository::ServerObject::_duplicate (svrobj))
, start_count (0)
, waiting_clients (0)
, starting (false)
{
}
ImplementationRepository::ServerInformation*
Server_Info::createImRServerInfo (void)
{
ImplementationRepository::ServerInformation* info;
ACE_NEW_THROW_EX (info, ImplementationRepository::ServerInformation, CORBA::NO_MEMORY ());
info->server = name.c_str ();
info->startup.command_line = cmdline.c_str ();
info->startup.environment = env_vars;
info->startup.working_directory = dir.c_str ();
info->startup.activation = activation_mode;
info->startup.activator = activator.c_str ();
if (start_count >= start_limit)
{
info->startup.start_limit = -start_limit;
}
else
{
info->startup.start_limit = start_limit;
}
info->partial_ior = partial_ior.c_str();
return info;
}
void
Server_Info::reset (void)
{
ior = "";
partial_ior = "";
last_ping = ACE_Time_Value::zero;
server = ImplementationRepository::ServerObject::_nil ();
// start_count = 0; Note : We can't do this, because it would be reset during startup.
}
|