blob: e6c3a910f3b6d1a3a3b3523d80996e5831163165 (
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
73
74
75
76
77
|
//=============================================================================
/**
* @file Server_Info.h
*
* $Id$
*
* This class implements the Server_Info for the Implementation Repository.
*
*
* @author Darrell Brunsch <brunsch@cs.wustl.edu>
* @author Priyanka Gontla <gontla_p@ociweb.com>
*/
#ifndef SERVER_INFO_H
#define SERVER_INFO_H
#include "ace/Bound_Ptr.h"
#include "tao/ImR_Client/ImplRepoC.h"
#include "ace/SString.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
/**
* @brief Information about IMR registered servers.
*/
struct Server_Info
{
Server_Info (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 start_limit,
const ACE_CString& partial_ior = ACE_CString(""),
const ACE_CString& server_ior = ACE_CString(""),
ImplementationRepository::ServerObject_ptr svrobj = ImplementationRepository::ServerObject::_nil()
);
/// Convert to the corba type
ImplementationRepository::ServerInformation* createImRServerInfo(ACE_ENV_SINGLE_ARG_DECL);
void reset();
/// The name of the server.
ACE_CString name;
/// The name of the activator in which this server runs
ACE_CString activator;
/// The command line startup command (program and arguments).
ACE_CString cmdline;
/// Environment Variables.
ImplementationRepository::EnvironmentList env_vars;
/// The working directory.
ACE_CString dir;
/// The type of activation this supports.
ImplementationRepository::ActivationMode activation_mode;
/// Limit of retries to start the server
int start_limit;
/// Current endpoint used by the server.
ACE_CString partial_ior;
/// IOR of the server object in the server.
ACE_CString ior;
/// The timestamp of the last time we verified the server is alive
ACE_Time_Value last_ping;
/// The cached server object
ImplementationRepository::ServerObject_var server;
int start_count;
int waiting_clients;
bool starting;
};
typedef ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex> Server_Info_Ptr;
#endif /* SERVER_INFO_H */
|