zeroc-ice-x64-mingw 3.6b1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/ICE_LICENSE +54 -0
  3. data/LICENSE +339 -0
  4. data/bin/slice2rb +17 -0
  5. data/ice-x64-mingw.gemspec +41 -0
  6. data/lib/Glacier2.rb +12 -0
  7. data/lib/Glacier2/Metrics.rb +99 -0
  8. data/lib/Glacier2/PermissionsVerifier.rb +168 -0
  9. data/lib/Glacier2/PermissionsVerifierF.rb +34 -0
  10. data/lib/Glacier2/Router.rb +141 -0
  11. data/lib/Glacier2/RouterF.rb +29 -0
  12. data/lib/Glacier2/SSLInfo.rb +79 -0
  13. data/lib/Glacier2/Session.rb +470 -0
  14. data/lib/Ice.rb +659 -0
  15. data/lib/Ice/BuiltinSequences.rb +64 -0
  16. data/lib/Ice/Communicator.rb +93 -0
  17. data/lib/Ice/CommunicatorF.rb +28 -0
  18. data/lib/Ice/Connection.rb +414 -0
  19. data/lib/Ice/ConnectionF.rb +36 -0
  20. data/lib/Ice/Current.rb +152 -0
  21. data/lib/Ice/Endpoint.rb +265 -0
  22. data/lib/Ice/EndpointF.rb +52 -0
  23. data/lib/Ice/EndpointTypes.rb +77 -0
  24. data/lib/Ice/FacetMap.rb +28 -0
  25. data/lib/Ice/Identity.rb +70 -0
  26. data/lib/Ice/ImplicitContext.rb +59 -0
  27. data/lib/Ice/ImplicitContextF.rb +28 -0
  28. data/lib/Ice/Instrumentation.rb +425 -0
  29. data/lib/Ice/InstrumentationF.rb +35 -0
  30. data/lib/Ice/LocalException.rb +1081 -0
  31. data/lib/Ice/Locator.rb +314 -0
  32. data/lib/Ice/LocatorF.rb +34 -0
  33. data/lib/Ice/Logger.rb +57 -0
  34. data/lib/Ice/LoggerF.rb +28 -0
  35. data/lib/Ice/Metrics.rb +696 -0
  36. data/lib/Ice/ObjectAdapterF.rb +28 -0
  37. data/lib/Ice/ObjectFactory.rb +53 -0
  38. data/lib/Ice/ObjectFactoryF.rb +28 -0
  39. data/lib/Ice/Plugin.rb +87 -0
  40. data/lib/Ice/PluginF.rb +32 -0
  41. data/lib/Ice/Process.rb +93 -0
  42. data/lib/Ice/ProcessF.rb +29 -0
  43. data/lib/Ice/Properties.rb +65 -0
  44. data/lib/Ice/PropertiesAdmin.rb +104 -0
  45. data/lib/Ice/PropertiesF.rb +33 -0
  46. data/lib/Ice/Router.rb +163 -0
  47. data/lib/Ice/RouterF.rb +29 -0
  48. data/lib/Ice/SliceChecksumDict.rb +28 -0
  49. data/lib/Ice/Version.rb +100 -0
  50. data/lib/IceBox.rb +10 -0
  51. data/lib/IceBox/IceBox.rb +272 -0
  52. data/lib/IceGrid.rb +17 -0
  53. data/lib/IceGrid/Admin.rb +1076 -0
  54. data/lib/IceGrid/Descriptor.rb +1505 -0
  55. data/lib/IceGrid/Exception.rb +401 -0
  56. data/lib/IceGrid/FileParser.rb +105 -0
  57. data/lib/IceGrid/Locator.rb +105 -0
  58. data/lib/IceGrid/Observer.rb +571 -0
  59. data/lib/IceGrid/Query.rb +168 -0
  60. data/lib/IceGrid/Registry.rb +120 -0
  61. data/lib/IceGrid/Session.rb +114 -0
  62. data/lib/IceGrid/UserAccountMapper.rb +101 -0
  63. data/lib/IcePatch2.rb +10 -0
  64. data/lib/IcePatch2/FileInfo.rb +75 -0
  65. data/lib/IcePatch2/FileServer.rb +141 -0
  66. data/lib/IceRuby.so +0 -0
  67. data/lib/IceStorm.rb +11 -0
  68. data/lib/IceStorm/IceStorm.rb +463 -0
  69. data/lib/IceStorm/Metrics.rb +155 -0
  70. data/slice/Freeze/BackgroundSaveEvictor.ice +111 -0
  71. data/slice/Freeze/CatalogData.ice +49 -0
  72. data/slice/Freeze/Connection.ice +111 -0
  73. data/slice/Freeze/ConnectionF.ice +20 -0
  74. data/slice/Freeze/DB.ice +37 -0
  75. data/slice/Freeze/Evictor.ice +339 -0
  76. data/slice/Freeze/EvictorF.ice +22 -0
  77. data/slice/Freeze/EvictorStorage.ice +72 -0
  78. data/slice/Freeze/Exception.ice +100 -0
  79. data/slice/Freeze/Transaction.ice +57 -0
  80. data/slice/Freeze/TransactionalEvictor.ice +50 -0
  81. data/slice/Glacier2/Metrics.ice +77 -0
  82. data/slice/Glacier2/PermissionsVerifier.ice +105 -0
  83. data/slice/Glacier2/PermissionsVerifierF.ice +21 -0
  84. data/slice/Glacier2/Router.ice +178 -0
  85. data/slice/Glacier2/RouterF.ice +20 -0
  86. data/slice/Glacier2/SSLInfo.ice +50 -0
  87. data/slice/Glacier2/Session.ice +273 -0
  88. data/slice/Ice/BuiltinSequences.ice +48 -0
  89. data/slice/Ice/Communicator.ice +567 -0
  90. data/slice/Ice/CommunicatorF.ice +20 -0
  91. data/slice/Ice/Connection.ice +323 -0
  92. data/slice/Ice/ConnectionF.ice +22 -0
  93. data/slice/Ice/Current.ice +160 -0
  94. data/slice/Ice/Endpoint.ice +227 -0
  95. data/slice/Ice/EndpointF.ice +32 -0
  96. data/slice/Ice/EndpointTypes.ice +38 -0
  97. data/slice/Ice/FacetMap.ice +25 -0
  98. data/slice/Ice/Identity.ice +59 -0
  99. data/slice/Ice/ImplicitContext.ice +109 -0
  100. data/slice/Ice/ImplicitContextF.ice +20 -0
  101. data/slice/Ice/Instrumentation.ice +499 -0
  102. data/slice/Ice/InstrumentationF.ice +26 -0
  103. data/slice/Ice/LocalException.ice +1015 -0
  104. data/slice/Ice/Locator.ice +227 -0
  105. data/slice/Ice/LocatorF.ice +21 -0
  106. data/slice/Ice/Logger.ice +86 -0
  107. data/slice/Ice/LoggerF.ice +20 -0
  108. data/slice/Ice/Metrics.ice +422 -0
  109. data/slice/Ice/ObjectAdapter.ice +673 -0
  110. data/slice/Ice/ObjectAdapterF.ice +20 -0
  111. data/slice/Ice/ObjectFactory.ice +60 -0
  112. data/slice/Ice/ObjectFactoryF.ice +20 -0
  113. data/slice/Ice/Plugin.ice +117 -0
  114. data/slice/Ice/PluginF.ice +21 -0
  115. data/slice/Ice/Process.ice +54 -0
  116. data/slice/Ice/ProcessF.ice +20 -0
  117. data/slice/Ice/Properties.ice +228 -0
  118. data/slice/Ice/PropertiesAdmin.ice +75 -0
  119. data/slice/Ice/PropertiesF.ice +21 -0
  120. data/slice/Ice/RemoteLogger.ice +232 -0
  121. data/slice/Ice/Router.ice +83 -0
  122. data/slice/Ice/RouterF.ice +20 -0
  123. data/slice/Ice/ServantLocator.ice +117 -0
  124. data/slice/Ice/ServantLocatorF.ice +20 -0
  125. data/slice/Ice/SliceChecksumDict.ice +25 -0
  126. data/slice/Ice/Version.ice +39 -0
  127. data/slice/IceBox/IceBox.ice +194 -0
  128. data/slice/IceDiscovery/IceDiscovery.ice +32 -0
  129. data/slice/IceGrid/Admin.ice +1578 -0
  130. data/slice/IceGrid/Descriptor.ice +1079 -0
  131. data/slice/IceGrid/Discovery.ice +73 -0
  132. data/slice/IceGrid/Exception.ice +383 -0
  133. data/slice/IceGrid/FileParser.ice +61 -0
  134. data/slice/IceGrid/Locator.ice +56 -0
  135. data/slice/IceGrid/Observer.ice +394 -0
  136. data/slice/IceGrid/PluginFacade.ice +316 -0
  137. data/slice/IceGrid/Query.ice +130 -0
  138. data/slice/IceGrid/Registry.ice +138 -0
  139. data/slice/IceGrid/Session.ice +124 -0
  140. data/slice/IceGrid/UserAccountMapper.ice +58 -0
  141. data/slice/IcePatch2/FileInfo.ice +49 -0
  142. data/slice/IcePatch2/FileServer.ice +129 -0
  143. data/slice/IceSSL/ConnectionInfo.ice +34 -0
  144. data/slice/IceSSL/EndpointInfo.ice +41 -0
  145. data/slice/IceStorm/IceStorm.ice +405 -0
  146. data/slice/IceStorm/Metrics.ice +71 -0
  147. metadata +207 -0
@@ -0,0 +1,20 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ module Ice
15
+ {
16
+
17
+ local interface ServantLocator;
18
+
19
+ };
20
+
@@ -0,0 +1,25 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ module Ice
15
+ {
16
+
17
+ /**
18
+ * A mapping from type IDs to Slice checksums. The dictionary
19
+ * allows verification at run time that client and server
20
+ * use matching Slice definitions.
21
+ **/
22
+ dictionary<string, string> SliceChecksumDict;
23
+
24
+ };
25
+
@@ -0,0 +1,39 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ module Ice
15
+ {
16
+
17
+ /**
18
+ *
19
+ * A version structure for the protocol version.
20
+ *
21
+ **/
22
+ struct ProtocolVersion
23
+ {
24
+ byte major;
25
+ byte minor;
26
+ };
27
+
28
+ /**
29
+ *
30
+ * A version structure for the encoding version.
31
+ *
32
+ **/
33
+ struct EncodingVersion
34
+ {
35
+ byte major;
36
+ byte minor;
37
+ };
38
+
39
+ };
@@ -0,0 +1,194 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+ [["cpp:include:IceBox/Config.h"]]
14
+
15
+ #include <Ice/BuiltinSequences.ice>
16
+ #include <Ice/CommunicatorF.ice>
17
+ #include <Ice/PropertiesF.ice>
18
+ #include <Ice/SliceChecksumDict.ice>
19
+
20
+ /**
21
+ *
22
+ * IceBox is an application server specifically for Ice
23
+ * applications. IceBox can easily run and administer Ice services
24
+ * that are dynamically loaded as a DLL, shared library, or Java
25
+ * class.
26
+ *
27
+ **/
28
+ module IceBox
29
+ {
30
+
31
+ /**
32
+ *
33
+ * This exception is a general failure notification. It is thrown
34
+ * for errors such as a service encountering an error during
35
+ * initialization, or the service manager being unable
36
+ * to load a service executable.
37
+ *
38
+ **/
39
+ ["cpp:ice_print"]
40
+ local exception FailureException
41
+ {
42
+ /**
43
+ *
44
+ * The reason for the failure.
45
+ *
46
+ **/
47
+ string reason;
48
+ };
49
+
50
+
51
+ /**
52
+ *
53
+ * This exception is thrown if an attempt is made to start an
54
+ * already-started service.
55
+ *
56
+ **/
57
+ exception AlreadyStartedException
58
+ {
59
+ };
60
+
61
+ /**
62
+ *
63
+ * This exception is thrown if an attempt is made to stop an
64
+ * already-stopped service.
65
+ *
66
+ **/
67
+ exception AlreadyStoppedException
68
+ {
69
+ };
70
+
71
+ /**
72
+ *
73
+ * This exception is thrown if a service name does not refer
74
+ * to an existing service.
75
+ *
76
+ **/
77
+ exception NoSuchServiceException
78
+ {
79
+ };
80
+
81
+ /**
82
+ *
83
+ * An application service managed by a {@link ServiceManager}.
84
+ *
85
+ **/
86
+ local interface Service
87
+ {
88
+ /**
89
+ *
90
+ * Start the service. The given communicator is created by the
91
+ * {@link ServiceManager} for use by the service. This communicator may
92
+ * also be used by other services, depending on the service
93
+ * configuration.
94
+ *
95
+ * <p class="Note">The {@link ServiceManager} owns this communicator, and is
96
+ * responsible for destroying it.
97
+ *
98
+ * @param name The service's name, as determined by the
99
+ * configuration.
100
+ *
101
+ * @param communicator A communicator for use by the service.
102
+ *
103
+ * @param args The service arguments that were not converted into
104
+ * properties.
105
+ *
106
+ * @throws FailureException Raised if {@link #start} failed.
107
+ *
108
+ **/
109
+ void start(string name, Ice::Communicator communicator, Ice::StringSeq args);
110
+
111
+ /**
112
+ *
113
+ * Stop the service.
114
+ *
115
+ **/
116
+ void stop();
117
+ };
118
+
119
+
120
+ /**
121
+ *
122
+ * An Observer interface implemented by admin clients
123
+ * interested in the status of services
124
+ *
125
+ * @see ServiceManager
126
+ *
127
+ **/
128
+ interface ServiceObserver
129
+ {
130
+ void servicesStarted(Ice::StringSeq services);
131
+ void servicesStopped(Ice::StringSeq services);
132
+ };
133
+
134
+
135
+ /**
136
+ *
137
+ * Administers a set of {@link Service} instances.
138
+ *
139
+ * @see Service
140
+ *
141
+ **/
142
+ interface ServiceManager
143
+ {
144
+ /**
145
+ *
146
+ * Returns the checksums for the IceBox Slice definitions.
147
+ *
148
+ * @return A dictionary mapping Slice type ids to their checksums.
149
+ *
150
+ **/
151
+ ["nonmutating", "cpp:const"] idempotent Ice::SliceChecksumDict getSliceChecksums();
152
+
153
+ /**
154
+ *
155
+ * Start an individual service.
156
+ *
157
+ * @param service The service name.
158
+ *
159
+ **/
160
+ void startService(string service)
161
+ throws AlreadyStartedException, NoSuchServiceException;
162
+
163
+ /**
164
+ *
165
+ * Stop an individual service.
166
+ *
167
+ * @param service The service name.
168
+ *
169
+ **/
170
+ void stopService(string service)
171
+ throws AlreadyStoppedException, NoSuchServiceException;
172
+
173
+
174
+ /**
175
+ *
176
+ * Registers a new observer with the ServiceManager.
177
+ *
178
+ * @param observer The new observer
179
+ *
180
+ **/
181
+ void addObserver(ServiceObserver* observer);
182
+
183
+
184
+ /**
185
+ *
186
+ * Shut down all services. This causes {@link Service#stop} to be
187
+ * invoked on all configured services.
188
+ *
189
+ **/
190
+ void shutdown();
191
+ };
192
+
193
+ };
194
+
@@ -0,0 +1,32 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+ [["cpp:header-ext:h"]]
12
+
13
+ #include <Ice/Identity.ice>
14
+
15
+ module IceDiscovery
16
+ {
17
+
18
+ interface LookupReply
19
+ {
20
+ void foundObjectById(Ice::Identity id, Object* prx);
21
+
22
+ void foundAdapterById(string id, Object* prx, bool isReplicaGroup);
23
+ };
24
+
25
+ interface Lookup
26
+ {
27
+ idempotent void findObjectById(string domainId, Ice::Identity id, LookupReply* reply);
28
+
29
+ idempotent void findAdapterById(string domainId, string id, LookupReply* reply);
30
+ };
31
+
32
+ };
@@ -0,0 +1,1578 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+ [["cpp:include:IceGrid/Config.h"]]
14
+
15
+ #include <Ice/Identity.ice>
16
+ #include <Ice/BuiltinSequences.ice>
17
+ #include <Ice/Properties.ice>
18
+ #include <Ice/SliceChecksumDict.ice>
19
+ #include <Glacier2/Session.ice>
20
+ #include <IceGrid/Exception.ice>
21
+ #include <IceGrid/Descriptor.ice>
22
+
23
+ module IceGrid
24
+ {
25
+
26
+ /**
27
+ *
28
+ * An enumeration representing the state of the server.
29
+ *
30
+ **/
31
+ enum ServerState
32
+ {
33
+ /**
34
+ *
35
+ * The server is not running.
36
+ *
37
+ **/
38
+ Inactive,
39
+
40
+ /**
41
+ *
42
+ * The server is being activated and will change to the active
43
+ * state when the registered server object adapters are activated
44
+ * or to the activation timed out state if the activation timeout
45
+ * expires.
46
+ *
47
+ **/
48
+ Activating,
49
+
50
+ /**
51
+ *
52
+ * The activation timed out state indicates that the server
53
+ * activation timed out.
54
+ *
55
+ **/
56
+ ActivationTimedOut,
57
+
58
+ /**
59
+ *
60
+ * The server is running.
61
+ *
62
+ **/
63
+ Active,
64
+
65
+ /**
66
+ *
67
+ * The server is being deactivated.
68
+ *
69
+ **/
70
+ Deactivating,
71
+
72
+ /**
73
+ *
74
+ * The server is being destroyed.
75
+ *
76
+ **/
77
+ Destroying,
78
+
79
+ /**
80
+ *
81
+ * The server is destroyed.
82
+ *
83
+ **/
84
+ Destroyed
85
+ };
86
+
87
+ /**
88
+ *
89
+ * A dictionary of proxies.
90
+ *
91
+ **/
92
+ dictionary<string, Object*> StringObjectProxyDict;
93
+
94
+ /**
95
+ *
96
+ * Information about an Ice object.
97
+ *
98
+ **/
99
+ ["cpp:comparable"]
100
+ struct ObjectInfo
101
+ {
102
+ /**
103
+ *
104
+ * The proxy of the object.
105
+ *
106
+ **/
107
+ Object* proxy;
108
+
109
+ /**
110
+ *
111
+ * The type of the object.
112
+ *
113
+ **/
114
+ string type;
115
+ };
116
+
117
+ /**
118
+ *
119
+ * A sequence of object information structures.
120
+ *
121
+ **/
122
+ sequence<ObjectInfo> ObjectInfoSeq;
123
+
124
+ /**
125
+ *
126
+ * Information about an adapter registered with the IceGrid registry.
127
+ *
128
+ **/
129
+ ["cpp:comparable"]
130
+ struct AdapterInfo
131
+ {
132
+ /**
133
+ *
134
+ * The id of the adapter.
135
+ *
136
+ **/
137
+ string id;
138
+
139
+ /**
140
+ *
141
+ * A dummy direct proxy that contains the adapter endpoints.
142
+ *
143
+ **/
144
+ Object* proxy;
145
+
146
+ /**
147
+ *
148
+ * The replica group id of the object adapter, or empty if the
149
+ * adapter doesn't belong to a replica group.
150
+ *
151
+ **/
152
+ string replicaGroupId;
153
+ };
154
+
155
+ /**
156
+ *
157
+ * A sequence of adapter information structures.
158
+ *
159
+ **/
160
+ sequence<AdapterInfo> AdapterInfoSeq;
161
+
162
+ /**
163
+ *
164
+ * Information about a server managed by an IceGrid node.
165
+ *
166
+ **/
167
+ struct ServerInfo
168
+ {
169
+ /**
170
+ *
171
+ * The server application.
172
+ *
173
+ **/
174
+ string application;
175
+
176
+ /**
177
+ *
178
+ * The application uuid.
179
+ *
180
+ **/
181
+ string uuid;
182
+
183
+ /**
184
+ *
185
+ * The application revision.
186
+ *
187
+ **/
188
+ int revision;
189
+
190
+ /**
191
+ *
192
+ * The server node.
193
+ *
194
+ **/
195
+ string node;
196
+
197
+ /**
198
+ *
199
+ * The server descriptor.
200
+ *
201
+ **/
202
+ ServerDescriptor descriptor;
203
+
204
+ /**
205
+ *
206
+ * The id of the session which allocated the server.
207
+ *
208
+ **/
209
+ string sessionId;
210
+ };
211
+
212
+ /**
213
+ *
214
+ * Information about an IceGrid node.
215
+ *
216
+ **/
217
+ struct NodeInfo
218
+ {
219
+ /**
220
+ *
221
+ * The name of the node.
222
+ *
223
+ **/
224
+ string name;
225
+
226
+ /**
227
+ *
228
+ * The operating system name.
229
+ *
230
+ **/
231
+ string os;
232
+
233
+ /**
234
+ *
235
+ * The network name of the host running this node (as defined in
236
+ * uname()).
237
+ *
238
+ **/
239
+ string hostname;
240
+
241
+ /**
242
+ *
243
+ * The operation system release level (as defined in uname()).
244
+ *
245
+ **/
246
+ string release;
247
+
248
+ /**
249
+ *
250
+ * The operation system version (as defined in uname()).
251
+ *
252
+ **/
253
+ string version;
254
+
255
+ /**
256
+ *
257
+ * The machine hardware type (as defined in uname()).
258
+ *
259
+ **/
260
+ string machine;
261
+
262
+ /**
263
+ *
264
+ * The number of processor threads on the node.
265
+ * For example, nProcessors is 8 on a computer with a single quad-core
266
+ * processor and two HT threads per core.
267
+ *
268
+ **/
269
+ int nProcessors;
270
+
271
+ /**
272
+ *
273
+ * The path to the node data directory.
274
+ *
275
+ **/
276
+ string dataDir;
277
+ };
278
+
279
+ /**
280
+ *
281
+ * Information about an IceGrid registry replica.
282
+ *
283
+ **/
284
+ struct RegistryInfo
285
+ {
286
+ /**
287
+ *
288
+ * The name of the registry.
289
+ *
290
+ **/
291
+ string name;
292
+
293
+ /**
294
+ *
295
+ * The network name of the host running this registry (as defined in
296
+ * uname()).
297
+ *
298
+ **/
299
+ string hostname;
300
+ };
301
+
302
+ /**
303
+ *
304
+ * A sequence of {@link RegistryInfo} structures.
305
+ *
306
+ **/
307
+ sequence<RegistryInfo> RegistryInfoSeq;
308
+
309
+ /**
310
+ *
311
+ * Information about the load of a node.
312
+ *
313
+ **/
314
+ struct LoadInfo
315
+ {
316
+ /** The load average over the past minute. */
317
+ float avg1;
318
+
319
+ /** The load average over the past 5 minutes. */
320
+ float avg5;
321
+
322
+ /** The load average over the past 15 minutes. */
323
+ float avg15;
324
+ };
325
+
326
+ /**
327
+ *
328
+ * Information about an IceGrid application.
329
+ *
330
+ **/
331
+ struct ApplicationInfo
332
+ {
333
+ /** Unique application identifier. */
334
+ string uuid;
335
+
336
+ /** The creation time. */
337
+ long createTime;
338
+
339
+ /** The user who created the application. */
340
+ string createUser;
341
+
342
+ /** The update time. */
343
+ long updateTime;
344
+
345
+ /** The user who updated the application. */
346
+ string updateUser;
347
+
348
+ /** The application revision number. */
349
+ int revision;
350
+
351
+ /** The application descriptor */
352
+ ApplicationDescriptor descriptor;
353
+ };
354
+
355
+ /**
356
+ *
357
+ * A sequence of {@link ApplicationInfo} structures.
358
+ *
359
+ **/
360
+ ["java:type:java.util.LinkedList<ApplicationInfo>"] sequence<ApplicationInfo> ApplicationInfoSeq;
361
+
362
+ /**
363
+ *
364
+ * Information about updates to an IceGrid application.
365
+ *
366
+ **/
367
+ struct ApplicationUpdateInfo
368
+ {
369
+ /** The update time. */
370
+ long updateTime;
371
+
372
+ /** The user who updated the application. */
373
+ string updateUser;
374
+
375
+ /** The application revision number. */
376
+ int revision;
377
+
378
+ /** The update descriptor. */
379
+ ApplicationUpdateDescriptor descriptor;
380
+ };
381
+
382
+ /**
383
+ *
384
+ * The IceGrid administrative interface. </p>
385
+ * <p class="Warning">Allowing access to this interface
386
+ * is a security risk! Please see the IceGrid documentation
387
+ * for further information.
388
+ *
389
+ **/
390
+ interface Admin
391
+ {
392
+ /**
393
+ *
394
+ * Add an application to IceGrid.
395
+ *
396
+ * @param descriptor The application descriptor.
397
+ *
398
+ * @throws AccessDeniedException Raised if the session doesn't
399
+ * hold the exclusive lock or if another session is holding the
400
+ * lock.
401
+ *
402
+ * @throws DeploymentException Raised if application deployment
403
+ * failed.
404
+ *
405
+ **/
406
+ void addApplication(ApplicationDescriptor descriptor)
407
+ throws AccessDeniedException, DeploymentException;
408
+
409
+ /**
410
+ *
411
+ * Synchronize a deployed application with the given application
412
+ * descriptor. This operation will replace the current descriptor
413
+ * with this new descriptor.
414
+ *
415
+ * @param descriptor The application descriptor.
416
+ *
417
+ * @throws AccessDeniedException Raised if the session doesn't
418
+ * hold the exclusive lock or if another session is holding the
419
+ * lock.
420
+ *
421
+ * @throws DeploymentException Raised if application deployment
422
+ * failed.
423
+ *
424
+ * @throws ApplicationNotExistException Raised if the application
425
+ * doesn't exist.
426
+ *
427
+ **/
428
+ void syncApplication(ApplicationDescriptor descriptor)
429
+ throws AccessDeniedException, DeploymentException, ApplicationNotExistException;
430
+
431
+ /**
432
+ *
433
+ * Update a deployed application with the given update application
434
+ * descriptor.
435
+ *
436
+ * @param descriptor The update descriptor.
437
+ *
438
+ * @throws AccessDeniedException Raised if the session doesn't
439
+ * hold the exclusive lock or if another session is holding the
440
+ * lock.
441
+ *
442
+ * @throws DeploymentException Raised if application deployment
443
+ * failed.
444
+ *
445
+ * @throws ApplicationNotExistException Raised if the application
446
+ * doesn't exist.
447
+ *
448
+ **/
449
+ void updateApplication(ApplicationUpdateDescriptor descriptor)
450
+ throws AccessDeniedException, DeploymentException, ApplicationNotExistException;
451
+
452
+
453
+ /**
454
+ *
455
+ * Synchronize a deployed application with the given application
456
+ * descriptor. This operation will replace the current descriptor
457
+ * with this new descriptor only if no server restarts are
458
+ * necessary for the update of the application. If some servers
459
+ * need to be restarted, the synchronization is rejected with a
460
+ * DeploymentException.
461
+ *
462
+ * @param descriptor The application descriptor.
463
+ *
464
+ * @throws AccessDeniedException Raised if the session doesn't
465
+ * hold the exclusive lock or if another session is holding the
466
+ * lock.
467
+ *
468
+ * @throws DeploymentException Raised if application deployment
469
+ * failed.
470
+ *
471
+ * @throws ApplicationNotExistException Raised if the application
472
+ * doesn't exist.
473
+ *
474
+ **/
475
+ void syncApplicationWithoutRestart(ApplicationDescriptor descriptor)
476
+ throws AccessDeniedException, DeploymentException, ApplicationNotExistException;
477
+
478
+ /**
479
+ *
480
+ * Update a deployed application with the given update application
481
+ * descriptor only if no server restarts are necessary for the
482
+ * update of the application. If some servers need to be
483
+ * restarted, the synchronization is rejected with a
484
+ * DeploymentException.
485
+ *
486
+ * @param descriptor The update descriptor.
487
+ *
488
+ * @throws AccessDeniedException Raised if the session doesn't
489
+ * hold the exclusive lock or if another session is holding the
490
+ * lock.
491
+ *
492
+ * @throws DeploymentException Raised if application deployment
493
+ * failed.
494
+ *
495
+ * @throws ApplicationNotExistException Raised if the application
496
+ * doesn't exist.
497
+ *
498
+ **/
499
+ void updateApplicationWithoutRestart(ApplicationUpdateDescriptor descriptor)
500
+ throws AccessDeniedException, DeploymentException, ApplicationNotExistException;
501
+
502
+ /**
503
+ *
504
+ * Remove an application from IceGrid.
505
+ *
506
+ * @param name The application name.
507
+ *
508
+ * @throws AccessDeniedException Raised if the session doesn't
509
+ * hold the exclusive lock or if another session is holding the
510
+ * lock.
511
+ *
512
+ * @throws ApplicationNotExistException Raised if the application
513
+ * doesn't exist.
514
+ *
515
+ **/
516
+ void removeApplication(string name)
517
+ throws AccessDeniedException, DeploymentException, ApplicationNotExistException;
518
+
519
+ /**
520
+ *
521
+ * Instantiate a server template from an application on the given
522
+ * node.
523
+ *
524
+ * @param application The application name.
525
+ *
526
+ * @param node The name of the node where the server will be
527
+ * deployed.
528
+ *
529
+ * @param desc The descriptor of the server instance to deploy.
530
+ *
531
+ * @throws AccessDeniedException Raised if the session doesn't
532
+ * hold the exclusive lock or if another session is holding the
533
+ * lock.
534
+ *
535
+ * @throws DeploymentException Raised if server instantiation
536
+ * failed.
537
+ *
538
+ * @throws ApplicationNotExistException Raised if the application
539
+ * doesn't exist.
540
+ *
541
+ **/
542
+ void instantiateServer(string application, string node, ServerInstanceDescriptor desc)
543
+ throws AccessDeniedException, ApplicationNotExistException, DeploymentException;
544
+
545
+ /**
546
+ *
547
+ * Patch the given application data.
548
+ *
549
+ * @param name The application name.
550
+ *
551
+ * @param shutdown If true, the servers depending on the data to
552
+ * patch will be shut down if necessary.
553
+ *
554
+ * @throws ApplicationNotExistException Raised if the application
555
+ * doesn't exist.
556
+ *
557
+ * @throws PatchException Raised if the patch failed.
558
+ *
559
+ **/
560
+ ["amd"] void patchApplication(string name, bool shutdown)
561
+ throws ApplicationNotExistException, PatchException;
562
+
563
+ /**
564
+ *
565
+ * Get an application descriptor.
566
+ *
567
+ * @param name The application name.
568
+ *
569
+ * @return The application descriptor.
570
+ *
571
+ * @throws ApplicationNotExistException Raised if the application
572
+ * doesn't exist.
573
+ *
574
+ **/
575
+ ["nonmutating", "cpp:const"] idempotent ApplicationInfo getApplicationInfo(string name)
576
+ throws ApplicationNotExistException;
577
+
578
+ /**
579
+ *
580
+ * Get the default application descriptor.
581
+ *
582
+ * @throws DeploymentException Raised if the default application
583
+ * descriptor can't be accessed or is invalid.
584
+ *
585
+ **/
586
+ ["nonmutating", "cpp:const"] idempotent ApplicationDescriptor getDefaultApplicationDescriptor()
587
+ throws DeploymentException;
588
+
589
+ /**
590
+ *
591
+ * Get all the IceGrid applications currently registered.
592
+ *
593
+ * @return The application names.
594
+ *
595
+ **/
596
+ ["nonmutating", "cpp:const"] idempotent Ice::StringSeq getAllApplicationNames();
597
+
598
+ /**
599
+ *
600
+ * Get the server information for the server with the given id.
601
+ *
602
+ * @param id The server id.
603
+ *
604
+ * @throws ServerNotExistException Raised if the server doesn't exist.
605
+ *
606
+ * @return The server information.
607
+ *
608
+ **/
609
+ ["nonmutating", "cpp:const"] idempotent ServerInfo getServerInfo(string id)
610
+ throws ServerNotExistException;
611
+
612
+ /**
613
+ *
614
+ * Get a server's state.
615
+ *
616
+ * @param id The server id.
617
+ *
618
+ * @return The server state.
619
+ *
620
+ * @throws ServerNotExistException Raised if the server doesn't exist.
621
+ *
622
+ * @throws NodeUnreachableException Raised if the node could not be
623
+ * reached.
624
+ *
625
+ * @throws DeploymentException Raised if the server couldn't be
626
+ * deployed on the node.
627
+ *
628
+ **/
629
+ ["nonmutating", "cpp:const"] idempotent ServerState getServerState(string id)
630
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException;
631
+
632
+ /**
633
+ *
634
+ * Get a server's system process id. The process id is operating
635
+ * system dependent.
636
+ *
637
+ * @param id The server id.
638
+ *
639
+ * @return The server's process id.
640
+ *
641
+ * @throws ServerNotExistException Raised if the server doesn't exist.
642
+ *
643
+ * @throws NodeUnreachableException Raised if the node could not be
644
+ * reached.
645
+ *
646
+ * @throws DeploymentException Raised if the server couldn't be
647
+ * deployed on the node.
648
+ *
649
+ **/
650
+ ["nonmutating", "cpp:const"] idempotent int getServerPid(string id)
651
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException;
652
+
653
+ /**
654
+ *
655
+ * Get the category for server admin objects. You can manufacture a server admin
656
+ * proxy from the admin proxy by changing its identity: use the server ID as name
657
+ * and the returned category as category.
658
+ *
659
+ * @return The category for server admin objects.
660
+ *
661
+ **/
662
+ ["cpp:const"]
663
+ idempotent string getServerAdminCategory();
664
+
665
+ /**
666
+ *
667
+ * Get a proxy to the server's admin object.
668
+ *
669
+ * @param id The server id.
670
+ *
671
+ * @return A proxy to the server's admin object
672
+ *
673
+ * @throws ServerNotExistException Raised if the server doesn't exist.
674
+ *
675
+ * @throws NodeUnreachableException Raised if the node could not
676
+ * be reached.
677
+ *
678
+ * @throws DeploymentException Raised if the server couldn't be
679
+ * deployed on the node.
680
+ *
681
+ **/
682
+ ["cpp:const"]
683
+ idempotent Object* getServerAdmin(string id)
684
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException;
685
+
686
+
687
+ /**
688
+ *
689
+ * Enable or disable a server. A disabled server can't be started
690
+ * on demand or administratively. The enable state of the server
691
+ * is not persistent: if the node is shut down and restarted, the
692
+ * server will be enabled by default.
693
+ *
694
+ * @param id The server id.
695
+ *
696
+ * @param enabled True to enable the server, false to disable it.
697
+ *
698
+ * @throws ServerNotExistException Raised if the server doesn't exist.
699
+ *
700
+ * @throws NodeUnreachableException Raised if the node could not
701
+ * be reached.
702
+ *
703
+ * @throws DeploymentException Raised if the server couldn't be
704
+ * deployed on the node.
705
+ *
706
+ **/
707
+ idempotent void enableServer(string id, bool enabled)
708
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException;
709
+
710
+ /**
711
+ *
712
+ * Check if the server is enabled or disabled.
713
+ *
714
+ * @param id The server id.
715
+ *
716
+ * @throws ServerNotExistException Raised if the server doesn't
717
+ * exist.
718
+ *
719
+ * @throws NodeUnreachableException Raised if the node could not
720
+ * be reached.
721
+ *
722
+ * @throws DeploymentException Raised if the server couldn't be
723
+ * deployed on the node.
724
+ *
725
+ **/
726
+ ["nonmutating", "cpp:const"] idempotent bool isServerEnabled(string id)
727
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException;
728
+
729
+ /**
730
+ *
731
+ * Start a server and wait for its activation.
732
+ *
733
+ * @param id The server id.
734
+ *
735
+ * @throws ServerNotExistException Raised if the server doesn't
736
+ * exist.
737
+ *
738
+ * @throws ServerStartException Raised if the server couldn't be
739
+ * started.
740
+ *
741
+ * @throws NodeUnreachableException Raised if the node could not
742
+ * be reached.
743
+ *
744
+ * @throws DeploymentException Raised if the server couldn't be
745
+ * deployed on the node.
746
+ *
747
+ **/
748
+ ["amd"] void startServer(string id)
749
+ throws ServerNotExistException, ServerStartException, NodeUnreachableException, DeploymentException;
750
+
751
+ /**
752
+ *
753
+ * Stop a server.
754
+ *
755
+ * @param id The server id.
756
+ *
757
+ * @throws ServerNotExistException Raised if the server doesn't
758
+ * exist.
759
+ *
760
+ * @throws ServerStopException Raised if the server couldn't be
761
+ * stopped.
762
+ *
763
+ * @throws NodeUnreachableException Raised if the node could not be
764
+ * reached.
765
+ *
766
+ * @throws DeploymentException Raised if the server couldn't be
767
+ * deployed on the node.
768
+ *
769
+ **/
770
+ ["amd"] void stopServer(string id)
771
+ throws ServerNotExistException, ServerStopException, NodeUnreachableException, DeploymentException;
772
+
773
+ /**
774
+ *
775
+ * Patch a server.
776
+ *
777
+ * @param id The server id.
778
+ *
779
+ * @param shutdown If true, servers depending on the data to patch
780
+ * will be shut down if necessary.
781
+ *
782
+ * @throws ServerNotExistException Raised if the server doesn't
783
+ * exist.
784
+ *
785
+ * @throws NodeUnreachableException Raised if the node could not be
786
+ * reached.
787
+ *
788
+ * @throws DeploymentException Raised if the server couldn't be
789
+ * deployed on the node.
790
+ *
791
+ * @throws PatchException Raised if the patch failed.
792
+ *
793
+ **/
794
+ ["amd"] void patchServer(string id, bool shutdown)
795
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException, PatchException;
796
+
797
+ /**
798
+ *
799
+ * Send signal to a server.
800
+ *
801
+ * @param id The server id.
802
+ *
803
+ * @param signal The signal, for example SIGTERM or 15.
804
+ *
805
+ * @throws ServerNotExistException Raised if the server doesn't
806
+ * exist.
807
+ *
808
+ * @throws NodeUnreachableException Raised if the node could not be
809
+ * reached.
810
+ *
811
+ * @throws DeploymentException Raised if the server couldn't be
812
+ * deployed on the node.
813
+ *
814
+ * @throws BadSignalException Raised if the signal is not recognized
815
+ * by the target server.
816
+ *
817
+ **/
818
+ void sendSignal(string id, string signal)
819
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException, BadSignalException;
820
+
821
+ /**
822
+ *
823
+ * Get all the server ids registered with IceGrid.
824
+ *
825
+ * @return The server ids.
826
+ *
827
+ **/
828
+ ["nonmutating", "cpp:const"] idempotent Ice::StringSeq getAllServerIds();
829
+
830
+ /**
831
+ *
832
+ * Get the adapter information for the replica group or adapter
833
+ * with the given id.
834
+ *
835
+ * @param id The adapter id.
836
+ *
837
+ * @return A sequence of adapter information structures. If the
838
+ * given id refers to an adapter, this sequence will contain only
839
+ * one element. If the given id refers to a replica group, the
840
+ * sequence will contain the adapter information of each member of
841
+ * the replica group.
842
+ *
843
+ * @throws AdapterNotExistException Raised if the adapter or
844
+ * replica group doesn't exist.
845
+ *
846
+ **/
847
+ ["nonmutating", "cpp:const"] idempotent AdapterInfoSeq getAdapterInfo(string id)
848
+ throws AdapterNotExistException;
849
+
850
+ /**
851
+ *
852
+ * Remove the adapter with the given id.
853
+ *
854
+ * @param id The adapter id.
855
+ * @throws AdapterNotExistException Raised if the adapter doesn't
856
+ * exist.
857
+ *
858
+ **/
859
+ void removeAdapter(string id)
860
+ throws AdapterNotExistException, DeploymentException;
861
+
862
+ /**
863
+ *
864
+ * Get all the adapter ids registered with IceGrid.
865
+ *
866
+ * @return The adapter ids.
867
+ *
868
+ **/
869
+ ["nonmutating", "cpp:const"] idempotent Ice::StringSeq getAllAdapterIds();
870
+
871
+ /**
872
+ *
873
+ * Add an object to the object registry. IceGrid will get the
874
+ * object type by calling <tt>ice_id</tt> on the given proxy. The object
875
+ * must be reachable.
876
+ *
877
+ * @param obj The object to be added to the registry.
878
+ *
879
+ * @throws ObjectExistsException Raised if the object is already
880
+ * registered.
881
+ *
882
+ * @throws DeploymentException Raised if the object can't be
883
+ * added. This might be raised if the invocation on the proxy to
884
+ * get the object type failed.
885
+ *
886
+ **/
887
+ void addObject(Object* obj)
888
+ throws ObjectExistsException, DeploymentException;
889
+
890
+ /**
891
+ *
892
+ * Update an object in the object registry. Only objects added
893
+ * with this interface can be updated with this operation. Objects
894
+ * added with deployment descriptors should be updated with the
895
+ * deployment mechanism.
896
+ *
897
+ * @param obj The object to be updated to the registry.
898
+ *
899
+ * @throws ObjectNotRegisteredException Raised if the object isn't
900
+ * registered with the registry.
901
+ *
902
+ * @throws DeploymentException Raised if the object can't be
903
+ * updated. This might happen if the object was added with a
904
+ * deployment descriptor.
905
+ *
906
+ **/
907
+ void updateObject(Object* obj)
908
+ throws ObjectNotRegisteredException, DeploymentException;
909
+
910
+ /**
911
+ *
912
+ * Add an object to the object registry and explicitly specify
913
+ * its type.
914
+ *
915
+ * @param obj The object to be added to the registry.
916
+ *
917
+ * @param type The object type.
918
+ *
919
+ * @throws ObjectExistsException Raised if the object is already
920
+ * registered.
921
+ *
922
+ **/
923
+ void addObjectWithType(Object* obj, string type)
924
+ throws ObjectExistsException, DeploymentException;
925
+
926
+ /**
927
+ *
928
+ * Remove an object from the object registry. Only objects added
929
+ * with this interface can be removed with this operation. Objects
930
+ * added with deployment descriptors should be removed with the
931
+ * deployment mechanism.
932
+ *
933
+ * @param id The identity of the object to be removed from the
934
+ * registry.
935
+ *
936
+ * @throws ObjectNotRegisteredException Raised if the object isn't
937
+ * registered with the registry.
938
+ *
939
+ * @throws DeploymentException Raised if the object can't be
940
+ * removed. This might happen if the object was added with a
941
+ * deployment descriptor.
942
+ *
943
+ **/
944
+ void removeObject(Ice::Identity id)
945
+ throws ObjectNotRegisteredException, DeploymentException;
946
+
947
+ /**
948
+ *
949
+ * Get the object info for the object with the given identity.
950
+ *
951
+ * @param id The identity of the object.
952
+ *
953
+ * @return The object info.
954
+ *
955
+ * @throws ObjectNotRegisteredException Raised if the object isn't
956
+ * registered with the registry.
957
+ *
958
+ **/
959
+ ["nonmutating", "cpp:const"] idempotent ObjectInfo getObjectInfo(Ice::Identity id)
960
+ throws ObjectNotRegisteredException;
961
+
962
+ /**
963
+ *
964
+ * Get the object info of all the registered objects with the
965
+ * given type.
966
+ *
967
+ * @param type The type of the object.
968
+ *
969
+ * @return The object infos.
970
+ *
971
+ **/
972
+ ["nonmutating", "cpp:const"] idempotent ObjectInfoSeq getObjectInfosByType(string type);
973
+
974
+ /**
975
+ *
976
+ * Get the object info of all the registered objects whose stringified
977
+ * identities match the given expression.
978
+ *
979
+ * @param expr The expression to match against the stringified
980
+ * identities of registered objects. The expression may contain
981
+ * a trailing wildcard (<tt>*</tt>) character.
982
+ *
983
+ * @return All the object infos with a stringified identity
984
+ * matching the given expression.
985
+ *
986
+ **/
987
+ ["nonmutating", "cpp:const"] idempotent ObjectInfoSeq getAllObjectInfos(string expr);
988
+
989
+ /**
990
+ *
991
+ * Ping an IceGrid node to see if it is active.
992
+ *
993
+ * @param name The node name.
994
+ *
995
+ * @return true if the node ping succeeded, false otherwise.
996
+ *
997
+ * @throws NodeNotExistException Raised if the node doesn't exist.
998
+ *
999
+ **/
1000
+ ["nonmutating", "cpp:const"] idempotent bool pingNode(string name)
1001
+ throws NodeNotExistException;
1002
+
1003
+ /**
1004
+ *
1005
+ * Get the load averages of the node.
1006
+ *
1007
+ * @param name The node name.
1008
+ *
1009
+ * @return The node load information.
1010
+ *
1011
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1012
+ *
1013
+ * @throws NodeUnreachableException Raised if the node could not be
1014
+ * reached.
1015
+ *
1016
+ **/
1017
+ ["nonmutating", "cpp:const"] idempotent LoadInfo getNodeLoad(string name)
1018
+ throws NodeNotExistException, NodeUnreachableException;
1019
+
1020
+ /**
1021
+ *
1022
+ * Get the node information for the node with the given name.
1023
+ *
1024
+ * @param name The node name.
1025
+ *
1026
+ * @return The node information.
1027
+ *
1028
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1029
+ *
1030
+ * @throws NodeUnreachableException Raised if the node could not be
1031
+ * reached.
1032
+ *
1033
+ **/
1034
+ ["nonmutating", "cpp:const"] idempotent NodeInfo getNodeInfo(string name)
1035
+ throws NodeNotExistException, NodeUnreachableException;
1036
+
1037
+
1038
+ /**
1039
+ *
1040
+ * Get a proxy to the IceGrid node's admin object.
1041
+ *
1042
+ * @param name The IceGrid node name
1043
+ *
1044
+ * @return A proxy to the IceGrid node's admin object
1045
+ *
1046
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1047
+ *
1048
+ * @throws NodeUnreachableException Raised if the node could not be
1049
+ * reached.
1050
+ *
1051
+ **/
1052
+ ["cpp:const"] idempotent Object* getNodeAdmin(string name)
1053
+ throws NodeNotExistException, NodeUnreachableException;
1054
+
1055
+ /**
1056
+ *
1057
+ * Get the number of physical processor sockets for the machine
1058
+ * running the node with the given name.
1059
+ *
1060
+ * Note that this method will return 1 on operating systems where
1061
+ * this can't be automatically determined and where the
1062
+ * IceGrid.Node.ProcessorSocketCount property for the node is not
1063
+ * set.
1064
+ *
1065
+ * @param name The node name.
1066
+ *
1067
+ * @return The number of processor sockets or 1 if the number of
1068
+ * sockets can't determined.
1069
+ *
1070
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1071
+ *
1072
+ * @throws NodeUnreachableException Raised if the node could not be
1073
+ * reached.
1074
+ *
1075
+ **/
1076
+ ["nonmutating", "cpp:const"] idempotent int getNodeProcessorSocketCount(string name)
1077
+ throws NodeNotExistException, NodeUnreachableException;
1078
+
1079
+ /**
1080
+ *
1081
+ * Shutdown an IceGrid node.
1082
+ *
1083
+ * @param name The node name.
1084
+ *
1085
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1086
+ *
1087
+ * @throws NodeUnreachableException Raised if the node could not be
1088
+ * reached.
1089
+ *
1090
+ **/
1091
+ void shutdownNode(string name)
1092
+ throws NodeNotExistException, NodeUnreachableException;
1093
+
1094
+ /**
1095
+ *
1096
+ * Get the hostname of this node.
1097
+ *
1098
+ * @param name The node name.
1099
+ *
1100
+ * @return The node hostname.
1101
+ *
1102
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1103
+ *
1104
+ * @throws NodeUnreachableException Raised if the node could not be
1105
+ * reached.
1106
+ *
1107
+ **/
1108
+ ["nonmutating", "cpp:const"] idempotent string getNodeHostname(string name)
1109
+ throws NodeNotExistException, NodeUnreachableException;
1110
+
1111
+ /**
1112
+ *
1113
+ * Get all the IceGrid nodes currently registered.
1114
+ *
1115
+ * @return The node names.
1116
+ *
1117
+ **/
1118
+ ["nonmutating", "cpp:const"] idempotent Ice::StringSeq getAllNodeNames();
1119
+
1120
+ /**
1121
+ *
1122
+ * Ping an IceGrid registry to see if it is active.
1123
+ *
1124
+ * @param name The registry name.
1125
+ *
1126
+ * @return true if the registry ping succeeded, false otherwise.
1127
+ *
1128
+ * @throws RegistryNotExistException Raised if the registry doesn't exist.
1129
+ *
1130
+ **/
1131
+ ["cpp:const"] idempotent bool pingRegistry(string name)
1132
+ throws RegistryNotExistException;
1133
+
1134
+ /**
1135
+ *
1136
+ * Get the registry information for the registry with the given name.
1137
+ *
1138
+ * @param name The registry name.
1139
+ *
1140
+ * @return The registry information.
1141
+ *
1142
+ * @throws RegistryNotExistException Raised if the registry doesn't exist.
1143
+ *
1144
+ * @throws RegistryUnreachableException Raised if the registry could not be
1145
+ * reached.
1146
+ *
1147
+ **/
1148
+ ["cpp:const"] idempotent RegistryInfo getRegistryInfo(string name)
1149
+ throws RegistryNotExistException, RegistryUnreachableException;
1150
+
1151
+ /**
1152
+ *
1153
+ * Get a proxy to the IceGrid registry's admin object.
1154
+ *
1155
+ * @param name The registry name
1156
+ *
1157
+ * @return A proxy to the IceGrid registry's admin object
1158
+ *
1159
+ * @throws RegistryNotExistException Raised if the registry doesn't exist.
1160
+ *
1161
+ **/
1162
+ ["cpp:const"] idempotent Object* getRegistryAdmin(string name)
1163
+ throws RegistryNotExistException;
1164
+
1165
+ /**
1166
+ *
1167
+ * Shutdown an IceGrid registry.
1168
+ *
1169
+ * @param name The registry name.
1170
+ *
1171
+ * @throws RegistryNotExistException Raised if the registry doesn't exist.
1172
+ *
1173
+ * @throws RegistryUnreachableException Raised if the registry could not be
1174
+ * reached.
1175
+ *
1176
+ **/
1177
+ idempotent void shutdownRegistry(string name)
1178
+ throws RegistryNotExistException, RegistryUnreachableException;
1179
+
1180
+ /**
1181
+ *
1182
+ * Get all the IceGrid registries currently registered.
1183
+ *
1184
+ * @return The registry names.
1185
+ *
1186
+ **/
1187
+ ["cpp:const"] idempotent Ice::StringSeq getAllRegistryNames();
1188
+
1189
+ /**
1190
+ *
1191
+ * Shut down the IceGrid registry.
1192
+ *
1193
+ **/
1194
+ void shutdown();
1195
+
1196
+ /**
1197
+ *
1198
+ * Returns the checksums for the IceGrid Slice definitions.
1199
+ *
1200
+ * @return A dictionary mapping Slice type ids to their checksums.
1201
+ *
1202
+ **/
1203
+ ["nonmutating", "cpp:const"] idempotent Ice::SliceChecksumDict getSliceChecksums();
1204
+ };
1205
+
1206
+ /**
1207
+ *
1208
+ * This interface provides access to IceGrid log file contents.
1209
+ *
1210
+ **/
1211
+ interface FileIterator
1212
+ {
1213
+ /**
1214
+ *
1215
+ * Read lines from the log file.
1216
+ *
1217
+ * @param size Specifies the maximum number of bytes to be
1218
+ * received. The server will ensure that the returned message
1219
+ * doesn't exceed the given size.
1220
+ *
1221
+ * @param lines The lines read from the file. If there was nothing to
1222
+ * read from the file since the last call to read, an empty
1223
+ * sequence is returned. The last line of the sequence is always
1224
+ * incomplete (and therefore no '\n' should be added when writing
1225
+ * the last line to the to the output device).
1226
+ *
1227
+ * @return True if EOF is encountered.
1228
+ *
1229
+ * @throws FileNotAvailableException Raised if there was a problem
1230
+ * to read lines from the file.
1231
+ *
1232
+ **/
1233
+ bool read(int size, out Ice::StringSeq lines)
1234
+ throws FileNotAvailableException;
1235
+
1236
+ /**
1237
+ *
1238
+ * Destroy the iterator.
1239
+ *
1240
+ **/
1241
+ void destroy();
1242
+ };
1243
+
1244
+ interface RegistryObserver;
1245
+ interface NodeObserver;
1246
+ interface ApplicationObserver;
1247
+ interface AdapterObserver;
1248
+ interface ObjectObserver;
1249
+
1250
+ /**
1251
+ *
1252
+ * Used by administrative clients to view,
1253
+ * update, and receive observer updates from the IceGrid
1254
+ * registry. Admin sessions are created either with the {@link Registry}
1255
+ * object or the registry admin {@link Glacier2.SessionManager} object.
1256
+ *
1257
+ * @see Registry
1258
+ * @see Glacier2.SessionManager
1259
+ *
1260
+ **/
1261
+ interface AdminSession extends Glacier2::Session
1262
+ {
1263
+ /**
1264
+ *
1265
+ * Keep the session alive. Clients should call this operation
1266
+ * regularly to prevent the server from reaping the session.
1267
+ *
1268
+ * @see Registry#getSessionTimeout
1269
+ *
1270
+ **/
1271
+ idempotent void keepAlive();
1272
+
1273
+ /**
1274
+ *
1275
+ * Get the admin interface. The admin object returned by this
1276
+ * operation can only be accessed by the session.
1277
+ *
1278
+ * @return The admin interface proxy.
1279
+ *
1280
+ **/
1281
+ ["nonmutating", "cpp:const"] idempotent Admin* getAdmin();
1282
+
1283
+
1284
+ /**
1285
+ *
1286
+ * Get a "template" proxy for admin callback objects.
1287
+ * An Admin client uses this proxy to set the category of its callback
1288
+ * objects, and the published endpoints of the object adapter hosting
1289
+ * the admin callback objects.
1290
+ *
1291
+ * @return A template proxy. The returned proxy is null when the Admin
1292
+ * session was established using Glacier2.
1293
+ *
1294
+ **/
1295
+ ["cpp:const"] idempotent Object* getAdminCallbackTemplate();
1296
+
1297
+
1298
+ /**
1299
+ *
1300
+ * Set the observer proxies that receive
1301
+ * notifications when the state of the registry
1302
+ * or nodes changes.
1303
+ *
1304
+ * @param registryObs The registry observer.
1305
+ *
1306
+ * @param nodeObs The node observer.
1307
+ *
1308
+ * @param appObs The application observer.
1309
+ *
1310
+ * @param adptObs The adapter observer.
1311
+ *
1312
+ * @param objObs The object observer.
1313
+ *
1314
+ * @throws ObserverAlreadyRegisteredException Raised if an
1315
+ * observer is already registered with this registry.
1316
+ *
1317
+ **/
1318
+ idempotent void setObservers(RegistryObserver* registryObs, NodeObserver* nodeObs, ApplicationObserver* appObs,
1319
+ AdapterObserver* adptObs, ObjectObserver* objObs)
1320
+ throws ObserverAlreadyRegisteredException;
1321
+
1322
+ /**
1323
+ *
1324
+ * Set the observer identities that receive
1325
+ * notifications the state of the registry
1326
+ * or nodes changes. This operation should be used by clients that
1327
+ * are using a bidirectional connection to communicate with the
1328
+ * session.
1329
+ *
1330
+ * @param registryObs The registry observer identity.
1331
+ *
1332
+ * @param nodeObs The node observer identity.
1333
+ *
1334
+ * @param appObs The application observer.
1335
+ *
1336
+ * @param adptObs The adapter observer.
1337
+ *
1338
+ * @param objObs The object observer.
1339
+ *
1340
+ * @throws ObserverAlreadyRegisteredException Raised if an
1341
+ * observer is already registered with this registry.
1342
+ *
1343
+ **/
1344
+ idempotent void setObserversByIdentity(Ice::Identity registryObs, Ice::Identity nodeObs, Ice::Identity appObs,
1345
+ Ice::Identity adptObs, Ice::Identity objObs)
1346
+ throws ObserverAlreadyRegisteredException;
1347
+
1348
+ /**
1349
+ *
1350
+ * Acquires an exclusive lock to start updating the registry applications.
1351
+ *
1352
+ * @return The current serial.
1353
+ *
1354
+ * @throws AccessDeniedException Raised if the exclusive lock can't be
1355
+ * acquired. This might happen if the lock is currently acquired by
1356
+ * another session.
1357
+ *
1358
+ **/
1359
+ int startUpdate()
1360
+ throws AccessDeniedException;
1361
+
1362
+ /**
1363
+ *
1364
+ * Finish updating the registry and release the exclusive lock.
1365
+ *
1366
+ * @throws AccessDeniedException Raised if the session doesn't hold the
1367
+ * exclusive lock.
1368
+ *
1369
+ **/
1370
+ void finishUpdate()
1371
+ throws AccessDeniedException;
1372
+
1373
+ /**
1374
+ *
1375
+ * Get the name of the registry replica hosting this session.
1376
+ *
1377
+ * @return The replica name of the registry.
1378
+ *
1379
+ **/
1380
+ ["cpp:const"] idempotent string getReplicaName();
1381
+
1382
+ /**
1383
+ *
1384
+ * Open the given server log file for reading. The file can be
1385
+ * read with the returned file iterator.
1386
+ *
1387
+ * @param id The server id.
1388
+ *
1389
+ * @param path The path of the log file. A log file can be opened
1390
+ * only if it's declared in the server or service deployment
1391
+ * descriptor.
1392
+ *
1393
+ * @param count Specifies where to start reading the file. If
1394
+ * negative, the file is read from the begining. If 0 or positive,
1395
+ * the file is read from the last <tt>count</tt> lines.
1396
+ *
1397
+ * @return An iterator to read the file.
1398
+ *
1399
+ * @throws FileNotAvailableException Raised if the file can't be
1400
+ * read.
1401
+ *
1402
+ * @throws ServerNotExistException Raised if the server doesn't
1403
+ * exist.
1404
+ *
1405
+ * @throws NodeUnreachableException Raised if the node could not
1406
+ * be reached.
1407
+ *
1408
+ * @throws DeploymentException Raised if the server couldn't be
1409
+ * deployed on the node.
1410
+ *
1411
+ **/
1412
+ FileIterator* openServerLog(string id, string path, int count)
1413
+ throws FileNotAvailableException, ServerNotExistException, NodeUnreachableException, DeploymentException;
1414
+
1415
+ /**
1416
+ *
1417
+ * Open the given server stderr file for reading. The file can be
1418
+ * read with the returned file iterator.
1419
+ *
1420
+ * @param id The server id.
1421
+ *
1422
+ * @param count Specifies where to start reading the file. If
1423
+ * negative, the file is read from the begining. If 0 or positive,
1424
+ * the file is read from the last <tt>count</tt> lines.
1425
+ *
1426
+ * @return An iterator to read the file.
1427
+ *
1428
+ * @throws FileNotAvailableException Raised if the file can't be
1429
+ * read.
1430
+ *
1431
+ * @throws ServerNotExistException Raised if the server doesn't
1432
+ * exist.
1433
+ *
1434
+ * @throws NodeUnreachableException Raised if the node could not
1435
+ * be reached.
1436
+ *
1437
+ * @throws DeploymentException Raised if the server couldn't be
1438
+ * deployed on the node.
1439
+ *
1440
+ **/
1441
+ FileIterator* openServerStdErr(string id, int count)
1442
+ throws FileNotAvailableException, ServerNotExistException, NodeUnreachableException, DeploymentException;
1443
+
1444
+ /**
1445
+ *
1446
+ * Open the given server stdout file for reading. The file can be
1447
+ * read with the returned file iterator.
1448
+ *
1449
+ * @param id The server id.
1450
+ *
1451
+ * @param count Specifies where to start reading the file. If
1452
+ * negative, the file is read from the begining. If 0 or positive,
1453
+ * the file is read from the last <tt>count</tt> lines.
1454
+ *
1455
+ * @return An iterator to read the file.
1456
+ *
1457
+ * @throws FileNotAvailableException Raised if the file can't be
1458
+ * read.
1459
+ *
1460
+ * @throws ServerNotExistException Raised if the server doesn't
1461
+ * exist.
1462
+ *
1463
+ * @throws NodeUnreachableException Raised if the node could not
1464
+ * be reached.
1465
+ *
1466
+ * @throws DeploymentException Raised if the server couldn't be
1467
+ * deployed on the node.
1468
+ *
1469
+ **/
1470
+ FileIterator* openServerStdOut(string id, int count)
1471
+ throws FileNotAvailableException, ServerNotExistException, NodeUnreachableException, DeploymentException;
1472
+
1473
+ /**
1474
+ *
1475
+ * Open the given node stderr file for reading. The file can be
1476
+ * read with the returned file iterator.
1477
+ *
1478
+ * @param name The node name.
1479
+ *
1480
+ * @param count Specifies where to start reading the file. If
1481
+ * negative, the file is read from the begining. If 0 or positive,
1482
+ * the file is read from the last <tt>count</tt> lines.
1483
+ *
1484
+ * @return An iterator to read the file.
1485
+ *
1486
+ * @throws FileNotAvailableException Raised if the file can't be
1487
+ * read.
1488
+ *
1489
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1490
+ *
1491
+ * @throws NodeUnreachableException Raised if the node could not
1492
+ * be reached.
1493
+ *
1494
+ **/
1495
+ FileIterator* openNodeStdErr(string name, int count)
1496
+ throws FileNotAvailableException, NodeNotExistException, NodeUnreachableException;
1497
+
1498
+ /**
1499
+ *
1500
+ * Open the given node stdout file for reading. The file can be
1501
+ * read with the returned file iterator.
1502
+ *
1503
+ * @param name The node name.
1504
+ *
1505
+ * @param count Specifies where to start reading the file. If
1506
+ * negative, the file is read from the begining. If 0 or positive,
1507
+ * the file is read from the last <tt>count</tt> lines.
1508
+ *
1509
+ * @return An iterator to read the file.
1510
+ *
1511
+ * @throws FileNotAvailableException Raised if the file can't be
1512
+ * read.
1513
+ *
1514
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1515
+ *
1516
+ * @throws NodeUnreachableException Raised if the node could not
1517
+ * be reached.
1518
+ *
1519
+ **/
1520
+ FileIterator* openNodeStdOut(string name, int count)
1521
+ throws FileNotAvailableException, NodeNotExistException, NodeUnreachableException;
1522
+
1523
+ /**
1524
+ *
1525
+ * Open the given registry stderr file for reading. The file can be
1526
+ * read with the returned file iterator.
1527
+ *
1528
+ * @param name The registry name.
1529
+ *
1530
+ * @param count Specifies where to start reading the file. If
1531
+ * negative, the file is read from the begining. If 0 or positive,
1532
+ * the file is read from the last <tt>count</tt> lines.
1533
+ *
1534
+ * @return An iterator to read the file.
1535
+ *
1536
+ * @throws FileNotAvailableException Raised if the file can't be
1537
+ * read.
1538
+ *
1539
+ * @throws RegistryNotExistException Raised if the registry
1540
+ * doesn't exist.
1541
+ *
1542
+ * @throws RegistryUnreachableException Raised if the registry
1543
+ * could not be reached.
1544
+ *
1545
+ **/
1546
+ FileIterator* openRegistryStdErr(string name, int count)
1547
+ throws FileNotAvailableException, RegistryNotExistException, RegistryUnreachableException;
1548
+
1549
+ /**
1550
+ *
1551
+ * Open the given registry stdout file for reading. The file can be
1552
+ * read with the returned file iterator.
1553
+ *
1554
+ * @param name The registry name.
1555
+ *
1556
+ * @param count Specifies where to start reading the file. If
1557
+ * negative, the file is read from the begining. If 0 or positive,
1558
+ * the file is read from the last <tt>count</tt> lines.
1559
+ *
1560
+ * @return An iterator to read the file.
1561
+ *
1562
+ * @throws FileNotAvailableException Raised if the file can't be
1563
+ * read.
1564
+ *
1565
+ * @throws RegistryNotExistException Raised if the registry
1566
+ * doesn't exist.
1567
+ *
1568
+ * @throws RegistryUnreachableException Raised if the registry
1569
+ * could not be reached.
1570
+ *
1571
+ **/
1572
+ FileIterator * openRegistryStdOut(string name, int count)
1573
+ throws FileNotAvailableException, RegistryNotExistException, RegistryUnreachableException;
1574
+
1575
+ };
1576
+
1577
+ };
1578
+