zeroc-ice 3.7.11__cp313-cp313-macosx_10_13_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. Glacier2/Metrics_ice.py +82 -0
  2. Glacier2/PermissionsVerifierF_ice.py +32 -0
  3. Glacier2/PermissionsVerifier_ice.py +284 -0
  4. Glacier2/RouterF_ice.py +28 -0
  5. Glacier2/Router_ice.py +618 -0
  6. Glacier2/SSLInfo_ice.py +179 -0
  7. Glacier2/Session_ice.py +1103 -0
  8. Glacier2/__init__.py +226 -0
  9. Ice/BuiltinSequences_ice.py +65 -0
  10. Ice/CommunicatorF_ice.py +27 -0
  11. Ice/Communicator_ice.py +469 -0
  12. Ice/ConnectionF_ice.py +33 -0
  13. Ice/Connection_ice.py +680 -0
  14. Ice/Current_ice.py +175 -0
  15. Ice/EndpointF_ice.py +45 -0
  16. Ice/EndpointTypes_ice.py +54 -0
  17. Ice/Endpoint_ice.py +304 -0
  18. Ice/FacetMap_ice.py +27 -0
  19. Ice/Identity_ice.py +133 -0
  20. Ice/ImplicitContextF_ice.py +27 -0
  21. Ice/ImplicitContext_ice.py +119 -0
  22. Ice/InstrumentationF_ice.py +38 -0
  23. Ice/Instrumentation_ice.py +566 -0
  24. Ice/LocalException_ice.py +1715 -0
  25. Ice/LocatorF_ice.py +32 -0
  26. Ice/Locator_ice.py +728 -0
  27. Ice/LoggerF_ice.py +27 -0
  28. Ice/Logger_ice.py +96 -0
  29. Ice/Metrics_ice.py +864 -0
  30. Ice/ObjectAdapterF_ice.py +27 -0
  31. Ice/ObjectAdapter_ice.py +461 -0
  32. Ice/ObjectFactory_ice.py +68 -0
  33. Ice/PluginF_ice.py +30 -0
  34. Ice/Plugin_ice.py +136 -0
  35. Ice/ProcessF_ice.py +28 -0
  36. Ice/Process_ice.py +175 -0
  37. Ice/PropertiesAdmin_ice.py +247 -0
  38. Ice/PropertiesF_ice.py +31 -0
  39. Ice/Properties_ice.py +199 -0
  40. Ice/Py3/IceFuture.py +52 -0
  41. Ice/Py3/__init__.py +3 -0
  42. Ice/RemoteLogger_ice.py +617 -0
  43. Ice/RouterF_ice.py +28 -0
  44. Ice/Router_ice.py +350 -0
  45. Ice/ServantLocatorF_ice.py +27 -0
  46. Ice/ServantLocator_ice.py +110 -0
  47. Ice/SliceChecksumDict_ice.py +29 -0
  48. Ice/ValueFactory_ice.py +125 -0
  49. Ice/Version_ice.py +217 -0
  50. Ice/__init__.py +2008 -0
  51. IceBox/IceBox_ice.py +644 -0
  52. IceBox/__init__.py +10 -0
  53. IceGrid/Admin_ice.py +6662 -0
  54. IceGrid/Descriptor_ice.py +1795 -0
  55. IceGrid/Exception_ice.py +592 -0
  56. IceGrid/FileParser_ice.py +171 -0
  57. IceGrid/PluginFacade_ice.py +288 -0
  58. IceGrid/Registry_ice.py +985 -0
  59. IceGrid/Session_ice.py +406 -0
  60. IceGrid/UserAccountMapper_ice.py +166 -0
  61. IceGrid/__init__.py +17 -0
  62. IceMX/__init__.py +12 -0
  63. IcePatch2/FileInfo_ice.py +287 -0
  64. IcePatch2/FileServer_ice.py +555 -0
  65. IcePatch2/__init__.py +11 -0
  66. IcePy.cpython-313-darwin.so +0 -0
  67. IceStorm/IceStorm_ice.py +1265 -0
  68. IceStorm/Metrics_ice.py +106 -0
  69. IceStorm/__init__.py +10 -0
  70. slice/Glacier2/Metrics.ice +88 -0
  71. slice/Glacier2/PermissionsVerifier.ice +111 -0
  72. slice/Glacier2/PermissionsVerifierF.ice +30 -0
  73. slice/Glacier2/Router.ice +186 -0
  74. slice/Glacier2/RouterF.ice +29 -0
  75. slice/Glacier2/SSLInfo.ice +59 -0
  76. slice/Glacier2/Session.ice +274 -0
  77. slice/Ice/BuiltinSequences.ice +59 -0
  78. slice/Ice/Communicator.ice +676 -0
  79. slice/Ice/CommunicatorF.ice +31 -0
  80. slice/Ice/Connection.ice +516 -0
  81. slice/Ice/ConnectionF.ice +33 -0
  82. slice/Ice/Current.ice +170 -0
  83. slice/Ice/Endpoint.ice +291 -0
  84. slice/Ice/EndpointF.ice +43 -0
  85. slice/Ice/EndpointTypes.ice +48 -0
  86. slice/Ice/FacetMap.ice +36 -0
  87. slice/Ice/Identity.ice +75 -0
  88. slice/Ice/ImplicitContext.ice +119 -0
  89. slice/Ice/ImplicitContextF.ice +30 -0
  90. slice/Ice/Instrumentation.ice +509 -0
  91. slice/Ice/InstrumentationF.ice +38 -0
  92. slice/Ice/LocalException.ice +1040 -0
  93. slice/Ice/Locator.ice +239 -0
  94. slice/Ice/LocatorF.ice +32 -0
  95. slice/Ice/Logger.ice +99 -0
  96. slice/Ice/LoggerF.ice +31 -0
  97. slice/Ice/Metrics.ice +436 -0
  98. slice/Ice/ObjectAdapter.ice +710 -0
  99. slice/Ice/ObjectAdapterF.ice +31 -0
  100. slice/Ice/ObjectFactory.ice +71 -0
  101. slice/Ice/Plugin.ice +131 -0
  102. slice/Ice/PluginF.ice +36 -0
  103. slice/Ice/Process.ice +64 -0
  104. slice/Ice/ProcessF.ice +31 -0
  105. slice/Ice/Properties.ice +244 -0
  106. slice/Ice/PropertiesAdmin.ice +87 -0
  107. slice/Ice/PropertiesF.ice +32 -0
  108. slice/Ice/RemoteLogger.ice +226 -0
  109. slice/Ice/Router.ice +103 -0
  110. slice/Ice/RouterF.ice +31 -0
  111. slice/Ice/ServantLocator.ice +136 -0
  112. slice/Ice/ServantLocatorF.ice +31 -0
  113. slice/Ice/SliceChecksumDict.ice +36 -0
  114. slice/Ice/ValueFactory.ice +133 -0
  115. slice/Ice/Version.ice +51 -0
  116. slice/IceBT/ConnectionInfo.ice +59 -0
  117. slice/IceBT/EndpointInfo.ice +57 -0
  118. slice/IceBT/Types.ice +45 -0
  119. slice/IceBox/IceBox.ice +216 -0
  120. slice/IceGrid/Admin.ice +1957 -0
  121. slice/IceGrid/Descriptor.ice +1094 -0
  122. slice/IceGrid/Exception.ice +396 -0
  123. slice/IceGrid/FileParser.ice +72 -0
  124. slice/IceGrid/PluginFacade.ice +329 -0
  125. slice/IceGrid/Registry.ice +269 -0
  126. slice/IceGrid/Session.ice +128 -0
  127. slice/IceGrid/UserAccountMapper.ice +69 -0
  128. slice/IceIAP/ConnectionInfo.ice +74 -0
  129. slice/IceIAP/EndpointInfo.ice +68 -0
  130. slice/IcePatch2/FileInfo.ice +85 -0
  131. slice/IcePatch2/FileServer.ice +191 -0
  132. slice/IceSSL/ConnectionInfo.ice +54 -0
  133. slice/IceSSL/ConnectionInfoF.ice +31 -0
  134. slice/IceSSL/EndpointInfo.ice +45 -0
  135. slice/IceStorm/IceStorm.ice +414 -0
  136. slice/IceStorm/Metrics.ice +83 -0
  137. slice2py.py +21 -0
  138. zeroc_ice-3.7.11.dist-info/METADATA +97 -0
  139. zeroc_ice-3.7.11.dist-info/RECORD +142 -0
  140. zeroc_ice-3.7.11.dist-info/WHEEL +5 -0
  141. zeroc_ice-3.7.11.dist-info/entry_points.txt +2 -0
  142. zeroc_ice-3.7.11.dist-info/top_level.txt +10 -0
@@ -0,0 +1,1957 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICEGRID_API"]]
8
+ [["cpp:doxygen:include:IceGrid/IceGrid.h"]]
9
+ [["cpp:header-ext:h"]]
10
+ [["cpp:include:IceGrid/Config.h"]]
11
+
12
+ [["ice-prefix"]]
13
+
14
+ [["js:module:ice"]]
15
+ [["js:cjs-module"]]
16
+
17
+ [["objc:dll-export:ICEGRID_API"]]
18
+ [["objc:header-dir:objc"]]
19
+
20
+ [["python:pkgdir:IceGrid"]]
21
+
22
+ #include <Ice/Identity.ice>
23
+ #include <Ice/BuiltinSequences.ice>
24
+ #include <Ice/Properties.ice>
25
+ #include <Ice/SliceChecksumDict.ice>
26
+ #include <Glacier2/Session.ice>
27
+ #include <IceGrid/Exception.ice>
28
+ #include <IceGrid/Descriptor.ice>
29
+
30
+ #ifndef __SLICE2JAVA_COMPAT__
31
+ [["java:package:com.zeroc"]]
32
+ #endif
33
+
34
+ ["objc:prefix:ICEGRID"]
35
+ module IceGrid
36
+ {
37
+
38
+ /**
39
+ *
40
+ * An enumeration representing the state of the server.
41
+ *
42
+ **/
43
+ enum ServerState
44
+ {
45
+ /**
46
+ *
47
+ * The server is not running.
48
+ *
49
+ **/
50
+ Inactive,
51
+
52
+ /**
53
+ *
54
+ * The server is being activated and will change to the active
55
+ * state when the registered server object adapters are activated
56
+ * or to the activation timed out state if the activation timeout
57
+ * expires.
58
+ *
59
+ **/
60
+ Activating,
61
+
62
+ /**
63
+ *
64
+ * The activation timed out state indicates that the server
65
+ * activation timed out.
66
+ *
67
+ **/
68
+ ActivationTimedOut,
69
+
70
+ /**
71
+ *
72
+ * The server is running.
73
+ *
74
+ **/
75
+ Active,
76
+
77
+ /**
78
+ *
79
+ * The server is being deactivated.
80
+ *
81
+ **/
82
+ Deactivating,
83
+
84
+ /**
85
+ *
86
+ * The server is being destroyed.
87
+ *
88
+ **/
89
+ Destroying,
90
+
91
+ /**
92
+ *
93
+ * The server is destroyed.
94
+ *
95
+ **/
96
+ Destroyed
97
+ }
98
+
99
+ /**
100
+ *
101
+ * A dictionary of proxies.
102
+ *
103
+ **/
104
+ dictionary<string, Object*> StringObjectProxyDict;
105
+
106
+ /**
107
+ *
108
+ * Information about an Ice object.
109
+ *
110
+ **/
111
+ ["cpp:comparable"]
112
+ struct ObjectInfo
113
+ {
114
+ /**
115
+ *
116
+ * The proxy of the object.
117
+ *
118
+ **/
119
+ Object* proxy;
120
+
121
+ /**
122
+ *
123
+ * The type of the object.
124
+ *
125
+ **/
126
+ string type;
127
+ }
128
+
129
+ /**
130
+ *
131
+ * A sequence of object information structures.
132
+ *
133
+ **/
134
+ sequence<ObjectInfo> ObjectInfoSeq;
135
+
136
+ /**
137
+ *
138
+ * Information about an adapter registered with the IceGrid registry.
139
+ *
140
+ **/
141
+ ["cpp:comparable"]
142
+ struct AdapterInfo
143
+ {
144
+ /**
145
+ *
146
+ * The id of the adapter.
147
+ *
148
+ **/
149
+ string id;
150
+
151
+ /**
152
+ *
153
+ * A dummy direct proxy that contains the adapter endpoints.
154
+ *
155
+ **/
156
+ Object* proxy;
157
+
158
+ /**
159
+ *
160
+ * The replica group id of the object adapter, or empty if the
161
+ * adapter doesn't belong to a replica group.
162
+ *
163
+ **/
164
+ string replicaGroupId;
165
+ }
166
+
167
+ /**
168
+ *
169
+ * A sequence of adapter information structures.
170
+ *
171
+ **/
172
+ sequence<AdapterInfo> AdapterInfoSeq;
173
+
174
+ /**
175
+ *
176
+ * Information about a server managed by an IceGrid node.
177
+ *
178
+ **/
179
+ struct ServerInfo
180
+ {
181
+ /**
182
+ *
183
+ * The server application.
184
+ *
185
+ **/
186
+ string application;
187
+
188
+ /**
189
+ *
190
+ * The application uuid.
191
+ *
192
+ **/
193
+ string uuid;
194
+
195
+ /**
196
+ *
197
+ * The application revision.
198
+ *
199
+ **/
200
+ int revision;
201
+
202
+ /**
203
+ *
204
+ * The server node.
205
+ *
206
+ **/
207
+ string node;
208
+
209
+ /**
210
+ *
211
+ * The server descriptor.
212
+ *
213
+ **/
214
+ ServerDescriptor descriptor;
215
+
216
+ /**
217
+ *
218
+ * The id of the session which allocated the server.
219
+ *
220
+ **/
221
+ string sessionId;
222
+ }
223
+
224
+ /**
225
+ *
226
+ * Information about an IceGrid node.
227
+ *
228
+ **/
229
+ struct NodeInfo
230
+ {
231
+ /**
232
+ *
233
+ * The name of the node.
234
+ *
235
+ **/
236
+ string name;
237
+
238
+ /**
239
+ *
240
+ * The operating system name.
241
+ *
242
+ **/
243
+ string os;
244
+
245
+ /**
246
+ *
247
+ * The network name of the host running this node (as defined in
248
+ * uname()).
249
+ *
250
+ **/
251
+ string hostname;
252
+
253
+ /**
254
+ *
255
+ * The operation system release level (as defined in uname()).
256
+ *
257
+ **/
258
+ string release;
259
+
260
+ /**
261
+ *
262
+ * The operation system version (as defined in uname()).
263
+ *
264
+ **/
265
+ string version;
266
+
267
+ /**
268
+ *
269
+ * The machine hardware type (as defined in uname()).
270
+ *
271
+ **/
272
+ string machine;
273
+
274
+ /**
275
+ *
276
+ * The number of processor threads on the node.
277
+ * For example, nProcessors is 8 on a computer with a single quad-core
278
+ * processor and two HT threads per core.
279
+ *
280
+ **/
281
+ int nProcessors;
282
+
283
+ /**
284
+ *
285
+ * The path to the node data directory.
286
+ *
287
+ **/
288
+ string dataDir;
289
+ }
290
+
291
+ /**
292
+ *
293
+ * Information about an IceGrid registry replica.
294
+ *
295
+ **/
296
+ struct RegistryInfo
297
+ {
298
+ /**
299
+ *
300
+ * The name of the registry.
301
+ *
302
+ **/
303
+ string name;
304
+
305
+ /**
306
+ *
307
+ * The network name of the host running this registry (as defined in
308
+ * uname()).
309
+ *
310
+ **/
311
+ string hostname;
312
+ }
313
+
314
+ /**
315
+ *
316
+ * A sequence of {@link RegistryInfo} structures.
317
+ *
318
+ **/
319
+ sequence<RegistryInfo> RegistryInfoSeq;
320
+
321
+ /**
322
+ *
323
+ * Information about the load of a node.
324
+ *
325
+ **/
326
+ struct LoadInfo
327
+ {
328
+ /** The load average over the past minute. */
329
+ float avg1;
330
+
331
+ /** The load average over the past 5 minutes. */
332
+ float avg5;
333
+
334
+ /** The load average over the past 15 minutes. */
335
+ float avg15;
336
+ }
337
+
338
+ /**
339
+ *
340
+ * Information about an IceGrid application.
341
+ *
342
+ **/
343
+ struct ApplicationInfo
344
+ {
345
+ /** Unique application identifier. */
346
+ string uuid;
347
+
348
+ /** The creation time. */
349
+ long createTime;
350
+
351
+ /** The user who created the application. */
352
+ string createUser;
353
+
354
+ /** The update time. */
355
+ long updateTime;
356
+
357
+ /** The user who updated the application. */
358
+ string updateUser;
359
+
360
+ /** The application revision number. */
361
+ int revision;
362
+
363
+ /** The application descriptor */
364
+ ApplicationDescriptor descriptor;
365
+ }
366
+
367
+ /**
368
+ *
369
+ * A sequence of {@link ApplicationInfo} structures.
370
+ *
371
+ **/
372
+ ["java:type:java.util.LinkedList<ApplicationInfo>"] sequence<ApplicationInfo> ApplicationInfoSeq;
373
+
374
+ /**
375
+ *
376
+ * Information about updates to an IceGrid application.
377
+ *
378
+ **/
379
+ struct ApplicationUpdateInfo
380
+ {
381
+ /** The update time. */
382
+ long updateTime;
383
+
384
+ /** The user who updated the application. */
385
+ string updateUser;
386
+
387
+ /** The application revision number. */
388
+ int revision;
389
+
390
+ /** The update descriptor. */
391
+ ApplicationUpdateDescriptor descriptor;
392
+ }
393
+
394
+ /**
395
+ *
396
+ * The IceGrid administrative interface.
397
+ * <p class="Warning">Allowing access to this interface
398
+ * is a security risk! Please see the IceGrid documentation
399
+ * for further information.
400
+ *
401
+ **/
402
+ interface Admin
403
+ {
404
+ /**
405
+ *
406
+ * Add an application to IceGrid.
407
+ *
408
+ * @param descriptor The application descriptor.
409
+ *
410
+ * @throws AccessDeniedException Raised if the session doesn't
411
+ * hold the exclusive lock or if another session is holding the
412
+ * lock.
413
+ *
414
+ * @throws DeploymentException Raised if application deployment
415
+ * failed.
416
+ *
417
+ **/
418
+ void addApplication(ApplicationDescriptor descriptor)
419
+ throws AccessDeniedException, DeploymentException;
420
+
421
+ /**
422
+ *
423
+ * Synchronize a deployed application with the given application
424
+ * descriptor. This operation will replace the current descriptor
425
+ * with this new descriptor.
426
+ *
427
+ * @param descriptor The application descriptor.
428
+ *
429
+ * @throws AccessDeniedException Raised if the session doesn't
430
+ * hold the exclusive lock or if another session is holding the
431
+ * lock.
432
+ *
433
+ * @throws DeploymentException Raised if application deployment
434
+ * failed.
435
+ *
436
+ * @throws ApplicationNotExistException Raised if the application
437
+ * doesn't exist.
438
+ *
439
+ **/
440
+ void syncApplication(ApplicationDescriptor descriptor)
441
+ throws AccessDeniedException, DeploymentException, ApplicationNotExistException;
442
+
443
+ /**
444
+ *
445
+ * Update a deployed application with the given update application
446
+ * descriptor.
447
+ *
448
+ * @param descriptor The update descriptor.
449
+ *
450
+ * @throws AccessDeniedException Raised if the session doesn't
451
+ * hold the exclusive lock or if another session is holding the
452
+ * lock.
453
+ *
454
+ * @throws DeploymentException Raised if application deployment
455
+ * failed.
456
+ *
457
+ * @throws ApplicationNotExistException Raised if the application
458
+ * doesn't exist.
459
+ *
460
+ **/
461
+ void updateApplication(ApplicationUpdateDescriptor descriptor)
462
+ throws AccessDeniedException, DeploymentException, ApplicationNotExistException;
463
+
464
+ /**
465
+ *
466
+ * Synchronize a deployed application with the given application
467
+ * descriptor. This operation will replace the current descriptor
468
+ * with this new descriptor only if no server restarts are
469
+ * necessary for the update of the application. If some servers
470
+ * need to be restarted, the synchronization is rejected with a
471
+ * DeploymentException.
472
+ *
473
+ * @param descriptor The application descriptor.
474
+ *
475
+ * @throws AccessDeniedException Raised if the session doesn't
476
+ * hold the exclusive lock or if another session is holding the
477
+ * lock.
478
+ *
479
+ * @throws DeploymentException Raised if application deployment
480
+ * failed.
481
+ *
482
+ * @throws ApplicationNotExistException Raised if the application
483
+ * doesn't exist.
484
+ *
485
+ **/
486
+ void syncApplicationWithoutRestart(ApplicationDescriptor descriptor)
487
+ throws AccessDeniedException, DeploymentException, ApplicationNotExistException;
488
+
489
+ /**
490
+ *
491
+ * Update a deployed application with the given update application
492
+ * descriptor only if no server restarts are necessary for the
493
+ * update of the application. If some servers need to be
494
+ * restarted, the synchronization is rejected with a
495
+ * DeploymentException.
496
+ *
497
+ * @param descriptor The update descriptor.
498
+ *
499
+ * @throws AccessDeniedException Raised if the session doesn't
500
+ * hold the exclusive lock or if another session is holding the
501
+ * lock.
502
+ *
503
+ * @throws DeploymentException Raised if application deployment
504
+ * failed.
505
+ *
506
+ * @throws ApplicationNotExistException Raised if the application
507
+ * doesn't exist.
508
+ *
509
+ **/
510
+ void updateApplicationWithoutRestart(ApplicationUpdateDescriptor descriptor)
511
+ throws AccessDeniedException, DeploymentException, ApplicationNotExistException;
512
+
513
+ /**
514
+ *
515
+ * Remove an application from IceGrid.
516
+ *
517
+ * @param name The application name.
518
+ *
519
+ * @throws AccessDeniedException Raised if the session doesn't
520
+ * hold the exclusive lock or if another session is holding the
521
+ * lock.
522
+ *
523
+ * @throws DeploymentException Raised if application deployment failed.
524
+ *
525
+ * @throws ApplicationNotExistException Raised if the application
526
+ * doesn't exist.
527
+ *
528
+ **/
529
+ void removeApplication(string name)
530
+ throws AccessDeniedException, DeploymentException, ApplicationNotExistException;
531
+
532
+ /**
533
+ *
534
+ * Instantiate a server template from an application on the given
535
+ * node.
536
+ *
537
+ * @param application The application name.
538
+ *
539
+ * @param node The name of the node where the server will be
540
+ * deployed.
541
+ *
542
+ * @param desc The descriptor of the server instance to deploy.
543
+ *
544
+ * @throws AccessDeniedException Raised if the session doesn't
545
+ * hold the exclusive lock or if another session is holding the
546
+ * lock.
547
+ *
548
+ * @throws DeploymentException Raised if server instantiation
549
+ * failed.
550
+ *
551
+ * @throws ApplicationNotExistException Raised if the application
552
+ * doesn't exist.
553
+ *
554
+ **/
555
+ void instantiateServer(string application, string node, ServerInstanceDescriptor desc)
556
+ throws AccessDeniedException, ApplicationNotExistException, DeploymentException;
557
+
558
+ /**
559
+ *
560
+ * Patch the given application data.
561
+ *
562
+ * @param name The application name.
563
+ *
564
+ * @param shutdown If true, the servers depending on the data to
565
+ * patch will be shut down if necessary.
566
+ *
567
+ * @throws ApplicationNotExistException Raised if the application
568
+ * doesn't exist.
569
+ *
570
+ * @throws PatchException Raised if the patch failed.
571
+ *
572
+ **/
573
+ ["amd"] void patchApplication(string name, bool shutdown)
574
+ throws ApplicationNotExistException, PatchException;
575
+
576
+ /**
577
+ *
578
+ * Get an application descriptor.
579
+ *
580
+ * @param name The application name.
581
+ *
582
+ * @return The application descriptor.
583
+ *
584
+ * @throws ApplicationNotExistException Raised if the application
585
+ * doesn't exist.
586
+ *
587
+ **/
588
+ ["nonmutating", "cpp:const"] idempotent ApplicationInfo getApplicationInfo(string name)
589
+ throws ApplicationNotExistException;
590
+
591
+ /**
592
+ *
593
+ * Get the default application descriptor.
594
+ *
595
+ * @return The default application descriptor.
596
+ *
597
+ * @throws DeploymentException Raised if the default application
598
+ * descriptor can't be accessed or is invalid.
599
+ *
600
+ **/
601
+ ["nonmutating", "cpp:const"] idempotent ApplicationDescriptor getDefaultApplicationDescriptor()
602
+ throws DeploymentException;
603
+
604
+ /**
605
+ *
606
+ * Get all the IceGrid applications currently registered.
607
+ *
608
+ * @return The application names.
609
+ *
610
+ **/
611
+ ["nonmutating", "cpp:const"] idempotent Ice::StringSeq getAllApplicationNames();
612
+
613
+ /**
614
+ *
615
+ * Get the server information for the server with the given id.
616
+ *
617
+ * @param id The server id.
618
+ *
619
+ * @throws ServerNotExistException Raised if the server doesn't exist.
620
+ *
621
+ * @return The server information.
622
+ *
623
+ **/
624
+ ["nonmutating", "cpp:const"] idempotent ServerInfo getServerInfo(string id)
625
+ throws ServerNotExistException;
626
+
627
+ /**
628
+ *
629
+ * Get a server's state.
630
+ *
631
+ * @param id The server id.
632
+ *
633
+ * @return The server state.
634
+ *
635
+ * @throws ServerNotExistException Raised if the server doesn't exist.
636
+ *
637
+ * @throws NodeUnreachableException Raised if the node could not be
638
+ * reached.
639
+ *
640
+ * @throws DeploymentException Raised if the server couldn't be
641
+ * deployed on the node.
642
+ *
643
+ **/
644
+ ["nonmutating", "cpp:const"] idempotent ServerState getServerState(string id)
645
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException;
646
+
647
+ /**
648
+ *
649
+ * Get a server's system process id. The process id is operating
650
+ * system dependent.
651
+ *
652
+ * @param id The server id.
653
+ *
654
+ * @return The server's process id.
655
+ *
656
+ * @throws ServerNotExistException Raised if the server doesn't exist.
657
+ *
658
+ * @throws NodeUnreachableException Raised if the node could not be
659
+ * reached.
660
+ *
661
+ * @throws DeploymentException Raised if the server couldn't be
662
+ * deployed on the node.
663
+ *
664
+ **/
665
+ ["nonmutating", "cpp:const"] idempotent int getServerPid(string id)
666
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException;
667
+
668
+ /**
669
+ *
670
+ * Get the category for server admin objects. You can manufacture a server admin
671
+ * proxy from the admin proxy by changing its identity: use the server ID as name
672
+ * and the returned category as category.
673
+ *
674
+ * @return The category for server admin objects.
675
+ *
676
+ **/
677
+ ["cpp:const"]
678
+ idempotent string getServerAdminCategory();
679
+
680
+ /**
681
+ *
682
+ * Get a proxy to the server's admin object.
683
+ *
684
+ * @param id The server id.
685
+ *
686
+ * @return A proxy to the server's admin object
687
+ *
688
+ * @throws ServerNotExistException Raised if the server doesn't exist.
689
+ *
690
+ * @throws NodeUnreachableException Raised if the node could not
691
+ * be reached.
692
+ *
693
+ * @throws DeploymentException Raised if the server couldn't be
694
+ * deployed on the node.
695
+ *
696
+ **/
697
+ ["cpp:const"]
698
+ idempotent Object* getServerAdmin(string id)
699
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException;
700
+
701
+ /**
702
+ *
703
+ * Enable or disable a server. A disabled server can't be started
704
+ * on demand or administratively. The enable state of the server
705
+ * is not persistent: if the node is shut down and restarted, the
706
+ * server will be enabled by default.
707
+ *
708
+ * @param id The server id.
709
+ *
710
+ * @param enabled True to enable the server, false to disable it.
711
+ *
712
+ * @throws ServerNotExistException Raised if the server doesn't exist.
713
+ *
714
+ * @throws NodeUnreachableException Raised if the node could not
715
+ * be reached.
716
+ *
717
+ * @throws DeploymentException Raised if the server couldn't be
718
+ * deployed on the node.
719
+ *
720
+ **/
721
+ idempotent void enableServer(string id, bool enabled)
722
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException;
723
+
724
+ /**
725
+ *
726
+ * Check if the server is enabled or disabled.
727
+ *
728
+ * @param id The server id.
729
+ *
730
+ * @return True if the server is enabled.
731
+ *
732
+ * @throws ServerNotExistException Raised if the server doesn't
733
+ * exist.
734
+ *
735
+ * @throws NodeUnreachableException Raised if the node could not
736
+ * be reached.
737
+ *
738
+ * @throws DeploymentException Raised if the server couldn't be
739
+ * deployed on the node.
740
+ *
741
+ **/
742
+ ["nonmutating", "cpp:const"] idempotent bool isServerEnabled(string id)
743
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException;
744
+
745
+ /**
746
+ *
747
+ * Start a server and wait for its activation.
748
+ *
749
+ * @param id The server id.
750
+ *
751
+ * @throws ServerNotExistException Raised if the server doesn't
752
+ * exist.
753
+ *
754
+ * @throws ServerStartException Raised if the server couldn't be
755
+ * started.
756
+ *
757
+ * @throws NodeUnreachableException Raised if the node could not
758
+ * be reached.
759
+ *
760
+ * @throws DeploymentException Raised if the server couldn't be
761
+ * deployed on the node.
762
+ *
763
+ **/
764
+ ["amd"] void startServer(string id)
765
+ throws ServerNotExistException, ServerStartException, NodeUnreachableException, DeploymentException;
766
+
767
+ /**
768
+ *
769
+ * Stop a server.
770
+ *
771
+ * @param id The server id.
772
+ *
773
+ * @throws ServerNotExistException Raised if the server doesn't
774
+ * exist.
775
+ *
776
+ * @throws ServerStopException Raised if the server couldn't be
777
+ * stopped.
778
+ *
779
+ * @throws NodeUnreachableException Raised if the node could not be
780
+ * reached.
781
+ *
782
+ * @throws DeploymentException Raised if the server couldn't be
783
+ * deployed on the node.
784
+ *
785
+ **/
786
+ ["amd"] void stopServer(string id)
787
+ throws ServerNotExistException, ServerStopException, NodeUnreachableException, DeploymentException;
788
+
789
+ /**
790
+ *
791
+ * Patch a server.
792
+ *
793
+ * @param id The server id.
794
+ *
795
+ * @param shutdown If true, servers depending on the data to patch
796
+ * will be shut down if necessary.
797
+ *
798
+ * @throws ServerNotExistException Raised if the server doesn't
799
+ * exist.
800
+ *
801
+ * @throws NodeUnreachableException Raised if the node could not be
802
+ * reached.
803
+ *
804
+ * @throws DeploymentException Raised if the server couldn't be
805
+ * deployed on the node.
806
+ *
807
+ * @throws PatchException Raised if the patch failed.
808
+ *
809
+ **/
810
+ ["amd"] void patchServer(string id, bool shutdown)
811
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException, PatchException;
812
+
813
+ /**
814
+ *
815
+ * Send signal to a server.
816
+ *
817
+ * @param id The server id.
818
+ *
819
+ * @param signal The signal, for example SIGTERM or 15.
820
+ *
821
+ * @throws ServerNotExistException Raised if the server doesn't
822
+ * exist.
823
+ *
824
+ * @throws NodeUnreachableException Raised if the node could not be
825
+ * reached.
826
+ *
827
+ * @throws DeploymentException Raised if the server couldn't be
828
+ * deployed on the node.
829
+ *
830
+ * @throws BadSignalException Raised if the signal is not recognized
831
+ * by the target server.
832
+ *
833
+ **/
834
+ void sendSignal(string id, string signal)
835
+ throws ServerNotExistException, NodeUnreachableException, DeploymentException, BadSignalException;
836
+
837
+ /**
838
+ *
839
+ * Get all the server ids registered with IceGrid.
840
+ *
841
+ * @return The server ids.
842
+ *
843
+ **/
844
+ ["nonmutating", "cpp:const"] idempotent Ice::StringSeq getAllServerIds();
845
+
846
+ /**
847
+ *
848
+ * Get the adapter information for the replica group or adapter
849
+ * with the given id.
850
+ *
851
+ * @param id The adapter id.
852
+ *
853
+ * @return A sequence of adapter information structures. If the
854
+ * given id refers to an adapter, this sequence will contain only
855
+ * one element. If the given id refers to a replica group, the
856
+ * sequence will contain the adapter information of each member of
857
+ * the replica group.
858
+ *
859
+ * @throws AdapterNotExistException Raised if the adapter or
860
+ * replica group doesn't exist.
861
+ *
862
+ **/
863
+ ["nonmutating", "cpp:const"] idempotent AdapterInfoSeq getAdapterInfo(string id)
864
+ throws AdapterNotExistException;
865
+
866
+ /**
867
+ *
868
+ * Remove the adapter with the given id.
869
+ *
870
+ * @param id The adapter id.
871
+ * @throws AdapterNotExistException Raised if the adapter doesn't
872
+ * exist.
873
+ *
874
+ * @throws DeploymentException Raised if application deployment failed.
875
+ *
876
+ **/
877
+ void removeAdapter(string id)
878
+ throws AdapterNotExistException, DeploymentException;
879
+
880
+ /**
881
+ *
882
+ * Get all the adapter ids registered with IceGrid.
883
+ *
884
+ * @return The adapter ids.
885
+ *
886
+ **/
887
+ ["nonmutating", "cpp:const"] idempotent Ice::StringSeq getAllAdapterIds();
888
+
889
+ /**
890
+ *
891
+ * Add an object to the object registry. IceGrid will get the
892
+ * object type by calling <code>ice_id</code> on the given proxy. The object
893
+ * must be reachable.
894
+ *
895
+ * @param obj The object to be added to the registry.
896
+ *
897
+ * @throws ObjectExistsException Raised if the object is already
898
+ * registered.
899
+ *
900
+ * @throws DeploymentException Raised if the object can't be
901
+ * added. This might be raised if the invocation on the proxy to
902
+ * get the object type failed.
903
+ *
904
+ **/
905
+ void addObject(Object* obj)
906
+ throws ObjectExistsException, DeploymentException;
907
+
908
+ /**
909
+ *
910
+ * Update an object in the object registry. Only objects added
911
+ * with this interface can be updated with this operation. Objects
912
+ * added with deployment descriptors should be updated with the
913
+ * deployment mechanism.
914
+ *
915
+ * @param obj The object to be updated to the registry.
916
+ *
917
+ * @throws ObjectNotRegisteredException Raised if the object isn't
918
+ * registered with the registry.
919
+ *
920
+ * @throws DeploymentException Raised if the object can't be
921
+ * updated. This might happen if the object was added with a
922
+ * deployment descriptor.
923
+ *
924
+ **/
925
+ void updateObject(Object* obj)
926
+ throws ObjectNotRegisteredException, DeploymentException;
927
+
928
+ /**
929
+ *
930
+ * Add an object to the object registry and explicitly specify
931
+ * its type.
932
+ *
933
+ * @param obj The object to be added to the registry.
934
+ *
935
+ * @param type The object type.
936
+ *
937
+ * @throws ObjectExistsException Raised if the object is already
938
+ * registered.
939
+ *
940
+ * @throws DeploymentException Raised if application deployment failed.
941
+ *
942
+ **/
943
+ void addObjectWithType(Object* obj, string type)
944
+ throws ObjectExistsException, DeploymentException;
945
+
946
+ /**
947
+ *
948
+ * Remove an object from the object registry. Only objects added
949
+ * with this interface can be removed with this operation. Objects
950
+ * added with deployment descriptors should be removed with the
951
+ * deployment mechanism.
952
+ *
953
+ * @param id The identity of the object to be removed from the
954
+ * registry.
955
+ *
956
+ * @throws ObjectNotRegisteredException Raised if the object isn't
957
+ * registered with the registry.
958
+ *
959
+ * @throws DeploymentException Raised if the object can't be
960
+ * removed. This might happen if the object was added with a
961
+ * deployment descriptor.
962
+ *
963
+ **/
964
+ void removeObject(Ice::Identity id)
965
+ throws ObjectNotRegisteredException, DeploymentException;
966
+
967
+ /**
968
+ *
969
+ * Get the object info for the object with the given identity.
970
+ *
971
+ * @param id The identity of the object.
972
+ *
973
+ * @return The object info.
974
+ *
975
+ * @throws ObjectNotRegisteredException Raised if the object isn't
976
+ * registered with the registry.
977
+ *
978
+ **/
979
+ ["nonmutating", "cpp:const"] idempotent ObjectInfo getObjectInfo(Ice::Identity id)
980
+ throws ObjectNotRegisteredException;
981
+
982
+ /**
983
+ *
984
+ * Get the object info of all the registered objects with the
985
+ * given type.
986
+ *
987
+ * @param type The type of the object.
988
+ *
989
+ * @return The object infos.
990
+ *
991
+ **/
992
+ ["nonmutating", "cpp:const"] idempotent ObjectInfoSeq getObjectInfosByType(string type);
993
+
994
+ /**
995
+ *
996
+ * Get the object info of all the registered objects whose stringified
997
+ * identities match the given expression.
998
+ *
999
+ * @param expr The expression to match against the stringified
1000
+ * identities of registered objects. The expression may contain
1001
+ * a trailing wildcard (<code>*</code>) character.
1002
+ *
1003
+ * @return All the object infos with a stringified identity
1004
+ * matching the given expression.
1005
+ *
1006
+ **/
1007
+ ["nonmutating", "cpp:const"] idempotent ObjectInfoSeq getAllObjectInfos(string expr);
1008
+
1009
+ /**
1010
+ *
1011
+ * Ping an IceGrid node to see if it is active.
1012
+ *
1013
+ * @param name The node name.
1014
+ *
1015
+ * @return true if the node ping succeeded, false otherwise.
1016
+ *
1017
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1018
+ *
1019
+ **/
1020
+ ["nonmutating", "cpp:const"] idempotent bool pingNode(string name)
1021
+ throws NodeNotExistException;
1022
+
1023
+ /**
1024
+ *
1025
+ * Get the load averages of the node.
1026
+ *
1027
+ * @param name The node name.
1028
+ *
1029
+ * @return The node load information.
1030
+ *
1031
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1032
+ *
1033
+ * @throws NodeUnreachableException Raised if the node could not be
1034
+ * reached.
1035
+ *
1036
+ **/
1037
+ ["nonmutating", "cpp:const"] idempotent LoadInfo getNodeLoad(string name)
1038
+ throws NodeNotExistException, NodeUnreachableException;
1039
+
1040
+ /**
1041
+ *
1042
+ * Get the node information for the node with the given name.
1043
+ *
1044
+ * @param name The node name.
1045
+ *
1046
+ * @return The node information.
1047
+ *
1048
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1049
+ *
1050
+ * @throws NodeUnreachableException Raised if the node could not be
1051
+ * reached.
1052
+ *
1053
+ **/
1054
+ ["nonmutating", "cpp:const"] idempotent NodeInfo getNodeInfo(string name)
1055
+ throws NodeNotExistException, NodeUnreachableException;
1056
+
1057
+ /**
1058
+ *
1059
+ * Get a proxy to the IceGrid node's admin object.
1060
+ *
1061
+ * @param name The IceGrid node name
1062
+ *
1063
+ * @return A proxy to the IceGrid node's admin object
1064
+ *
1065
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1066
+ *
1067
+ * @throws NodeUnreachableException Raised if the node could not be
1068
+ * reached.
1069
+ *
1070
+ **/
1071
+ ["cpp:const"] idempotent Object* getNodeAdmin(string name)
1072
+ throws NodeNotExistException, NodeUnreachableException;
1073
+
1074
+ /**
1075
+ *
1076
+ * Get the number of physical processor sockets for the machine
1077
+ * running the node with the given name.
1078
+ *
1079
+ * Note that this method will return 1 on operating systems where
1080
+ * this can't be automatically determined and where the
1081
+ * IceGrid.Node.ProcessorSocketCount property for the node is not
1082
+ * set.
1083
+ *
1084
+ * @param name The node name.
1085
+ *
1086
+ * @return The number of processor sockets or 1 if the number of
1087
+ * sockets can't determined.
1088
+ *
1089
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1090
+ *
1091
+ * @throws NodeUnreachableException Raised if the node could not be
1092
+ * reached.
1093
+ *
1094
+ **/
1095
+ ["nonmutating", "cpp:const"] idempotent int getNodeProcessorSocketCount(string name)
1096
+ throws NodeNotExistException, NodeUnreachableException;
1097
+
1098
+ /**
1099
+ *
1100
+ * Shutdown an IceGrid node.
1101
+ *
1102
+ * @param name The node name.
1103
+ *
1104
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1105
+ *
1106
+ * @throws NodeUnreachableException Raised if the node could not be
1107
+ * reached.
1108
+ *
1109
+ **/
1110
+ void shutdownNode(string name)
1111
+ throws NodeNotExistException, NodeUnreachableException;
1112
+
1113
+ /**
1114
+ *
1115
+ * Get the hostname of this node.
1116
+ *
1117
+ * @param name The node name.
1118
+ *
1119
+ * @return The node hostname.
1120
+ *
1121
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1122
+ *
1123
+ * @throws NodeUnreachableException Raised if the node could not be
1124
+ * reached.
1125
+ *
1126
+ **/
1127
+ ["nonmutating", "cpp:const"] idempotent string getNodeHostname(string name)
1128
+ throws NodeNotExistException, NodeUnreachableException;
1129
+
1130
+ /**
1131
+ *
1132
+ * Get all the IceGrid nodes currently registered.
1133
+ *
1134
+ * @return The node names.
1135
+ *
1136
+ **/
1137
+ ["nonmutating", "cpp:const"] idempotent Ice::StringSeq getAllNodeNames();
1138
+
1139
+ /**
1140
+ *
1141
+ * Ping an IceGrid registry to see if it is active.
1142
+ *
1143
+ * @param name The registry name.
1144
+ *
1145
+ * @return true if the registry ping succeeded, false otherwise.
1146
+ *
1147
+ * @throws RegistryNotExistException Raised if the registry doesn't exist.
1148
+ *
1149
+ **/
1150
+ ["cpp:const"] idempotent bool pingRegistry(string name)
1151
+ throws RegistryNotExistException;
1152
+
1153
+ /**
1154
+ *
1155
+ * Get the registry information for the registry with the given name.
1156
+ *
1157
+ * @param name The registry name.
1158
+ *
1159
+ * @return The registry information.
1160
+ *
1161
+ * @throws RegistryNotExistException Raised if the registry doesn't exist.
1162
+ *
1163
+ * @throws RegistryUnreachableException Raised if the registry could not be
1164
+ * reached.
1165
+ *
1166
+ **/
1167
+ ["cpp:const"] idempotent RegistryInfo getRegistryInfo(string name)
1168
+ throws RegistryNotExistException, RegistryUnreachableException;
1169
+
1170
+ /**
1171
+ *
1172
+ * Get a proxy to the IceGrid registry's admin object.
1173
+ *
1174
+ * @param name The registry name
1175
+ *
1176
+ * @return A proxy to the IceGrid registry's admin object
1177
+ *
1178
+ * @throws RegistryNotExistException Raised if the registry doesn't exist.
1179
+ *
1180
+ **/
1181
+ ["cpp:const"] idempotent Object* getRegistryAdmin(string name)
1182
+ throws RegistryNotExistException;
1183
+
1184
+ /**
1185
+ *
1186
+ * Shutdown an IceGrid registry.
1187
+ *
1188
+ * @param name The registry name.
1189
+ *
1190
+ * @throws RegistryNotExistException Raised if the registry doesn't exist.
1191
+ *
1192
+ * @throws RegistryUnreachableException Raised if the registry could not be
1193
+ * reached.
1194
+ *
1195
+ **/
1196
+ idempotent void shutdownRegistry(string name)
1197
+ throws RegistryNotExistException, RegistryUnreachableException;
1198
+
1199
+ /**
1200
+ *
1201
+ * Get all the IceGrid registries currently registered.
1202
+ *
1203
+ * @return The registry names.
1204
+ *
1205
+ **/
1206
+ ["cpp:const"] idempotent Ice::StringSeq getAllRegistryNames();
1207
+
1208
+ /**
1209
+ *
1210
+ * Shut down the IceGrid registry.
1211
+ *
1212
+ **/
1213
+ void shutdown();
1214
+
1215
+ /**
1216
+ *
1217
+ * Returns the checksums for the IceGrid Slice definitions.
1218
+ *
1219
+ * @return A dictionary mapping Slice type ids to their checksums.
1220
+ *
1221
+ **/
1222
+ ["nonmutating", "cpp:const"] idempotent Ice::SliceChecksumDict getSliceChecksums();
1223
+ }
1224
+
1225
+ /**
1226
+ *
1227
+ * This interface provides access to IceGrid log file contents.
1228
+ *
1229
+ **/
1230
+ interface FileIterator
1231
+ {
1232
+ /**
1233
+ *
1234
+ * Read lines from the log file.
1235
+ *
1236
+ * @param size Specifies the maximum number of bytes to be
1237
+ * received. The server will ensure that the returned message
1238
+ * doesn't exceed the given size.
1239
+ *
1240
+ * @param lines The lines read from the file. If there was nothing to
1241
+ * read from the file since the last call to read, an empty
1242
+ * sequence is returned. The last line of the sequence is always
1243
+ * incomplete (and therefore no '\n' should be added when writing
1244
+ * the last line to the to the output device).
1245
+ *
1246
+ * @return True if EOF is encountered.
1247
+ *
1248
+ * @throws FileNotAvailableException Raised if there was a problem
1249
+ * to read lines from the file.
1250
+ *
1251
+ **/
1252
+ bool read(int size, out Ice::StringSeq lines)
1253
+ throws FileNotAvailableException;
1254
+
1255
+ /**
1256
+ *
1257
+ * Destroy the iterator.
1258
+ *
1259
+ **/
1260
+ void destroy();
1261
+ }
1262
+
1263
+ /**
1264
+ *
1265
+ * Dynamic information about the state of a server.
1266
+ *
1267
+ **/
1268
+ struct ServerDynamicInfo
1269
+ {
1270
+ /**
1271
+ *
1272
+ * The id of the server.
1273
+ *
1274
+ **/
1275
+ string id;
1276
+
1277
+ /**
1278
+ *
1279
+ * The state of the server.
1280
+ *
1281
+ **/
1282
+ ServerState state;
1283
+
1284
+ /**
1285
+ *
1286
+ * The process id of the server.
1287
+ *
1288
+ **/
1289
+ int pid;
1290
+
1291
+ /**
1292
+ *
1293
+ * Indicates whether the server is enabled.
1294
+ *
1295
+ **/
1296
+ bool enabled;
1297
+ }
1298
+
1299
+ /**
1300
+ *
1301
+ * A sequence of server dynamic information structures.
1302
+ *
1303
+ **/
1304
+ ["java:type:java.util.LinkedList<ServerDynamicInfo>"] sequence<ServerDynamicInfo> ServerDynamicInfoSeq;
1305
+
1306
+ /**
1307
+ *
1308
+ * Dynamic information about the state of an adapter.
1309
+ *
1310
+ **/
1311
+ struct AdapterDynamicInfo
1312
+ {
1313
+ /**
1314
+ *
1315
+ * The id of the adapter.
1316
+ *
1317
+ **/
1318
+ string id;
1319
+
1320
+ /**
1321
+ *
1322
+ * The direct proxy containing the adapter endpoints.
1323
+ *
1324
+ **/
1325
+ Object* proxy;
1326
+ }
1327
+
1328
+ /**
1329
+ *
1330
+ * A sequence of adapter dynamic information structures.
1331
+ *
1332
+ **/
1333
+ ["java:type:java.util.LinkedList<AdapterDynamicInfo>"] sequence<AdapterDynamicInfo> AdapterDynamicInfoSeq;
1334
+
1335
+ /**
1336
+ *
1337
+ * Dynamic information about the state of a node.
1338
+ *
1339
+ **/
1340
+ struct NodeDynamicInfo
1341
+ {
1342
+ /**
1343
+ *
1344
+ * Some static information about the node.
1345
+ *
1346
+ **/
1347
+ NodeInfo info;
1348
+
1349
+ /**
1350
+ *
1351
+ * The dynamic information of the servers deployed on this node.
1352
+ *
1353
+ **/
1354
+ ServerDynamicInfoSeq servers;
1355
+
1356
+ /**
1357
+ *
1358
+ * The dynamic information of the adapters deployed on this node.
1359
+ *
1360
+ **/
1361
+ AdapterDynamicInfoSeq adapters;
1362
+ }
1363
+
1364
+ /**
1365
+ *
1366
+ * This interface allows applications to monitor changes the state
1367
+ * of the registry.
1368
+ *
1369
+ **/
1370
+ interface RegistryObserver
1371
+ {
1372
+ /**
1373
+ *
1374
+ * The <code>registryInit</code> operation is called after registration of
1375
+ * an observer to indicate the state of the registries.
1376
+ *
1377
+ * @param registries The current state of the registries.
1378
+ *
1379
+ **/
1380
+ void registryInit(RegistryInfoSeq registries);
1381
+
1382
+ /**
1383
+ *
1384
+ * The <code>nodeUp</code> operation is called to notify an observer that a node
1385
+ * came up.
1386
+ *
1387
+ * @param node The node state.
1388
+ *
1389
+ **/
1390
+ void registryUp(RegistryInfo node);
1391
+
1392
+ /**
1393
+ *
1394
+ * The <code>nodeDown</code> operation is called to notify an observer that a node
1395
+ * went down.
1396
+ *
1397
+ * @param name The node name.
1398
+ *
1399
+ **/
1400
+ void registryDown(string name);
1401
+ }
1402
+
1403
+ /**
1404
+ *
1405
+ * A sequence of node dynamic information structures.
1406
+ *
1407
+ **/
1408
+ sequence<NodeDynamicInfo> NodeDynamicInfoSeq;
1409
+
1410
+ /**
1411
+ *
1412
+ * The node observer interface. Observers should implement this
1413
+ * interface to receive information about the state of the IceGrid
1414
+ * nodes.
1415
+ *
1416
+ **/
1417
+ interface NodeObserver
1418
+ {
1419
+ /**
1420
+ *
1421
+ * The <code>nodeInit</code> operation indicates the current state
1422
+ * of nodes. It is called after the registration of an observer.
1423
+ *
1424
+ * @param nodes The current state of the nodes.
1425
+ *
1426
+ **/
1427
+ void nodeInit(NodeDynamicInfoSeq nodes);
1428
+
1429
+ /**
1430
+ *
1431
+ * The <code>nodeUp</code> operation is called to notify an observer that a node
1432
+ * came up.
1433
+ *
1434
+ * @param node The node state.
1435
+ *
1436
+ **/
1437
+ void nodeUp(NodeDynamicInfo node);
1438
+
1439
+ /**
1440
+ *
1441
+ * The <code>nodeDown</code> operation is called to notify an observer that a node
1442
+ * went down.
1443
+ *
1444
+ * @param name The node name.
1445
+ *
1446
+ **/
1447
+ void nodeDown(string name);
1448
+
1449
+ /**
1450
+ *
1451
+ * The <code>updateServer</code> operation is called to notify an observer that
1452
+ * the state of a server changed.
1453
+ *
1454
+ * @param node The node hosting the server.
1455
+ *
1456
+ * @param updatedInfo The new server state.
1457
+ *
1458
+ **/
1459
+ void updateServer(string node, ServerDynamicInfo updatedInfo);
1460
+
1461
+ /**
1462
+ *
1463
+ * The <code>updateAdapter</code> operation is called to notify an observer that
1464
+ * the state of an adapter changed.
1465
+ *
1466
+ * @param node The node hosting the adapter.
1467
+ *
1468
+ * @param updatedInfo The new adapter state.
1469
+ *
1470
+ **/
1471
+ void updateAdapter(string node, AdapterDynamicInfo updatedInfo);
1472
+ }
1473
+
1474
+ /**
1475
+ *
1476
+ * The database observer interface. Observers should implement this
1477
+ * interface to receive information about the state of the IceGrid
1478
+ * registry database.
1479
+ *
1480
+ **/
1481
+ interface ApplicationObserver
1482
+ {
1483
+ /**
1484
+ *
1485
+ * <code>applicationInit</code> is called after the registration
1486
+ * of an observer to indicate the state of the registry.
1487
+ *
1488
+ * @param serial The current serial number of the registry
1489
+ * database. This serial number allows observers to make sure that
1490
+ * their internal state is synchronized with the registry.
1491
+ *
1492
+ * @param applications The applications currently registered with
1493
+ * the registry.
1494
+ *
1495
+ **/
1496
+ void applicationInit(int serial, ApplicationInfoSeq applications);
1497
+
1498
+ /**
1499
+ *
1500
+ * The <code>applicationAdded</code> operation is called to notify an observer
1501
+ * that an application was added.
1502
+ *
1503
+ * @param serial The new serial number of the registry database.
1504
+ *
1505
+ * @param desc The descriptor of the new application.
1506
+ *
1507
+ **/
1508
+ void applicationAdded(int serial, ApplicationInfo desc);
1509
+
1510
+ /**
1511
+ *
1512
+ * The <code>applicationRemoved</code> operation is called to notify an observer
1513
+ * that an application was removed.
1514
+ *
1515
+ * @param serial The new serial number of the registry database.
1516
+ *
1517
+ * @param name The name of the application that was removed.
1518
+ *
1519
+ **/
1520
+ void applicationRemoved(int serial, string name);
1521
+
1522
+ /**
1523
+ *
1524
+ * The <code>applicationUpdated</code> operation is called to notify an observer
1525
+ * that an application was updated.
1526
+ *
1527
+ * @param serial The new serial number of the registry database.
1528
+ *
1529
+ * @param desc The descriptor of the update.
1530
+ *
1531
+ **/
1532
+ void applicationUpdated(int serial, ApplicationUpdateInfo desc);
1533
+ }
1534
+
1535
+ /**
1536
+ *
1537
+ * This interface allows applications to monitor the state of object
1538
+ * adapters that are registered with IceGrid.
1539
+ *
1540
+ **/
1541
+ interface AdapterObserver
1542
+ {
1543
+ /**
1544
+ *
1545
+ * <code>adapterInit</code> is called after registration of
1546
+ * an observer to indicate the state of the registry.
1547
+ *
1548
+ * @param adpts The adapters that were dynamically registered
1549
+ * with the registry (not through the deployment mechanism).
1550
+ *
1551
+ **/
1552
+ void adapterInit(AdapterInfoSeq adpts);
1553
+
1554
+ /**
1555
+ *
1556
+ * The <code>adapterAdded</code> operation is called to notify an observer when
1557
+ * a dynamically-registered adapter was added.
1558
+ *
1559
+ * @param info The details of the new adapter.
1560
+ **/
1561
+ void adapterAdded(AdapterInfo info);
1562
+
1563
+ /**
1564
+ *
1565
+ * The adapterUpdated operation is called to notify an observer when
1566
+ * a dynamically-registered adapter was updated.
1567
+ *
1568
+ * @param info The details of the updated adapter.
1569
+ *
1570
+ **/
1571
+ void adapterUpdated(AdapterInfo info);
1572
+
1573
+ /**
1574
+ *
1575
+ * The adapterRemoved operation is called to notify an observer when
1576
+ * a dynamically-registered adapter was removed.
1577
+ *
1578
+ * @param id The ID of the removed adapter.
1579
+ *
1580
+ **/
1581
+ void adapterRemoved(string id);
1582
+ }
1583
+
1584
+ /**
1585
+ *
1586
+ * This interface allows applications to monitor IceGrid well-known objects.
1587
+ *
1588
+ **/
1589
+ interface ObjectObserver
1590
+ {
1591
+ /**
1592
+ *
1593
+ * <code>objectInit</code> is called after the registration of
1594
+ * an observer to indicate the state of the registry.
1595
+ *
1596
+ * @param objects The objects registered with the {@link Admin}
1597
+ * interface (not through the deployment mechanism).
1598
+ *
1599
+ **/
1600
+ void objectInit(ObjectInfoSeq objects);
1601
+
1602
+ /**
1603
+ *
1604
+ * The <code>objectAdded</code> operation is called to notify an observer when an
1605
+ * object was added to the {@link Admin} interface.
1606
+ *
1607
+ * @param info The details of the added object.
1608
+ *
1609
+ **/
1610
+ void objectAdded(ObjectInfo info);
1611
+
1612
+ /**
1613
+ *
1614
+ * <code>objectUpdated</code> is called to notify an observer when
1615
+ * an object registered with the {@link Admin} interface was updated.
1616
+ *
1617
+ * @param info The details of the updated object.
1618
+ *
1619
+ **/
1620
+ void objectUpdated(ObjectInfo info);
1621
+
1622
+ /**
1623
+ *
1624
+ * <code>objectRemoved</code> is called to notify an observer when
1625
+ * an object registered with the {@link Admin} interface was removed.
1626
+ *
1627
+ * @param id The identity of the removed object.
1628
+ *
1629
+ **/
1630
+ void objectRemoved(Ice::Identity id);
1631
+ }
1632
+
1633
+ /**
1634
+ *
1635
+ * Used by administrative clients to view,
1636
+ * update, and receive observer updates from the IceGrid
1637
+ * registry. Admin sessions are created either via the {@link Registry}
1638
+ * object or via the registry admin <code>SessionManager</code> object.
1639
+ *
1640
+ * @see Registry
1641
+ *
1642
+ **/
1643
+ interface AdminSession extends Glacier2::Session
1644
+ {
1645
+ /**
1646
+ *
1647
+ * Keep the session alive. Clients should call this operation
1648
+ * regularly to prevent the server from reaping the session.
1649
+ *
1650
+ * @see Registry#getSessionTimeout
1651
+ *
1652
+ **/
1653
+ idempotent void keepAlive();
1654
+
1655
+ /**
1656
+ *
1657
+ * Get the admin interface. The admin object returned by this
1658
+ * operation can only be accessed by the session.
1659
+ *
1660
+ * @return The admin interface proxy.
1661
+ *
1662
+ **/
1663
+ ["nonmutating", "cpp:const"] idempotent Admin* getAdmin();
1664
+
1665
+ /**
1666
+ *
1667
+ * Get a "template" proxy for admin callback objects.
1668
+ * An Admin client uses this proxy to set the category of its callback
1669
+ * objects, and the published endpoints of the object adapter hosting
1670
+ * the admin callback objects.
1671
+ *
1672
+ * @return A template proxy. The returned proxy is null when the Admin
1673
+ * session was established using Glacier2.
1674
+ *
1675
+ **/
1676
+ ["cpp:const"] idempotent Object* getAdminCallbackTemplate();
1677
+
1678
+ /**
1679
+ *
1680
+ * Set the observer proxies that receive
1681
+ * notifications when the state of the registry
1682
+ * or nodes changes.
1683
+ *
1684
+ * @param registryObs The registry observer.
1685
+ *
1686
+ * @param nodeObs The node observer.
1687
+ *
1688
+ * @param appObs The application observer.
1689
+ *
1690
+ * @param adptObs The adapter observer.
1691
+ *
1692
+ * @param objObs The object observer.
1693
+ *
1694
+ * @throws ObserverAlreadyRegisteredException Raised if an
1695
+ * observer is already registered with this registry.
1696
+ *
1697
+ **/
1698
+ idempotent void setObservers(RegistryObserver* registryObs, NodeObserver* nodeObs, ApplicationObserver* appObs,
1699
+ AdapterObserver* adptObs, ObjectObserver* objObs)
1700
+ throws ObserverAlreadyRegisteredException;
1701
+
1702
+ /**
1703
+ *
1704
+ * Set the observer identities that receive
1705
+ * notifications the state of the registry
1706
+ * or nodes changes. This operation should be used by clients that
1707
+ * are using a bidirectional connection to communicate with the
1708
+ * session.
1709
+ *
1710
+ * @param registryObs The registry observer identity.
1711
+ *
1712
+ * @param nodeObs The node observer identity.
1713
+ *
1714
+ * @param appObs The application observer.
1715
+ *
1716
+ * @param adptObs The adapter observer.
1717
+ *
1718
+ * @param objObs The object observer.
1719
+ *
1720
+ * @throws ObserverAlreadyRegisteredException Raised if an
1721
+ * observer is already registered with this registry.
1722
+ *
1723
+ **/
1724
+ idempotent void setObserversByIdentity(Ice::Identity registryObs, Ice::Identity nodeObs, Ice::Identity appObs,
1725
+ Ice::Identity adptObs, Ice::Identity objObs)
1726
+ throws ObserverAlreadyRegisteredException;
1727
+
1728
+ /**
1729
+ *
1730
+ * Acquires an exclusive lock to start updating the registry applications.
1731
+ *
1732
+ * @return The current serial.
1733
+ *
1734
+ * @throws AccessDeniedException Raised if the exclusive lock can't be
1735
+ * acquired. This might happen if the lock is currently acquired by
1736
+ * another session.
1737
+ *
1738
+ **/
1739
+ int startUpdate()
1740
+ throws AccessDeniedException;
1741
+
1742
+ /**
1743
+ *
1744
+ * Finish updating the registry and release the exclusive lock.
1745
+ *
1746
+ * @throws AccessDeniedException Raised if the session doesn't hold the
1747
+ * exclusive lock.
1748
+ *
1749
+ **/
1750
+ void finishUpdate()
1751
+ throws AccessDeniedException;
1752
+
1753
+ /**
1754
+ *
1755
+ * Get the name of the registry replica hosting this session.
1756
+ *
1757
+ * @return The replica name of the registry.
1758
+ *
1759
+ **/
1760
+ ["cpp:const"] idempotent string getReplicaName();
1761
+
1762
+ /**
1763
+ *
1764
+ * Open the given server log file for reading. The file can be
1765
+ * read with the returned file iterator.
1766
+ *
1767
+ * @param id The server id.
1768
+ *
1769
+ * @param path The path of the log file. A log file can be opened
1770
+ * only if it's declared in the server or service deployment
1771
+ * descriptor.
1772
+ *
1773
+ * @param count Specifies where to start reading the file. If
1774
+ * negative, the file is read from the begining. If 0 or positive,
1775
+ * the file is read from the last <code>count</code> lines.
1776
+ *
1777
+ * @return An iterator to read the file.
1778
+ *
1779
+ * @throws FileNotAvailableException Raised if the file can't be
1780
+ * read.
1781
+ *
1782
+ * @throws ServerNotExistException Raised if the server doesn't
1783
+ * exist.
1784
+ *
1785
+ * @throws NodeUnreachableException Raised if the node could not
1786
+ * be reached.
1787
+ *
1788
+ * @throws DeploymentException Raised if the server couldn't be
1789
+ * deployed on the node.
1790
+ *
1791
+ **/
1792
+ FileIterator* openServerLog(string id, string path, int count)
1793
+ throws FileNotAvailableException, ServerNotExistException, NodeUnreachableException, DeploymentException;
1794
+
1795
+ /**
1796
+ *
1797
+ * Open the given server stderr file for reading. The file can be
1798
+ * read with the returned file iterator.
1799
+ *
1800
+ * @param id The server id.
1801
+ *
1802
+ * @param count Specifies where to start reading the file. If
1803
+ * negative, the file is read from the begining. If 0 or positive,
1804
+ * the file is read from the last <code>count</code> lines.
1805
+ *
1806
+ * @return An iterator to read the file.
1807
+ *
1808
+ * @throws FileNotAvailableException Raised if the file can't be
1809
+ * read.
1810
+ *
1811
+ * @throws ServerNotExistException Raised if the server doesn't
1812
+ * exist.
1813
+ *
1814
+ * @throws NodeUnreachableException Raised if the node could not
1815
+ * be reached.
1816
+ *
1817
+ * @throws DeploymentException Raised if the server couldn't be
1818
+ * deployed on the node.
1819
+ *
1820
+ **/
1821
+ FileIterator* openServerStdErr(string id, int count)
1822
+ throws FileNotAvailableException, ServerNotExistException, NodeUnreachableException, DeploymentException;
1823
+
1824
+ /**
1825
+ *
1826
+ * Open the given server stdout file for reading. The file can be
1827
+ * read with the returned file iterator.
1828
+ *
1829
+ * @param id The server id.
1830
+ *
1831
+ * @param count Specifies where to start reading the file. If
1832
+ * negative, the file is read from the begining. If 0 or positive,
1833
+ * the file is read from the last <code>count</code> lines.
1834
+ *
1835
+ * @return An iterator to read the file.
1836
+ *
1837
+ * @throws FileNotAvailableException Raised if the file can't be
1838
+ * read.
1839
+ *
1840
+ * @throws ServerNotExistException Raised if the server doesn't
1841
+ * exist.
1842
+ *
1843
+ * @throws NodeUnreachableException Raised if the node could not
1844
+ * be reached.
1845
+ *
1846
+ * @throws DeploymentException Raised if the server couldn't be
1847
+ * deployed on the node.
1848
+ *
1849
+ **/
1850
+ FileIterator* openServerStdOut(string id, int count)
1851
+ throws FileNotAvailableException, ServerNotExistException, NodeUnreachableException, DeploymentException;
1852
+
1853
+ /**
1854
+ *
1855
+ * Open the given node stderr file for reading. The file can be
1856
+ * read with the returned file iterator.
1857
+ *
1858
+ * @param name The node name.
1859
+ *
1860
+ * @param count Specifies where to start reading the file. If
1861
+ * negative, the file is read from the begining. If 0 or positive,
1862
+ * the file is read from the last <code>count</code> lines.
1863
+ *
1864
+ * @return An iterator to read the file.
1865
+ *
1866
+ * @throws FileNotAvailableException Raised if the file can't be
1867
+ * read.
1868
+ *
1869
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1870
+ *
1871
+ * @throws NodeUnreachableException Raised if the node could not
1872
+ * be reached.
1873
+ *
1874
+ **/
1875
+ FileIterator* openNodeStdErr(string name, int count)
1876
+ throws FileNotAvailableException, NodeNotExistException, NodeUnreachableException;
1877
+
1878
+ /**
1879
+ *
1880
+ * Open the given node stdout file for reading. The file can be
1881
+ * read with the returned file iterator.
1882
+ *
1883
+ * @param name The node name.
1884
+ *
1885
+ * @param count Specifies where to start reading the file. If
1886
+ * negative, the file is read from the begining. If 0 or positive,
1887
+ * the file is read from the last <code>count</code> lines.
1888
+ *
1889
+ * @return An iterator to read the file.
1890
+ *
1891
+ * @throws FileNotAvailableException Raised if the file can't be
1892
+ * read.
1893
+ *
1894
+ * @throws NodeNotExistException Raised if the node doesn't exist.
1895
+ *
1896
+ * @throws NodeUnreachableException Raised if the node could not
1897
+ * be reached.
1898
+ *
1899
+ **/
1900
+ FileIterator* openNodeStdOut(string name, int count)
1901
+ throws FileNotAvailableException, NodeNotExistException, NodeUnreachableException;
1902
+
1903
+ /**
1904
+ *
1905
+ * Open the given registry stderr file for reading. The file can be
1906
+ * read with the returned file iterator.
1907
+ *
1908
+ * @param name The registry name.
1909
+ *
1910
+ * @param count Specifies where to start reading the file. If
1911
+ * negative, the file is read from the begining. If 0 or positive,
1912
+ * the file is read from the last <code>count</code> lines.
1913
+ *
1914
+ * @return An iterator to read the file.
1915
+ *
1916
+ * @throws FileNotAvailableException Raised if the file can't be
1917
+ * read.
1918
+ *
1919
+ * @throws RegistryNotExistException Raised if the registry
1920
+ * doesn't exist.
1921
+ *
1922
+ * @throws RegistryUnreachableException Raised if the registry
1923
+ * could not be reached.
1924
+ *
1925
+ **/
1926
+ FileIterator* openRegistryStdErr(string name, int count)
1927
+ throws FileNotAvailableException, RegistryNotExistException, RegistryUnreachableException;
1928
+
1929
+ /**
1930
+ *
1931
+ * Open the given registry stdout file for reading. The file can be
1932
+ * read with the returned file iterator.
1933
+ *
1934
+ * @param name The registry name.
1935
+ *
1936
+ * @param count Specifies where to start reading the file. If
1937
+ * negative, the file is read from the begining. If 0 or positive,
1938
+ * the file is read from the last <code>count</code> lines.
1939
+ *
1940
+ * @return An iterator to read the file.
1941
+ *
1942
+ * @throws FileNotAvailableException Raised if the file can't be
1943
+ * read.
1944
+ *
1945
+ * @throws RegistryNotExistException Raised if the registry
1946
+ * doesn't exist.
1947
+ *
1948
+ * @throws RegistryUnreachableException Raised if the registry
1949
+ * could not be reached.
1950
+ *
1951
+ **/
1952
+ FileIterator * openRegistryStdOut(string name, int count)
1953
+ throws FileNotAvailableException, RegistryNotExistException, RegistryUnreachableException;
1954
+
1955
+ }
1956
+
1957
+ }