Ice 3.8
C++ API Reference
Loading...
Searching...
No Matches
Admin.h
1// Copyright (c) ZeroC, Inc.
2
3// slice2cpp version 3.8.0-alpha.0
4// <auto-generated>Generated from Slice file 'Admin.ice'.</auto-generated>
5// clang-format off
6
7#ifndef IceGrid_Admin_h_
8#define IceGrid_Admin_h_
9
11#include <Ice/Ice.h>
12#include "Descriptor.h"
13#include "Exception.h"
14#include <Glacier2/Session.h>
15#include <IceGrid/Config.h>
16
17#ifndef ICE_DISABLE_VERSION
18# if ICE_INT_VERSION != 30850
19# error Ice version mismatch: an exact match is required for beta generated code
20# endif
21#endif
22
23#ifndef ICEGRID_API
24# if defined(ICEGRID_API_EXPORTS)
25# define ICEGRID_API ICE_DECLSPEC_EXPORT
26# else
27# define ICEGRID_API ICE_DECLSPEC_IMPORT
28# endif
29#endif
30
31// NOLINTBEGIN(modernize-concat-nested-namespaces)
32
33namespace IceGrid
34{
35 class RegistryPrx;
36
37 /// Represents the state of a server.
38 enum class ServerState : std::uint8_t
39 {
40 /// The server is not running.
42
43 /// The server is being activated and will change to the active state when the registered server object adapters
44 /// are activated or to the activation timed out state if the activation timeout expires.
46
47 /// The server activation timed out.
49
50 /// The server is running.
52
53 /// The server is being deactivated.
55
56 /// The server is being destroyed.
58
59 /// The server is destroyed.
61 };
62
63 /// Outputs the enumerator name or underlying value of a ServerState to a stream.
64 /// @param os The output stream.
65 /// @param value The value to output.
66 /// @return The output stream.
67 ICEGRID_API std::ostream& operator<<(std::ostream& os, ServerState value);
68
69 /// A dictionary of string to proxies.
70 using StringObjectProxyDict = std::map<std::string, std::optional<Ice::ObjectPrx>>;
71
72 struct ObjectInfo;
73
74 /// A sequence of ObjectInfo.
75 using ObjectInfoSeq = std::vector<ObjectInfo>;
76
77 struct AdapterInfo;
78
79 /// A sequence of AdapterInfo.
80 using AdapterInfoSeq = std::vector<AdapterInfo>;
81
82 struct ServerInfo;
83
84 struct NodeInfo;
85
86 struct RegistryInfo;
87
88 /// A sequence of RegistryInfo.
89 using RegistryInfoSeq = std::vector<RegistryInfo>;
90
91 struct LoadInfo;
92
93 struct ApplicationInfo;
94
95 /// A sequence of ApplicationInfo.
96 using ApplicationInfoSeq = std::vector<ApplicationInfo>;
97
99
100 class AdminPrx;
101
102 class FileIteratorPrx;
103
104 struct ServerDynamicInfo;
105
106 /// A sequence of ServerDynamicInfo.
107 using ServerDynamicInfoSeq = std::vector<ServerDynamicInfo>;
108
109 struct AdapterDynamicInfo;
110
111 /// A sequence of AdapterDynamicInfo.
112 using AdapterDynamicInfoSeq = std::vector<AdapterDynamicInfo>;
113
114 struct NodeDynamicInfo;
115
117
118 /// A sequence of NodeDynamicInfo.
119 using NodeDynamicInfoSeq = std::vector<NodeDynamicInfo>;
120
121 class NodeObserverPrx;
122
124
125 class AdapterObserverPrx;
126
127 class ObjectObserverPrx;
128
129 class AdminSessionPrx;
130}
131
132namespace IceGrid
133{
134 /// Provides administrative access to an IceGrid deployment.
135 /// @headerfile IceGrid/IceGrid.h
136 class ICEGRID_API AdminPrx : public Ice::Proxy<AdminPrx, Ice::ObjectPrx>
137 {
138 public:
139 /// Constructs a proxy from a Communicator and a proxy string.
140 /// @param communicator The communicator of the new proxy.
141 /// @param proxyString The proxy string to parse.
142 AdminPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
143
144 /// Copy constructor. Constructs with a copy of the contents of @p other.
145 /// @param other The proxy to copy from.
146 AdminPrx(const AdminPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
147
148 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
149 /// @param other The proxy to move from.
150 AdminPrx(AdminPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
151
152 ~AdminPrx() override;
153
154 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
155 /// @param rhs The proxy to copy from.
156 /// @return A reference to this proxy.
157 AdminPrx& operator=(const AdminPrx& rhs) noexcept
158 {
159 if (this != &rhs)
160 {
162 }
163 return *this;
164 }
165
166 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
167 /// @param rhs The proxy to move from.
168 AdminPrx& operator=(AdminPrx&& rhs) noexcept
169 {
170 if (this != &rhs)
171 {
172 Ice::ObjectPrx::operator=(std::move(rhs));
173 }
174 return *this;
175 }
176
177 /// Adds an application to IceGrid.
178 /// @param descriptor The application descriptor.
179 /// @param context The request context.
180 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
181 /// session is holding the lock.
182 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
183 void addApplication(const ApplicationDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
184
185 /// Adds an application to IceGrid.
186 /// @param descriptor The application descriptor.
187 /// @param context The request context.
188 /// @return A future that becomes available when the invocation completes.
189 [[nodiscard]] std::future<void> addApplicationAsync(const ApplicationDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
190
191 /// Adds an application to IceGrid.
192 /// @param descriptor The application descriptor.
193 /// @param response The response callback.
194 /// @param exception The exception callback.
195 /// @param sent The sent callback.
196 /// @param context The request context.
197 /// @return A function that can be called to cancel the invocation locally.
198 // NOLINTNEXTLINE(modernize-use-nodiscard)
199 std::function<void()> addApplicationAsync(const ApplicationDescriptor& descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
200
201 /// @private
202 void _iceI_addApplication(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ApplicationDescriptor&, const Ice::Context&) const;
203
204 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor.
205 /// @param descriptor The new application descriptor.
206 /// @param context The request context.
207 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
208 /// session is holding the lock.
209 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
210 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
211 void syncApplication(const ApplicationDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
212
213 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor.
214 /// @param descriptor The new application descriptor.
215 /// @param context The request context.
216 /// @return A future that becomes available when the invocation completes.
217 [[nodiscard]] std::future<void> syncApplicationAsync(const ApplicationDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
218
219 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor.
220 /// @param descriptor The new application descriptor.
221 /// @param response The response callback.
222 /// @param exception The exception callback.
223 /// @param sent The sent callback.
224 /// @param context The request context.
225 /// @return A function that can be called to cancel the invocation locally.
226 // NOLINTNEXTLINE(modernize-use-nodiscard)
227 std::function<void()> syncApplicationAsync(const ApplicationDescriptor& descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
228
229 /// @private
230 void _iceI_syncApplication(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ApplicationDescriptor&, const Ice::Context&) const;
231
232 /// Updates a deployed application.
233 /// @param descriptor The update descriptor.
234 /// @param context The request context.
235 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
236 /// session is holding the lock.
237 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
238 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
240
241 /// Updates a deployed application.
242 /// @param descriptor The update descriptor.
243 /// @param context The request context.
244 /// @return A future that becomes available when the invocation completes.
245 [[nodiscard]] std::future<void> updateApplicationAsync(const ApplicationUpdateDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
246
247 /// Updates a deployed application.
248 /// @param descriptor The update descriptor.
249 /// @param response The response callback.
250 /// @param exception The exception callback.
251 /// @param sent The sent callback.
252 /// @param context The request context.
253 /// @return A function that can be called to cancel the invocation locally.
254 // NOLINTNEXTLINE(modernize-use-nodiscard)
255 std::function<void()> updateApplicationAsync(const ApplicationUpdateDescriptor& descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
256
257 /// @private
258 void _iceI_updateApplication(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ApplicationUpdateDescriptor&, const Ice::Context&) const;
259
260 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor
261 /// only if no server restarts are necessary for the update of the application. If some servers need to be
262 /// restarted, the synchronization is rejected with a DeploymentException.
263 /// @param descriptor The application descriptor.
264 /// @param context The request context.
265 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
266 /// session is holding the lock.
267 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
268 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
270
271 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor
272 /// only if no server restarts are necessary for the update of the application. If some servers need to be
273 /// restarted, the synchronization is rejected with a DeploymentException.
274 /// @param descriptor The application descriptor.
275 /// @param context The request context.
276 /// @return A future that becomes available when the invocation completes.
277 [[nodiscard]] std::future<void> syncApplicationWithoutRestartAsync(const ApplicationDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
278
279 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor
280 /// only if no server restarts are necessary for the update of the application. If some servers need to be
281 /// restarted, the synchronization is rejected with a DeploymentException.
282 /// @param descriptor The application descriptor.
283 /// @param response The response callback.
284 /// @param exception The exception callback.
285 /// @param sent The sent callback.
286 /// @param context The request context.
287 /// @return A function that can be called to cancel the invocation locally.
288 // NOLINTNEXTLINE(modernize-use-nodiscard)
289 std::function<void()> syncApplicationWithoutRestartAsync(const ApplicationDescriptor& descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
290
291 /// @private
292 void _iceI_syncApplicationWithoutRestart(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ApplicationDescriptor&, const Ice::Context&) const;
293
294 /// Updates a deployed application. This operation succeeds only when no server restarts are necessary for the
295 /// update of the application. If some servers need to be restarted, the synchronization is rejected with a
296 /// DeploymentException.
297 /// @param descriptor The update descriptor.
298 /// @param context The request context.
299 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
300 /// session is holding the lock.
301 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
302 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
304
305 /// Updates a deployed application. This operation succeeds only when no server restarts are necessary for the
306 /// update of the application. If some servers need to be restarted, the synchronization is rejected with a
307 /// DeploymentException.
308 /// @param descriptor The update descriptor.
309 /// @param context The request context.
310 /// @return A future that becomes available when the invocation completes.
311 [[nodiscard]] std::future<void> updateApplicationWithoutRestartAsync(const ApplicationUpdateDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
312
313 /// Updates a deployed application. This operation succeeds only when no server restarts are necessary for the
314 /// update of the application. If some servers need to be restarted, the synchronization is rejected with a
315 /// DeploymentException.
316 /// @param descriptor The update descriptor.
317 /// @param response The response callback.
318 /// @param exception The exception callback.
319 /// @param sent The sent callback.
320 /// @param context The request context.
321 /// @return A function that can be called to cancel the invocation locally.
322 // NOLINTNEXTLINE(modernize-use-nodiscard)
323 std::function<void()> updateApplicationWithoutRestartAsync(const ApplicationUpdateDescriptor& descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
324
325 /// @private
326 void _iceI_updateApplicationWithoutRestart(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ApplicationUpdateDescriptor&, const Ice::Context&) const;
327
328 /// Removes an application from IceGrid.
329 /// @param name The application name.
330 /// @param context The request context.
331 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
332 /// session is holding the lock.
333 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
334 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
335 void removeApplication(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
336
337 /// Removes an application from IceGrid.
338 /// @param name The application name.
339 /// @param context The request context.
340 /// @return A future that becomes available when the invocation completes.
341 [[nodiscard]] std::future<void> removeApplicationAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
342
343 /// Removes an application from IceGrid.
344 /// @param name The application name.
345 /// @param response The response callback.
346 /// @param exception The exception callback.
347 /// @param sent The sent callback.
348 /// @param context The request context.
349 /// @return A function that can be called to cancel the invocation locally.
350 // NOLINTNEXTLINE(modernize-use-nodiscard)
351 std::function<void()> removeApplicationAsync(std::string_view name, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
352
353 /// @private
354 void _iceI_removeApplication(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
355
356 /// Instantiates a server template.
357 /// @param application The application name.
358 /// @param node The name of the node where the server will be deployed.
359 /// @param desc The descriptor of the server instance to deploy.
360 /// @param context The request context.
361 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
362 /// session is holding the lock.
363 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
364 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
365 void instantiateServer(std::string_view application, std::string_view node, const ServerInstanceDescriptor& desc, const Ice::Context& context = Ice::noExplicitContext) const;
366
367 /// Instantiates a server template.
368 /// @param application The application name.
369 /// @param node The name of the node where the server will be deployed.
370 /// @param desc The descriptor of the server instance to deploy.
371 /// @param context The request context.
372 /// @return A future that becomes available when the invocation completes.
373 [[nodiscard]] std::future<void> instantiateServerAsync(std::string_view application, std::string_view node, const ServerInstanceDescriptor& desc, const Ice::Context& context = Ice::noExplicitContext) const;
374
375 /// Instantiates a server template.
376 /// @param application The application name.
377 /// @param node The name of the node where the server will be deployed.
378 /// @param desc The descriptor of the server instance to deploy.
379 /// @param response The response callback.
380 /// @param exception The exception callback.
381 /// @param sent The sent callback.
382 /// @param context The request context.
383 /// @return A function that can be called to cancel the invocation locally.
384 // NOLINTNEXTLINE(modernize-use-nodiscard)
385 std::function<void()> instantiateServerAsync(std::string_view application, std::string_view node, const ServerInstanceDescriptor& desc, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
386
387 /// @private
388 void _iceI_instantiateServer(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, std::string_view, const ServerInstanceDescriptor&, const Ice::Context&) const;
389
390 /// Gets an application descriptor.
391 /// @param name The application name.
392 /// @param context The request context.
393 /// @return The application descriptor.
394 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
395 ApplicationInfo getApplicationInfo(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
396
397 /// Gets an application descriptor.
398 /// @param name The application name.
399 /// @param context The request context.
400 /// @return A future that becomes available when the invocation completes. This future holds:
401 /// - The application descriptor.
402 [[nodiscard]] std::future<ApplicationInfo> getApplicationInfoAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
403
404 /// Gets an application descriptor.
405 /// @param name The application name.
406 /// @param response The response callback. It accepts:
407 /// - The application descriptor.
408 /// @param exception The exception callback.
409 /// @param sent The sent callback.
410 /// @param context The request context.
411 /// @return A function that can be called to cancel the invocation locally.
412 // NOLINTNEXTLINE(modernize-use-nodiscard)
413 std::function<void()> getApplicationInfoAsync(std::string_view name, std::function<void(::IceGrid::ApplicationInfo)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
414
415 /// @private
416 void _iceI_getApplicationInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<ApplicationInfo>>&, std::string_view, const Ice::Context&) const;
417
418 /// Gets the default application descriptor.
419 /// @param context The request context.
420 /// @return The default application descriptor.
421 /// @throws IceGrid::DeploymentException Thrown when the default application descriptor is invalid or unreachable.
422 ApplicationDescriptor getDefaultApplicationDescriptor(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
423
424 /// Gets the default application descriptor.
425 /// @param context The request context.
426 /// @return A future that becomes available when the invocation completes. This future holds:
427 /// - The default application descriptor.
428 [[nodiscard]] std::future<ApplicationDescriptor> getDefaultApplicationDescriptorAsync(const Ice::Context& context = Ice::noExplicitContext) const;
429
430 /// Gets the default application descriptor.
431 /// @param response The response callback. It accepts:
432 /// - The default application descriptor.
433 /// @param exception The exception callback.
434 /// @param sent The sent callback.
435 /// @param context The request context.
436 /// @return A function that can be called to cancel the invocation locally.
437 // NOLINTNEXTLINE(modernize-use-nodiscard)
438 std::function<void()> getDefaultApplicationDescriptorAsync(std::function<void(::IceGrid::ApplicationDescriptor)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
439
440 /// @private
441 void _iceI_getDefaultApplicationDescriptor(const std::shared_ptr<IceInternal::OutgoingAsyncT<ApplicationDescriptor>>&, const Ice::Context&) const;
442
443 /// Gets all the IceGrid applications currently registered.
444 /// @param context The request context.
445 /// @return The application names.
446 ::Ice::StringSeq getAllApplicationNames(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
447
448 /// Gets all the IceGrid applications currently registered.
449 /// @param context The request context.
450 /// @return A future that becomes available when the invocation completes. This future holds:
451 /// - The application names.
452 [[nodiscard]] std::future<::Ice::StringSeq> getAllApplicationNamesAsync(const Ice::Context& context = Ice::noExplicitContext) const;
453
454 /// Gets all the IceGrid applications currently registered.
455 /// @param response The response callback. It accepts:
456 /// - The application names.
457 /// @param exception The exception callback.
458 /// @param sent The sent callback.
459 /// @param context The request context.
460 /// @return A function that can be called to cancel the invocation locally.
461 // NOLINTNEXTLINE(modernize-use-nodiscard)
462 std::function<void()> getAllApplicationNamesAsync(std::function<void(::Ice::StringSeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
463
464 /// @private
465 void _iceI_getAllApplicationNames(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
466
467 /// Gets information about a server.
468 /// @param id The server ID.
469 /// @param context The request context.
470 /// @return The server information.
471 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
472 ServerInfo getServerInfo(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
473
474 /// Gets information about a server.
475 /// @param id The server ID.
476 /// @param context The request context.
477 /// @return A future that becomes available when the invocation completes. This future holds:
478 /// - The server information.
479 [[nodiscard]] std::future<ServerInfo> getServerInfoAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
480
481 /// Gets information about a server.
482 /// @param id The server ID.
483 /// @param response The response callback. It accepts:
484 /// - The server information.
485 /// @param exception The exception callback.
486 /// @param sent The sent callback.
487 /// @param context The request context.
488 /// @return A function that can be called to cancel the invocation locally.
489 // NOLINTNEXTLINE(modernize-use-nodiscard)
490 std::function<void()> getServerInfoAsync(std::string_view id, std::function<void(::IceGrid::ServerInfo)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
491
492 /// @private
493 void _iceI_getServerInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<ServerInfo>>&, std::string_view, const Ice::Context&) const;
494
495 /// Gets the state of a server.
496 /// @param id The server ID.
497 /// @param context The request context.
498 /// @return The server state.
499 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
500 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
501 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
502 ServerState getServerState(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
503
504 /// Gets the state of a server.
505 /// @param id The server ID.
506 /// @param context The request context.
507 /// @return A future that becomes available when the invocation completes. This future holds:
508 /// - The server state.
509 [[nodiscard]] std::future<ServerState> getServerStateAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
510
511 /// Gets the state of a server.
512 /// @param id The server ID.
513 /// @param response The response callback. It accepts:
514 /// - The server state.
515 /// @param exception The exception callback.
516 /// @param sent The sent callback.
517 /// @param context The request context.
518 /// @return A function that can be called to cancel the invocation locally.
519 // NOLINTNEXTLINE(modernize-use-nodiscard)
520 std::function<void()> getServerStateAsync(std::string_view id, std::function<void(::IceGrid::ServerState)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
521
522 /// @private
523 void _iceI_getServerState(const std::shared_ptr<IceInternal::OutgoingAsyncT<ServerState>>&, std::string_view, const Ice::Context&) const;
524
525 /// Gets the system process ID of a server. The process ID is operating system dependent.
526 /// @param id The server ID.
527 /// @param context The request context.
528 /// @return The process ID.
529 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
530 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
531 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
532 std::int32_t getServerPid(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
533
534 /// Gets the system process ID of a server. The process ID is operating system dependent.
535 /// @param id The server ID.
536 /// @param context The request context.
537 /// @return A future that becomes available when the invocation completes. This future holds:
538 /// - The process ID.
539 [[nodiscard]] std::future<std::int32_t> getServerPidAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
540
541 /// Gets the system process ID of a server. The process ID is operating system dependent.
542 /// @param id The server ID.
543 /// @param response The response callback. It accepts:
544 /// - The process ID.
545 /// @param exception The exception callback.
546 /// @param sent The sent callback.
547 /// @param context The request context.
548 /// @return A function that can be called to cancel the invocation locally.
549 // NOLINTNEXTLINE(modernize-use-nodiscard)
550 std::function<void()> getServerPidAsync(std::string_view id, std::function<void(std::int32_t)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
551
552 /// @private
553 void _iceI_getServerPid(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::int32_t>>&, std::string_view, const Ice::Context&) const;
554
555 /// Gets the category for server admin objects. You can manufacture a server admin proxy from the admin proxy by
556 /// changing its identity: use the server ID as name and the returned category as category.
557 /// @param context The request context.
558 /// @return The category for server admin objects.
559 std::string getServerAdminCategory(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
560
561 /// Gets the category for server admin objects. You can manufacture a server admin proxy from the admin proxy by
562 /// changing its identity: use the server ID as name and the returned category as category.
563 /// @param context The request context.
564 /// @return A future that becomes available when the invocation completes. This future holds:
565 /// - The category for server admin objects.
566 [[nodiscard]] std::future<std::string> getServerAdminCategoryAsync(const Ice::Context& context = Ice::noExplicitContext) const;
567
568 /// Gets the category for server admin objects. You can manufacture a server admin proxy from the admin proxy by
569 /// changing its identity: use the server ID as name and the returned category as category.
570 /// @param response The response callback. It accepts:
571 /// - The category for server admin objects.
572 /// @param exception The exception callback.
573 /// @param sent The sent callback.
574 /// @param context The request context.
575 /// @return A function that can be called to cancel the invocation locally.
576 // NOLINTNEXTLINE(modernize-use-nodiscard)
577 std::function<void()> getServerAdminCategoryAsync(std::function<void(std::string)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
578
579 /// @private
580 void _iceI_getServerAdminCategory(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::string>>&, const Ice::Context&) const;
581
582 /// Gets a proxy to the admin object of a server.
583 /// @param id The server ID.
584 /// @param context The request context.
585 /// @return A proxy to the admin object of the server. This proxy is never null.
586 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
587 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
588 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
589 std::optional<Ice::ObjectPrx> getServerAdmin(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
590
591 /// Gets a proxy to the admin object of a server.
592 /// @param id The server ID.
593 /// @param context The request context.
594 /// @return A future that becomes available when the invocation completes. This future holds:
595 /// - A proxy to the admin object of the server. This proxy is never null.
596 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> getServerAdminAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
597
598 /// Gets a proxy to the admin object of a server.
599 /// @param id The server ID.
600 /// @param response The response callback. It accepts:
601 /// - A proxy to the admin object of the server. This proxy is never null.
602 /// @param exception The exception callback.
603 /// @param sent The sent callback.
604 /// @param context The request context.
605 /// @return A function that can be called to cancel the invocation locally.
606 // NOLINTNEXTLINE(modernize-use-nodiscard)
607 std::function<void()> getServerAdminAsync(std::string_view id, std::function<void(std::optional<Ice::ObjectPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
608
609 /// @private
610 void _iceI_getServerAdmin(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, std::string_view, const Ice::Context&) const;
611
612 /// Enables or disables a server. A disabled server can't be started on demand or administratively. The enable
613 /// state of the server is not persistent: if the node is shut down and restarted, the server will be enabled by
614 /// default.
615 /// @param id The server ID.
616 /// @param enabled `true` to enable the server, `false` to disable it.
617 /// @param context The request context.
618 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
619 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
620 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
621 void enableServer(std::string_view id, bool enabled, const Ice::Context& context = Ice::noExplicitContext) const;
622
623 /// Enables or disables a server. A disabled server can't be started on demand or administratively. The enable
624 /// state of the server is not persistent: if the node is shut down and restarted, the server will be enabled by
625 /// default.
626 /// @param id The server ID.
627 /// @param enabled `true` to enable the server, `false` to disable it.
628 /// @param context The request context.
629 /// @return A future that becomes available when the invocation completes.
630 [[nodiscard]] std::future<void> enableServerAsync(std::string_view id, bool enabled, const Ice::Context& context = Ice::noExplicitContext) const;
631
632 /// Enables or disables a server. A disabled server can't be started on demand or administratively. The enable
633 /// state of the server is not persistent: if the node is shut down and restarted, the server will be enabled by
634 /// default.
635 /// @param id The server ID.
636 /// @param enabled `true` to enable the server, `false` to disable it.
637 /// @param response The response callback.
638 /// @param exception The exception callback.
639 /// @param sent The sent callback.
640 /// @param context The request context.
641 /// @return A function that can be called to cancel the invocation locally.
642 // NOLINTNEXTLINE(modernize-use-nodiscard)
643 std::function<void()> enableServerAsync(std::string_view id, bool enabled, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
644
645 /// @private
646 void _iceI_enableServer(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, bool, const Ice::Context&) const;
647
648 /// Checks if the server is enabled or disabled.
649 /// @param id The server ID.
650 /// @param context The request context.
651 /// @return `true` if the server is enabled, `false` otherwise.
652 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
653 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
654 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
655 bool isServerEnabled(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
656
657 /// Checks if the server is enabled or disabled.
658 /// @param id The server ID.
659 /// @param context The request context.
660 /// @return A future that becomes available when the invocation completes. This future holds:
661 /// - `true` if the server is enabled, `false` otherwise.
662 [[nodiscard]] std::future<bool> isServerEnabledAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
663
664 /// Checks if the server is enabled or disabled.
665 /// @param id The server ID.
666 /// @param response The response callback. It accepts:
667 /// - `true` if the server is enabled, `false` otherwise.
668 /// @param exception The exception callback.
669 /// @param sent The sent callback.
670 /// @param context The request context.
671 /// @return A function that can be called to cancel the invocation locally.
672 // NOLINTNEXTLINE(modernize-use-nodiscard)
673 std::function<void()> isServerEnabledAsync(std::string_view id, std::function<void(bool)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
674
675 /// @private
676 void _iceI_isServerEnabled(const std::shared_ptr<IceInternal::OutgoingAsyncT<bool>>&, std::string_view, const Ice::Context&) const;
677
678 /// Starts a server and waits for its activation.
679 /// @param id The server id.
680 /// @param context The request context.
681 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
682 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
683 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
684 /// @throws IceGrid::ServerStartException Thrown when the server startup failed.
685 void startServer(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
686
687 /// Starts a server and waits for its activation.
688 /// @param id The server id.
689 /// @param context The request context.
690 /// @return A future that becomes available when the invocation completes.
691 [[nodiscard]] std::future<void> startServerAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
692
693 /// Starts a server and waits for its activation.
694 /// @param id The server id.
695 /// @param response The response callback.
696 /// @param exception The exception callback.
697 /// @param sent The sent callback.
698 /// @param context The request context.
699 /// @return A function that can be called to cancel the invocation locally.
700 // NOLINTNEXTLINE(modernize-use-nodiscard)
701 std::function<void()> startServerAsync(std::string_view id, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
702
703 /// @private
704 void _iceI_startServer(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
705
706 /// Stops a server.
707 /// @param id The server ID.
708 /// @param context The request context.
709 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
710 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
711 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
712 /// @throws IceGrid::ServerStopException Thrown when the server stop failed.
713 void stopServer(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
714
715 /// Stops a server.
716 /// @param id The server ID.
717 /// @param context The request context.
718 /// @return A future that becomes available when the invocation completes.
719 [[nodiscard]] std::future<void> stopServerAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
720
721 /// Stops a server.
722 /// @param id The server ID.
723 /// @param response The response callback.
724 /// @param exception The exception callback.
725 /// @param sent The sent callback.
726 /// @param context The request context.
727 /// @return A function that can be called to cancel the invocation locally.
728 // NOLINTNEXTLINE(modernize-use-nodiscard)
729 std::function<void()> stopServerAsync(std::string_view id, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
730
731 /// @private
732 void _iceI_stopServer(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
733
734 /// Sends a signal to a server.
735 /// @param id The server ID.
736 /// @param signal The signal, for example SIGTERM or 15.
737 /// @param context The request context.
738 /// @throws IceGrid::BadSignalException Thrown when the signal is not recognized by the target server.
739 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
740 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
741 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
742 void sendSignal(std::string_view id, std::string_view signal, const Ice::Context& context = Ice::noExplicitContext) const;
743
744 /// Sends a signal to a server.
745 /// @param id The server ID.
746 /// @param signal The signal, for example SIGTERM or 15.
747 /// @param context The request context.
748 /// @return A future that becomes available when the invocation completes.
749 [[nodiscard]] std::future<void> sendSignalAsync(std::string_view id, std::string_view signal, const Ice::Context& context = Ice::noExplicitContext) const;
750
751 /// Sends a signal to a server.
752 /// @param id The server ID.
753 /// @param signal The signal, for example SIGTERM or 15.
754 /// @param response The response callback.
755 /// @param exception The exception callback.
756 /// @param sent The sent callback.
757 /// @param context The request context.
758 /// @return A function that can be called to cancel the invocation locally.
759 // NOLINTNEXTLINE(modernize-use-nodiscard)
760 std::function<void()> sendSignalAsync(std::string_view id, std::string_view signal, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
761
762 /// @private
763 void _iceI_sendSignal(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, std::string_view, const Ice::Context&) const;
764
765 /// Gets the IDs of all the servers registered with IceGrid.
766 /// @param context The request context.
767 /// @return The server IDs.
768 ::Ice::StringSeq getAllServerIds(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
769
770 /// Gets the IDs of all the servers registered with IceGrid.
771 /// @param context The request context.
772 /// @return A future that becomes available when the invocation completes. This future holds:
773 /// - The server IDs.
774 [[nodiscard]] std::future<::Ice::StringSeq> getAllServerIdsAsync(const Ice::Context& context = Ice::noExplicitContext) const;
775
776 /// Gets the IDs of all the servers registered with IceGrid.
777 /// @param response The response callback. It accepts:
778 /// - The server IDs.
779 /// @param exception The exception callback.
780 /// @param sent The sent callback.
781 /// @param context The request context.
782 /// @return A function that can be called to cancel the invocation locally.
783 // NOLINTNEXTLINE(modernize-use-nodiscard)
784 std::function<void()> getAllServerIdsAsync(std::function<void(::Ice::StringSeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
785
786 /// @private
787 void _iceI_getAllServerIds(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
788
789 /// Gets adapter information for the replica group or adapter with the given ID.
790 /// @param id The adapter or replica group ID.
791 /// @param context The request context.
792 /// @return A sequence of AdapterInfo. If @p id refers to an adapter, this sequence contains a single element.
793 /// If @p id refers to a replica group, this sequence contains adapter information for each member of the
794 /// replica group.
795 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter or replica group doesn't exist.
796 AdapterInfoSeq getAdapterInfo(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
797
798 /// Gets adapter information for the replica group or adapter with the given ID.
799 /// @param id The adapter or replica group ID.
800 /// @param context The request context.
801 /// @return A future that becomes available when the invocation completes. This future holds:
802 /// - A sequence of AdapterInfo. If @p id refers to an adapter, this sequence contains a single element.
803 /// If @p id refers to a replica group, this sequence contains adapter information for each member of the
804 /// replica group.
805 [[nodiscard]] std::future<AdapterInfoSeq> getAdapterInfoAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
806
807 /// Gets adapter information for the replica group or adapter with the given ID.
808 /// @param id The adapter or replica group ID.
809 /// @param response The response callback. It accepts:
810 /// - A sequence of AdapterInfo. If @p id refers to an adapter, this sequence contains a single element.
811 /// If @p id refers to a replica group, this sequence contains adapter information for each member of the
812 /// replica group.
813 /// @param exception The exception callback.
814 /// @param sent The sent callback.
815 /// @param context The request context.
816 /// @return A function that can be called to cancel the invocation locally.
817 // NOLINTNEXTLINE(modernize-use-nodiscard)
818 std::function<void()> getAdapterInfoAsync(std::string_view id, std::function<void(::IceGrid::AdapterInfoSeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
819
820 /// @private
821 void _iceI_getAdapterInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<AdapterInfoSeq>>&, std::string_view, const Ice::Context&) const;
822
823 /// Removes the adapter with the given ID.
824 /// @param id The adapter ID.
825 /// @param context The request context.
826 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter doesn't exist.
827 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
828 void removeAdapter(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
829
830 /// Removes the adapter with the given ID.
831 /// @param id The adapter ID.
832 /// @param context The request context.
833 /// @return A future that becomes available when the invocation completes.
834 [[nodiscard]] std::future<void> removeAdapterAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
835
836 /// Removes the adapter with the given ID.
837 /// @param id The adapter ID.
838 /// @param response The response callback.
839 /// @param exception The exception callback.
840 /// @param sent The sent callback.
841 /// @param context The request context.
842 /// @return A function that can be called to cancel the invocation locally.
843 // NOLINTNEXTLINE(modernize-use-nodiscard)
844 std::function<void()> removeAdapterAsync(std::string_view id, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
845
846 /// @private
847 void _iceI_removeAdapter(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
848
849 /// Gets the IDs of all adapters registered with IceGrid.
850 /// @param context The request context.
851 /// @return The adapter IDs.
852 ::Ice::StringSeq getAllAdapterIds(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
853
854 /// Gets the IDs of all adapters registered with IceGrid.
855 /// @param context The request context.
856 /// @return A future that becomes available when the invocation completes. This future holds:
857 /// - The adapter IDs.
858 [[nodiscard]] std::future<::Ice::StringSeq> getAllAdapterIdsAsync(const Ice::Context& context = Ice::noExplicitContext) const;
859
860 /// Gets the IDs of all adapters registered with IceGrid.
861 /// @param response The response callback. It accepts:
862 /// - The adapter IDs.
863 /// @param exception The exception callback.
864 /// @param sent The sent callback.
865 /// @param context The request context.
866 /// @return A function that can be called to cancel the invocation locally.
867 // NOLINTNEXTLINE(modernize-use-nodiscard)
868 std::function<void()> getAllAdapterIdsAsync(std::function<void(::Ice::StringSeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
869
870 /// @private
871 void _iceI_getAllAdapterIds(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
872
873 /// Adds an object to the object registry. IceGrid gets the object type by calling `ice_id` on @p obj. The
874 /// object must be reachable.
875 /// @param obj A proxy to the object. This proxy is never null.
876 /// @param context The request context.
877 /// @throws IceGrid::DeploymentException Thrown when the object can't be added.
878 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
879 void addObject(const std::optional<Ice::ObjectPrx>& obj, const Ice::Context& context = Ice::noExplicitContext) const;
880
881 /// Adds an object to the object registry. IceGrid gets the object type by calling `ice_id` on @p obj. The
882 /// object must be reachable.
883 /// @param obj A proxy to the object. This proxy is never null.
884 /// @param context The request context.
885 /// @return A future that becomes available when the invocation completes.
886 [[nodiscard]] std::future<void> addObjectAsync(const std::optional<Ice::ObjectPrx>& obj, const Ice::Context& context = Ice::noExplicitContext) const;
887
888 /// Adds an object to the object registry. IceGrid gets the object type by calling `ice_id` on @p obj. The
889 /// object must be reachable.
890 /// @param obj A proxy to the object. This proxy is never null.
891 /// @param response The response callback.
892 /// @param exception The exception callback.
893 /// @param sent The sent callback.
894 /// @param context The request context.
895 /// @return A function that can be called to cancel the invocation locally.
896 // NOLINTNEXTLINE(modernize-use-nodiscard)
897 std::function<void()> addObjectAsync(const std::optional<Ice::ObjectPrx>& obj, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
898
899 /// @private
900 void _iceI_addObject(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const std::optional<Ice::ObjectPrx>&, const Ice::Context&) const;
901
902 /// Updates an object in the object registry. Only objects added with this interface can be updated with this
903 /// operation. Objects added with deployment descriptors should be updated with the deployment mechanism.
904 /// @param obj A proxy to the object. This proxy is never null.
905 /// @param context The request context.
906 /// @throws IceGrid::DeploymentException Thrown when the object can't be updated.
907 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
908 void updateObject(const std::optional<Ice::ObjectPrx>& obj, const Ice::Context& context = Ice::noExplicitContext) const;
909
910 /// Updates an object in the object registry. Only objects added with this interface can be updated with this
911 /// operation. Objects added with deployment descriptors should be updated with the deployment mechanism.
912 /// @param obj A proxy to the object. This proxy is never null.
913 /// @param context The request context.
914 /// @return A future that becomes available when the invocation completes.
915 [[nodiscard]] std::future<void> updateObjectAsync(const std::optional<Ice::ObjectPrx>& obj, const Ice::Context& context = Ice::noExplicitContext) const;
916
917 /// Updates an object in the object registry. Only objects added with this interface can be updated with this
918 /// operation. Objects added with deployment descriptors should be updated with the deployment mechanism.
919 /// @param obj A proxy to the object. This proxy is never null.
920 /// @param response The response callback.
921 /// @param exception The exception callback.
922 /// @param sent The sent callback.
923 /// @param context The request context.
924 /// @return A function that can be called to cancel the invocation locally.
925 // NOLINTNEXTLINE(modernize-use-nodiscard)
926 std::function<void()> updateObjectAsync(const std::optional<Ice::ObjectPrx>& obj, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
927
928 /// @private
929 void _iceI_updateObject(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const std::optional<Ice::ObjectPrx>&, const Ice::Context&) const;
930
931 /// Adds an object to the object registry and explicitly specifies its type.
932 /// @param obj The object to be added to the registry. The proxy is never null.
933 /// @param type The type name.
934 /// @param context The request context.
935 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
936 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
937 void addObjectWithType(const std::optional<Ice::ObjectPrx>& obj, std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const;
938
939 /// Adds an object to the object registry and explicitly specifies its type.
940 /// @param obj The object to be added to the registry. The proxy is never null.
941 /// @param type The type name.
942 /// @param context The request context.
943 /// @return A future that becomes available when the invocation completes.
944 [[nodiscard]] std::future<void> addObjectWithTypeAsync(const std::optional<Ice::ObjectPrx>& obj, std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const;
945
946 /// Adds an object to the object registry and explicitly specifies its type.
947 /// @param obj The object to be added to the registry. The proxy is never null.
948 /// @param type The type name.
949 /// @param response The response callback.
950 /// @param exception The exception callback.
951 /// @param sent The sent callback.
952 /// @param context The request context.
953 /// @return A function that can be called to cancel the invocation locally.
954 // NOLINTNEXTLINE(modernize-use-nodiscard)
955 std::function<void()> addObjectWithTypeAsync(const std::optional<Ice::ObjectPrx>& obj, std::string_view type, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
956
957 /// @private
958 void _iceI_addObjectWithType(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const std::optional<Ice::ObjectPrx>&, std::string_view, const Ice::Context&) const;
959
960 /// Removes an object from the object registry. Only objects added with this interface can be removed with this
961 /// operation. Objects added with deployment descriptors should be removed with the deployment mechanism.
962 /// @param id The identity of the object to remove.
963 /// @param context The request context.
964 /// @throws IceGrid::DeploymentException Thrown when the object can't be removed.
965 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
966 void removeObject(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
967
968 /// Removes an object from the object registry. Only objects added with this interface can be removed with this
969 /// operation. Objects added with deployment descriptors should be removed with the deployment mechanism.
970 /// @param id The identity of the object to remove.
971 /// @param context The request context.
972 /// @return A future that becomes available when the invocation completes.
973 [[nodiscard]] std::future<void> removeObjectAsync(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
974
975 /// Removes an object from the object registry. Only objects added with this interface can be removed with this
976 /// operation. Objects added with deployment descriptors should be removed with the deployment mechanism.
977 /// @param id The identity of the object to remove.
978 /// @param response The response callback.
979 /// @param exception The exception callback.
980 /// @param sent The sent callback.
981 /// @param context The request context.
982 /// @return A function that can be called to cancel the invocation locally.
983 // NOLINTNEXTLINE(modernize-use-nodiscard)
984 std::function<void()> removeObjectAsync(const ::Ice::Identity& id, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
985
986 /// @private
987 void _iceI_removeObject(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ::Ice::Identity&, const Ice::Context&) const;
988
989 /// Gets the object info for the object.
990 /// @param id The identity of the object.
991 /// @param context The request context.
992 /// @return The object info.
993 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
994 ObjectInfo getObjectInfo(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
995
996 /// Gets the object info for the object.
997 /// @param id The identity of the object.
998 /// @param context The request context.
999 /// @return A future that becomes available when the invocation completes. This future holds:
1000 /// - The object info.
1001 [[nodiscard]] std::future<ObjectInfo> getObjectInfoAsync(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
1002
1003 /// Gets the object info for the object.
1004 /// @param id The identity of the object.
1005 /// @param response The response callback. It accepts:
1006 /// - The object info.
1007 /// @param exception The exception callback.
1008 /// @param sent The sent callback.
1009 /// @param context The request context.
1010 /// @return A function that can be called to cancel the invocation locally.
1011 // NOLINTNEXTLINE(modernize-use-nodiscard)
1012 std::function<void()> getObjectInfoAsync(const ::Ice::Identity& id, std::function<void(::IceGrid::ObjectInfo)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1013
1014 /// @private
1015 void _iceI_getObjectInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<ObjectInfo>>&, const ::Ice::Identity&, const Ice::Context&) const;
1016
1017 /// Gets the object info of all the registered objects with a given type.
1018 /// @param type The type name.
1019 /// @param context The request context.
1020 /// @return The object infos.
1021 ObjectInfoSeq getObjectInfosByType(std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1022
1023 /// Gets the object info of all the registered objects with a given type.
1024 /// @param type The type name.
1025 /// @param context The request context.
1026 /// @return A future that becomes available when the invocation completes. This future holds:
1027 /// - The object infos.
1028 [[nodiscard]] std::future<ObjectInfoSeq> getObjectInfosByTypeAsync(std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const;
1029
1030 /// Gets the object info of all the registered objects with a given type.
1031 /// @param type The type name.
1032 /// @param response The response callback. It accepts:
1033 /// - The object infos.
1034 /// @param exception The exception callback.
1035 /// @param sent The sent callback.
1036 /// @param context The request context.
1037 /// @return A function that can be called to cancel the invocation locally.
1038 // NOLINTNEXTLINE(modernize-use-nodiscard)
1039 std::function<void()> getObjectInfosByTypeAsync(std::string_view type, std::function<void(::IceGrid::ObjectInfoSeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1040
1041 /// @private
1042 void _iceI_getObjectInfosByType(const std::shared_ptr<IceInternal::OutgoingAsyncT<ObjectInfoSeq>>&, std::string_view, const Ice::Context&) const;
1043
1044 /// Gets the object info of all the registered objects whose stringified identities match the given expression.
1045 /// @param expr The expression to match against the stringified identities of registered objects. The expression
1046 /// may contain a trailing wildcard (`*`) character.
1047 /// @param context The request context.
1048 /// @return All the object infos with a stringified identity matching the given expression.
1049 ObjectInfoSeq getAllObjectInfos(std::string_view expr, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1050
1051 /// Gets the object info of all the registered objects whose stringified identities match the given expression.
1052 /// @param expr The expression to match against the stringified identities of registered objects. The expression
1053 /// may contain a trailing wildcard (`*`) character.
1054 /// @param context The request context.
1055 /// @return A future that becomes available when the invocation completes. This future holds:
1056 /// - All the object infos with a stringified identity matching the given expression.
1057 [[nodiscard]] std::future<ObjectInfoSeq> getAllObjectInfosAsync(std::string_view expr, const Ice::Context& context = Ice::noExplicitContext) const;
1058
1059 /// Gets the object info of all the registered objects whose stringified identities match the given expression.
1060 /// @param expr The expression to match against the stringified identities of registered objects. The expression
1061 /// may contain a trailing wildcard (`*`) character.
1062 /// @param response The response callback. It accepts:
1063 /// - All the object infos with a stringified identity matching the given expression.
1064 /// @param exception The exception callback.
1065 /// @param sent The sent callback.
1066 /// @param context The request context.
1067 /// @return A function that can be called to cancel the invocation locally.
1068 // NOLINTNEXTLINE(modernize-use-nodiscard)
1069 std::function<void()> getAllObjectInfosAsync(std::string_view expr, std::function<void(::IceGrid::ObjectInfoSeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1070
1071 /// @private
1072 void _iceI_getAllObjectInfos(const std::shared_ptr<IceInternal::OutgoingAsyncT<ObjectInfoSeq>>&, std::string_view, const Ice::Context&) const;
1073
1074 /// Pings an IceGrid node to see if it is active.
1075 /// @param name The node name.
1076 /// @param context The request context.
1077 /// @return `true` if the node ping succeeded, `false` otherwise.
1078 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1079 bool pingNode(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1080
1081 /// Pings an IceGrid node to see if it is active.
1082 /// @param name The node name.
1083 /// @param context The request context.
1084 /// @return A future that becomes available when the invocation completes. This future holds:
1085 /// - `true` if the node ping succeeded, `false` otherwise.
1086 [[nodiscard]] std::future<bool> pingNodeAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1087
1088 /// Pings an IceGrid node to see if it is active.
1089 /// @param name The node name.
1090 /// @param response The response callback. It accepts:
1091 /// - `true` if the node ping succeeded, `false` otherwise.
1092 /// @param exception The exception callback.
1093 /// @param sent The sent callback.
1094 /// @param context The request context.
1095 /// @return A function that can be called to cancel the invocation locally.
1096 // NOLINTNEXTLINE(modernize-use-nodiscard)
1097 std::function<void()> pingNodeAsync(std::string_view name, std::function<void(bool)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1098
1099 /// @private
1100 void _iceI_pingNode(const std::shared_ptr<IceInternal::OutgoingAsyncT<bool>>&, std::string_view, const Ice::Context&) const;
1101
1102 /// Gets the load averages of a node.
1103 /// @param name The node name.
1104 /// @param context The request context.
1105 /// @return The node load information.
1106 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1107 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1108 LoadInfo getNodeLoad(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1109
1110 /// Gets the load averages of a node.
1111 /// @param name The node name.
1112 /// @param context The request context.
1113 /// @return A future that becomes available when the invocation completes. This future holds:
1114 /// - The node load information.
1115 [[nodiscard]] std::future<LoadInfo> getNodeLoadAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1116
1117 /// Gets the load averages of a node.
1118 /// @param name The node name.
1119 /// @param response The response callback. It accepts:
1120 /// - The node load information.
1121 /// @param exception The exception callback.
1122 /// @param sent The sent callback.
1123 /// @param context The request context.
1124 /// @return A function that can be called to cancel the invocation locally.
1125 // NOLINTNEXTLINE(modernize-use-nodiscard)
1126 std::function<void()> getNodeLoadAsync(std::string_view name, std::function<void(::IceGrid::LoadInfo)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1127
1128 /// @private
1129 void _iceI_getNodeLoad(const std::shared_ptr<IceInternal::OutgoingAsyncT<LoadInfo>>&, std::string_view, const Ice::Context&) const;
1130
1131 /// Gets the node information of a node.
1132 /// @param name The node name.
1133 /// @param context The request context.
1134 /// @return The node information.
1135 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1136 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1137 NodeInfo getNodeInfo(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1138
1139 /// Gets the node information of a node.
1140 /// @param name The node name.
1141 /// @param context The request context.
1142 /// @return A future that becomes available when the invocation completes. This future holds:
1143 /// - The node information.
1144 [[nodiscard]] std::future<NodeInfo> getNodeInfoAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1145
1146 /// Gets the node information of a node.
1147 /// @param name The node name.
1148 /// @param response The response callback. It accepts:
1149 /// - The node information.
1150 /// @param exception The exception callback.
1151 /// @param sent The sent callback.
1152 /// @param context The request context.
1153 /// @return A function that can be called to cancel the invocation locally.
1154 // NOLINTNEXTLINE(modernize-use-nodiscard)
1155 std::function<void()> getNodeInfoAsync(std::string_view name, std::function<void(::IceGrid::NodeInfo)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1156
1157 /// @private
1158 void _iceI_getNodeInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<NodeInfo>>&, std::string_view, const Ice::Context&) const;
1159
1160 /// Gets a proxy to the admin object of an IceGrid node.
1161 /// @param name The IceGrid node name.
1162 /// @param context The request context.
1163 /// @return A proxy to the IceGrid node's admin object. This proxy is never null.
1164 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1165 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1166 std::optional<Ice::ObjectPrx> getNodeAdmin(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1167
1168 /// Gets a proxy to the admin object of an IceGrid node.
1169 /// @param name The IceGrid node name.
1170 /// @param context The request context.
1171 /// @return A future that becomes available when the invocation completes. This future holds:
1172 /// - A proxy to the IceGrid node's admin object. This proxy is never null.
1173 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> getNodeAdminAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1174
1175 /// Gets a proxy to the admin object of an IceGrid node.
1176 /// @param name The IceGrid node name.
1177 /// @param response The response callback. It accepts:
1178 /// - A proxy to the IceGrid node's admin object. This proxy is never null.
1179 /// @param exception The exception callback.
1180 /// @param sent The sent callback.
1181 /// @param context The request context.
1182 /// @return A function that can be called to cancel the invocation locally.
1183 // NOLINTNEXTLINE(modernize-use-nodiscard)
1184 std::function<void()> getNodeAdminAsync(std::string_view name, std::function<void(std::optional<Ice::ObjectPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1185
1186 /// @private
1187 void _iceI_getNodeAdmin(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, std::string_view, const Ice::Context&) const;
1188
1189 /// Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
1190 /// Note that this operation returns 1 on operating systems where this can't be automatically determined and
1191 /// where the `IceGrid.Node.ProcessorSocketCount` property for the node is not set.
1192 /// @param name The node name.
1193 /// @param context The request context.
1194 /// @return The number of processor sockets or 1 if the number of sockets can't be determined.
1195 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1196 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1197 std::int32_t getNodeProcessorSocketCount(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1198
1199 /// Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
1200 /// Note that this operation returns 1 on operating systems where this can't be automatically determined and
1201 /// where the `IceGrid.Node.ProcessorSocketCount` property for the node is not set.
1202 /// @param name The node name.
1203 /// @param context The request context.
1204 /// @return A future that becomes available when the invocation completes. This future holds:
1205 /// - The number of processor sockets or 1 if the number of sockets can't be determined.
1206 [[nodiscard]] std::future<std::int32_t> getNodeProcessorSocketCountAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1207
1208 /// Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
1209 /// Note that this operation returns 1 on operating systems where this can't be automatically determined and
1210 /// where the `IceGrid.Node.ProcessorSocketCount` property for the node is not set.
1211 /// @param name The node name.
1212 /// @param response The response callback. It accepts:
1213 /// - The number of processor sockets or 1 if the number of sockets can't be determined.
1214 /// @param exception The exception callback.
1215 /// @param sent The sent callback.
1216 /// @param context The request context.
1217 /// @return A function that can be called to cancel the invocation locally.
1218 // NOLINTNEXTLINE(modernize-use-nodiscard)
1219 std::function<void()> getNodeProcessorSocketCountAsync(std::string_view name, std::function<void(std::int32_t)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1220
1221 /// @private
1222 void _iceI_getNodeProcessorSocketCount(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::int32_t>>&, std::string_view, const Ice::Context&) const;
1223
1224 /// Shuts down an IceGrid node.
1225 /// @param name The node name.
1226 /// @param context The request context.
1227 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1228 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1229 void shutdownNode(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1230
1231 /// Shuts down an IceGrid node.
1232 /// @param name The node name.
1233 /// @param context The request context.
1234 /// @return A future that becomes available when the invocation completes.
1235 [[nodiscard]] std::future<void> shutdownNodeAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1236
1237 /// Shuts down an IceGrid node.
1238 /// @param name The node name.
1239 /// @param response The response callback.
1240 /// @param exception The exception callback.
1241 /// @param sent The sent callback.
1242 /// @param context The request context.
1243 /// @return A function that can be called to cancel the invocation locally.
1244 // NOLINTNEXTLINE(modernize-use-nodiscard)
1245 std::function<void()> shutdownNodeAsync(std::string_view name, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1246
1247 /// @private
1248 void _iceI_shutdownNode(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
1249
1250 /// Get the hostname of a node.
1251 /// @param name The node name.
1252 /// @param context The request context.
1253 /// @return The node hostname.
1254 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1255 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1256 std::string getNodeHostname(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1257
1258 /// Get the hostname of a node.
1259 /// @param name The node name.
1260 /// @param context The request context.
1261 /// @return A future that becomes available when the invocation completes. This future holds:
1262 /// - The node hostname.
1263 [[nodiscard]] std::future<std::string> getNodeHostnameAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1264
1265 /// Get the hostname of a node.
1266 /// @param name The node name.
1267 /// @param response The response callback. It accepts:
1268 /// - The node hostname.
1269 /// @param exception The exception callback.
1270 /// @param sent The sent callback.
1271 /// @param context The request context.
1272 /// @return A function that can be called to cancel the invocation locally.
1273 // NOLINTNEXTLINE(modernize-use-nodiscard)
1274 std::function<void()> getNodeHostnameAsync(std::string_view name, std::function<void(std::string)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1275
1276 /// @private
1277 void _iceI_getNodeHostname(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::string>>&, std::string_view, const Ice::Context&) const;
1278
1279 /// Gets the names of all IceGrid nodes currently registered.
1280 /// @param context The request context.
1281 /// @return The node names.
1282 ::Ice::StringSeq getAllNodeNames(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1283
1284 /// Gets the names of all IceGrid nodes currently registered.
1285 /// @param context The request context.
1286 /// @return A future that becomes available when the invocation completes. This future holds:
1287 /// - The node names.
1288 [[nodiscard]] std::future<::Ice::StringSeq> getAllNodeNamesAsync(const Ice::Context& context = Ice::noExplicitContext) const;
1289
1290 /// Gets the names of all IceGrid nodes currently registered.
1291 /// @param response The response callback. It accepts:
1292 /// - The node names.
1293 /// @param exception The exception callback.
1294 /// @param sent The sent callback.
1295 /// @param context The request context.
1296 /// @return A function that can be called to cancel the invocation locally.
1297 // NOLINTNEXTLINE(modernize-use-nodiscard)
1298 std::function<void()> getAllNodeNamesAsync(std::function<void(::Ice::StringSeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1299
1300 /// @private
1301 void _iceI_getAllNodeNames(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
1302
1303 /// Pings an IceGrid registry to see if it is active.
1304 /// @param name The registry name.
1305 /// @param context The request context.
1306 /// @return `true` if the registry ping succeeded, `false` otherwise.
1307 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
1308 bool pingRegistry(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1309
1310 /// Pings an IceGrid registry to see if it is active.
1311 /// @param name The registry name.
1312 /// @param context The request context.
1313 /// @return A future that becomes available when the invocation completes. This future holds:
1314 /// - `true` if the registry ping succeeded, `false` otherwise.
1315 [[nodiscard]] std::future<bool> pingRegistryAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1316
1317 /// Pings an IceGrid registry to see if it is active.
1318 /// @param name The registry name.
1319 /// @param response The response callback. It accepts:
1320 /// - `true` if the registry ping succeeded, `false` otherwise.
1321 /// @param exception The exception callback.
1322 /// @param sent The sent callback.
1323 /// @param context The request context.
1324 /// @return A function that can be called to cancel the invocation locally.
1325 // NOLINTNEXTLINE(modernize-use-nodiscard)
1326 std::function<void()> pingRegistryAsync(std::string_view name, std::function<void(bool)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1327
1328 /// @private
1329 void _iceI_pingRegistry(const std::shared_ptr<IceInternal::OutgoingAsyncT<bool>>&, std::string_view, const Ice::Context&) const;
1330
1331 /// Gets the registry information of an IceGrid registry.
1332 /// @param name The registry name.
1333 /// @param context The request context.
1334 /// @return The registry information.
1335 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
1336 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
1337 RegistryInfo getRegistryInfo(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1338
1339 /// Gets the registry information of an IceGrid registry.
1340 /// @param name The registry name.
1341 /// @param context The request context.
1342 /// @return A future that becomes available when the invocation completes. This future holds:
1343 /// - The registry information.
1344 [[nodiscard]] std::future<RegistryInfo> getRegistryInfoAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1345
1346 /// Gets the registry information of an IceGrid registry.
1347 /// @param name The registry name.
1348 /// @param response The response callback. It accepts:
1349 /// - The registry information.
1350 /// @param exception The exception callback.
1351 /// @param sent The sent callback.
1352 /// @param context The request context.
1353 /// @return A function that can be called to cancel the invocation locally.
1354 // NOLINTNEXTLINE(modernize-use-nodiscard)
1355 std::function<void()> getRegistryInfoAsync(std::string_view name, std::function<void(::IceGrid::RegistryInfo)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1356
1357 /// @private
1358 void _iceI_getRegistryInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<RegistryInfo>>&, std::string_view, const Ice::Context&) const;
1359
1360 /// Gets a proxy to the admin object of an IceGrid registry.
1361 /// @param name The registry name.
1362 /// @param context The request context.
1363 /// @return A proxy to the admin object of an IceGrid registry. This proxy is never null.
1364 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
1365 std::optional<Ice::ObjectPrx> getRegistryAdmin(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1366
1367 /// Gets a proxy to the admin object of an IceGrid registry.
1368 /// @param name The registry name.
1369 /// @param context The request context.
1370 /// @return A future that becomes available when the invocation completes. This future holds:
1371 /// - A proxy to the admin object of an IceGrid registry. This proxy is never null.
1372 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> getRegistryAdminAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1373
1374 /// Gets a proxy to the admin object of an IceGrid registry.
1375 /// @param name The registry name.
1376 /// @param response The response callback. It accepts:
1377 /// - A proxy to the admin object of an IceGrid registry. This proxy is never null.
1378 /// @param exception The exception callback.
1379 /// @param sent The sent callback.
1380 /// @param context The request context.
1381 /// @return A function that can be called to cancel the invocation locally.
1382 // NOLINTNEXTLINE(modernize-use-nodiscard)
1383 std::function<void()> getRegistryAdminAsync(std::string_view name, std::function<void(std::optional<Ice::ObjectPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1384
1385 /// @private
1386 void _iceI_getRegistryAdmin(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, std::string_view, const Ice::Context&) const;
1387
1388 /// Shuts down an IceGrid registry.
1389 /// @param name The registry name.
1390 /// @param context The request context.
1391 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
1392 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
1393 void shutdownRegistry(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1394
1395 /// Shuts down an IceGrid registry.
1396 /// @param name The registry name.
1397 /// @param context The request context.
1398 /// @return A future that becomes available when the invocation completes.
1399 [[nodiscard]] std::future<void> shutdownRegistryAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1400
1401 /// Shuts down an IceGrid registry.
1402 /// @param name The registry name.
1403 /// @param response The response callback.
1404 /// @param exception The exception callback.
1405 /// @param sent The sent callback.
1406 /// @param context The request context.
1407 /// @return A function that can be called to cancel the invocation locally.
1408 // NOLINTNEXTLINE(modernize-use-nodiscard)
1409 std::function<void()> shutdownRegistryAsync(std::string_view name, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1410
1411 /// @private
1412 void _iceI_shutdownRegistry(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
1413
1414 /// Gets the names of all the IceGrid registries currently registered.
1415 /// @param context The request context.
1416 /// @return The registry names.
1417 ::Ice::StringSeq getAllRegistryNames(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1418
1419 /// Gets the names of all the IceGrid registries currently registered.
1420 /// @param context The request context.
1421 /// @return A future that becomes available when the invocation completes. This future holds:
1422 /// - The registry names.
1423 [[nodiscard]] std::future<::Ice::StringSeq> getAllRegistryNamesAsync(const Ice::Context& context = Ice::noExplicitContext) const;
1424
1425 /// Gets the names of all the IceGrid registries currently registered.
1426 /// @param response The response callback. It accepts:
1427 /// - The registry names.
1428 /// @param exception The exception callback.
1429 /// @param sent The sent callback.
1430 /// @param context The request context.
1431 /// @return A function that can be called to cancel the invocation locally.
1432 // NOLINTNEXTLINE(modernize-use-nodiscard)
1433 std::function<void()> getAllRegistryNamesAsync(std::function<void(::Ice::StringSeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1434
1435 /// @private
1436 void _iceI_getAllRegistryNames(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
1437
1438 /// Shuts down the IceGrid registry.
1439 /// @param context The request context.
1440 void shutdown(const Ice::Context& context = Ice::noExplicitContext) const;
1441
1442 /// Shuts down the IceGrid registry.
1443 /// @param context The request context.
1444 /// @return A future that becomes available when the invocation completes.
1445 [[nodiscard]] std::future<void> shutdownAsync(const Ice::Context& context = Ice::noExplicitContext) const;
1446
1447 /// Shuts down the IceGrid registry.
1448 /// @param response The response callback.
1449 /// @param exception The exception callback.
1450 /// @param sent The sent callback.
1451 /// @param context The request context.
1452 /// @return A function that can be called to cancel the invocation locally.
1453 // NOLINTNEXTLINE(modernize-use-nodiscard)
1454 std::function<void()> shutdownAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1455
1456 /// @private
1457 void _iceI_shutdown(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const Ice::Context&) const;
1458
1459 /// Gets the type ID of the associated Slice interface.
1460 /// @return The string `"::IceGrid::Admin"`.
1461 static const char* ice_staticId() noexcept;
1462
1463 /// @private
1464 static AdminPrx _fromReference(IceInternal::ReferencePtr ref) { return AdminPrx{std::move(ref)}; }
1465
1466 protected:
1467 /// @private
1468 AdminPrx() = default;
1469
1470 /// @private
1471 explicit AdminPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
1472 {
1473 }
1474 };
1475
1476 /// Iterates over an IceGrid log file.
1477 /// @headerfile IceGrid/IceGrid.h
1478 class ICEGRID_API FileIteratorPrx : public Ice::Proxy<FileIteratorPrx, Ice::ObjectPrx>
1479 {
1480 public:
1481 /// Constructs a proxy from a Communicator and a proxy string.
1482 /// @param communicator The communicator of the new proxy.
1483 /// @param proxyString The proxy string to parse.
1484 FileIteratorPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
1485
1486 /// Copy constructor. Constructs with a copy of the contents of @p other.
1487 /// @param other The proxy to copy from.
1488 FileIteratorPrx(const FileIteratorPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
1489
1490 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
1491 /// @param other The proxy to move from.
1492 FileIteratorPrx(FileIteratorPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
1493
1494 ~FileIteratorPrx() override;
1495
1496 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
1497 /// @param rhs The proxy to copy from.
1498 /// @return A reference to this proxy.
1500 {
1501 if (this != &rhs)
1502 {
1504 }
1505 return *this;
1506 }
1507
1508 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
1509 /// @param rhs The proxy to move from.
1511 {
1512 if (this != &rhs)
1513 {
1514 Ice::ObjectPrx::operator=(std::move(rhs));
1515 }
1516 return *this;
1517 }
1518
1519 /// Read lines from the log file.
1520 /// @param size Specifies the maximum number of bytes to be received. The server will ensure that the returned
1521 /// message doesn't exceed the given size.
1522 /// @param[out] lines The lines read from the file. If there was nothing to read from the file since the last call to
1523 /// read, an empty sequence is returned. The last line of the sequence is always incomplete (and therefore no
1524 /// newline character should be added when writing the last line to the to the output device).
1525 /// @param context The request context.
1526 /// @return `true` if EOF is encountered.
1527 /// @throws IceGrid::FileNotAvailableException Thrown when the implementation failed to read from the file.
1528 bool read(std::int32_t size, ::Ice::StringSeq& lines, const Ice::Context& context = Ice::noExplicitContext) const;
1529
1530 /// Read lines from the log file.
1531 /// @param size Specifies the maximum number of bytes to be received. The server will ensure that the returned
1532 /// message doesn't exceed the given size.
1533 /// @param context The request context.
1534 /// @return A future that becomes available when the invocation completes. This future holds:
1535 /// - `returnValue` `true` if EOF is encountered.
1536 /// - `lines` The lines read from the file. If there was nothing to read from the file since the last call to
1537 /// read, an empty sequence is returned. The last line of the sequence is always incomplete (and therefore no
1538 /// newline character should be added when writing the last line to the to the output device).
1539 [[nodiscard]] std::future<std::tuple<bool, ::Ice::StringSeq>> readAsync(std::int32_t size, const Ice::Context& context = Ice::noExplicitContext) const;
1540
1541 /// Read lines from the log file.
1542 /// @param size Specifies the maximum number of bytes to be received. The server will ensure that the returned
1543 /// message doesn't exceed the given size.
1544 /// @param response The response callback. It accepts:
1545 /// - `returnValue` `true` if EOF is encountered.
1546 /// - `lines` The lines read from the file. If there was nothing to read from the file since the last call to
1547 /// read, an empty sequence is returned. The last line of the sequence is always incomplete (and therefore no
1548 /// newline character should be added when writing the last line to the to the output device).
1549 /// @param exception The exception callback.
1550 /// @param sent The sent callback.
1551 /// @param context The request context.
1552 /// @return A function that can be called to cancel the invocation locally.
1553 // NOLINTNEXTLINE(modernize-use-nodiscard)
1554 std::function<void()> readAsync(std::int32_t size, std::function<void(bool, ::Ice::StringSeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1555
1556 /// @private
1557 void _iceI_read(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::tuple<bool, ::Ice::StringSeq>>>&, std::int32_t, const Ice::Context&) const;
1558
1559 /// Destroys the iterator.
1560 /// @param context The request context.
1561 void destroy(const Ice::Context& context = Ice::noExplicitContext) const;
1562
1563 /// Destroys the iterator.
1564 /// @param context The request context.
1565 /// @return A future that becomes available when the invocation completes.
1566 [[nodiscard]] std::future<void> destroyAsync(const Ice::Context& context = Ice::noExplicitContext) const;
1567
1568 /// Destroys the iterator.
1569 /// @param response The response callback.
1570 /// @param exception The exception callback.
1571 /// @param sent The sent callback.
1572 /// @param context The request context.
1573 /// @return A function that can be called to cancel the invocation locally.
1574 // NOLINTNEXTLINE(modernize-use-nodiscard)
1575 std::function<void()> destroyAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1576
1577 /// @private
1578 void _iceI_destroy(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const Ice::Context&) const;
1579
1580 /// Gets the type ID of the associated Slice interface.
1581 /// @return The string `"::IceGrid::FileIterator"`.
1582 static const char* ice_staticId() noexcept;
1583
1584 /// @private
1585 static FileIteratorPrx _fromReference(IceInternal::ReferencePtr ref) { return FileIteratorPrx{std::move(ref)}; }
1586
1587 protected:
1588 /// @private
1589 FileIteratorPrx() = default;
1590
1591 /// @private
1592 explicit FileIteratorPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
1593 {
1594 }
1595 };
1596
1597 /// Monitors changes to the state of the registries.
1598 /// @headerfile IceGrid/IceGrid.h
1599 class ICEGRID_API RegistryObserverPrx : public Ice::Proxy<RegistryObserverPrx, Ice::ObjectPrx>
1600 {
1601 public:
1602 /// Constructs a proxy from a Communicator and a proxy string.
1603 /// @param communicator The communicator of the new proxy.
1604 /// @param proxyString The proxy string to parse.
1605 RegistryObserverPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
1606
1607 /// Copy constructor. Constructs with a copy of the contents of @p other.
1608 /// @param other The proxy to copy from.
1609 RegistryObserverPrx(const RegistryObserverPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
1610
1611 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
1612 /// @param other The proxy to move from.
1613 RegistryObserverPrx(RegistryObserverPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
1614
1615 ~RegistryObserverPrx() override;
1616
1617 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
1618 /// @param rhs The proxy to copy from.
1619 /// @return A reference to this proxy.
1621 {
1622 if (this != &rhs)
1623 {
1625 }
1626 return *this;
1627 }
1628
1629 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
1630 /// @param rhs The proxy to move from.
1632 {
1633 if (this != &rhs)
1634 {
1635 Ice::ObjectPrx::operator=(std::move(rhs));
1636 }
1637 return *this;
1638 }
1639
1640 /// Provides the initial state of the registries to the observer.
1641 /// @param registries The current state of the registries.
1642 /// @param context The request context.
1643 void registryInit(const RegistryInfoSeq& registries, const Ice::Context& context = Ice::noExplicitContext) const;
1644
1645 /// Provides the initial state of the registries to the observer.
1646 /// @param registries The current state of the registries.
1647 /// @param context The request context.
1648 /// @return A future that becomes available when the invocation completes.
1649 [[nodiscard]] std::future<void> registryInitAsync(const RegistryInfoSeq& registries, const Ice::Context& context = Ice::noExplicitContext) const;
1650
1651 /// Provides the initial state of the registries to the observer.
1652 /// @param registries The current state of the registries.
1653 /// @param response The response callback.
1654 /// @param exception The exception callback.
1655 /// @param sent The sent callback.
1656 /// @param context The request context.
1657 /// @return A function that can be called to cancel the invocation locally.
1658 // NOLINTNEXTLINE(modernize-use-nodiscard)
1659 std::function<void()> registryInitAsync(const RegistryInfoSeq& registries, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1660
1661 /// @private
1662 void _iceI_registryInit(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const RegistryInfoSeq&, const Ice::Context&) const;
1663
1664 /// Notifies the observer that a registry replica came up.
1665 /// @param registryReplica The registry state.
1666 /// @param context The request context.
1667 void registryUp(const RegistryInfo& registryReplica, const Ice::Context& context = Ice::noExplicitContext) const;
1668
1669 /// Notifies the observer that a registry replica came up.
1670 /// @param registryReplica The registry state.
1671 /// @param context The request context.
1672 /// @return A future that becomes available when the invocation completes.
1673 [[nodiscard]] std::future<void> registryUpAsync(const RegistryInfo& registryReplica, const Ice::Context& context = Ice::noExplicitContext) const;
1674
1675 /// Notifies the observer that a registry replica came up.
1676 /// @param registryReplica The registry state.
1677 /// @param response The response callback.
1678 /// @param exception The exception callback.
1679 /// @param sent The sent callback.
1680 /// @param context The request context.
1681 /// @return A function that can be called to cancel the invocation locally.
1682 // NOLINTNEXTLINE(modernize-use-nodiscard)
1683 std::function<void()> registryUpAsync(const RegistryInfo& registryReplica, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1684
1685 /// @private
1686 void _iceI_registryUp(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const RegistryInfo&, const Ice::Context&) const;
1687
1688 /// Notifies the observer that a registry replica went down.
1689 /// @param name The registry name.
1690 /// @param context The request context.
1691 void registryDown(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1692
1693 /// Notifies the observer that a registry replica went down.
1694 /// @param name The registry name.
1695 /// @param context The request context.
1696 /// @return A future that becomes available when the invocation completes.
1697 [[nodiscard]] std::future<void> registryDownAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1698
1699 /// Notifies the observer that a registry replica went down.
1700 /// @param name The registry name.
1701 /// @param response The response callback.
1702 /// @param exception The exception callback.
1703 /// @param sent The sent callback.
1704 /// @param context The request context.
1705 /// @return A function that can be called to cancel the invocation locally.
1706 // NOLINTNEXTLINE(modernize-use-nodiscard)
1707 std::function<void()> registryDownAsync(std::string_view name, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1708
1709 /// @private
1710 void _iceI_registryDown(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
1711
1712 /// Gets the type ID of the associated Slice interface.
1713 /// @return The string `"::IceGrid::RegistryObserver"`.
1714 static const char* ice_staticId() noexcept;
1715
1716 /// @private
1717 static RegistryObserverPrx _fromReference(IceInternal::ReferencePtr ref) { return RegistryObserverPrx{std::move(ref)}; }
1718
1719 protected:
1720 /// @private
1721 RegistryObserverPrx() = default;
1722
1723 /// @private
1724 explicit RegistryObserverPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
1725 {
1726 }
1727 };
1728
1729 /// Monitors changes to the state of the nodes.
1730 /// @headerfile IceGrid/IceGrid.h
1731 class ICEGRID_API NodeObserverPrx : public Ice::Proxy<NodeObserverPrx, Ice::ObjectPrx>
1732 {
1733 public:
1734 /// Constructs a proxy from a Communicator and a proxy string.
1735 /// @param communicator The communicator of the new proxy.
1736 /// @param proxyString The proxy string to parse.
1737 NodeObserverPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
1738
1739 /// Copy constructor. Constructs with a copy of the contents of @p other.
1740 /// @param other The proxy to copy from.
1741 NodeObserverPrx(const NodeObserverPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
1742
1743 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
1744 /// @param other The proxy to move from.
1745 NodeObserverPrx(NodeObserverPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
1746
1747 ~NodeObserverPrx() override;
1748
1749 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
1750 /// @param rhs The proxy to copy from.
1751 /// @return A reference to this proxy.
1753 {
1754 if (this != &rhs)
1755 {
1757 }
1758 return *this;
1759 }
1760
1761 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
1762 /// @param rhs The proxy to move from.
1764 {
1765 if (this != &rhs)
1766 {
1767 Ice::ObjectPrx::operator=(std::move(rhs));
1768 }
1769 return *this;
1770 }
1771
1772 /// Provides the initial state of the nodes to the observer.
1773 /// @param nodes The current state of the nodes.
1774 /// @param context The request context.
1775 void nodeInit(const NodeDynamicInfoSeq& nodes, const Ice::Context& context = Ice::noExplicitContext) const;
1776
1777 /// Provides the initial state of the nodes to the observer.
1778 /// @param nodes The current state of the nodes.
1779 /// @param context The request context.
1780 /// @return A future that becomes available when the invocation completes.
1781 [[nodiscard]] std::future<void> nodeInitAsync(const NodeDynamicInfoSeq& nodes, const Ice::Context& context = Ice::noExplicitContext) const;
1782
1783 /// Provides the initial state of the nodes to the observer.
1784 /// @param nodes The current state of the nodes.
1785 /// @param response The response callback.
1786 /// @param exception The exception callback.
1787 /// @param sent The sent callback.
1788 /// @param context The request context.
1789 /// @return A function that can be called to cancel the invocation locally.
1790 // NOLINTNEXTLINE(modernize-use-nodiscard)
1791 std::function<void()> nodeInitAsync(const NodeDynamicInfoSeq& nodes, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1792
1793 /// @private
1794 void _iceI_nodeInit(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const NodeDynamicInfoSeq&, const Ice::Context&) const;
1795
1796 /// Notifies the observer that a node came up.
1797 /// @param node The node state.
1798 /// @param context The request context.
1799 void nodeUp(const NodeDynamicInfo& node, const Ice::Context& context = Ice::noExplicitContext) const;
1800
1801 /// Notifies the observer that a node came up.
1802 /// @param node The node state.
1803 /// @param context The request context.
1804 /// @return A future that becomes available when the invocation completes.
1805 [[nodiscard]] std::future<void> nodeUpAsync(const NodeDynamicInfo& node, const Ice::Context& context = Ice::noExplicitContext) const;
1806
1807 /// Notifies the observer that a node came up.
1808 /// @param node The node state.
1809 /// @param response The response callback.
1810 /// @param exception The exception callback.
1811 /// @param sent The sent callback.
1812 /// @param context The request context.
1813 /// @return A function that can be called to cancel the invocation locally.
1814 // NOLINTNEXTLINE(modernize-use-nodiscard)
1815 std::function<void()> nodeUpAsync(const NodeDynamicInfo& node, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1816
1817 /// @private
1818 void _iceI_nodeUp(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const NodeDynamicInfo&, const Ice::Context&) const;
1819
1820 /// Notifies the observer that a node went down.
1821 /// @param name The node name.
1822 /// @param context The request context.
1823 void nodeDown(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1824
1825 /// Notifies the observer that a node went down.
1826 /// @param name The node name.
1827 /// @param context The request context.
1828 /// @return A future that becomes available when the invocation completes.
1829 [[nodiscard]] std::future<void> nodeDownAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1830
1831 /// Notifies the observer that a node went down.
1832 /// @param name The node name.
1833 /// @param response The response callback.
1834 /// @param exception The exception callback.
1835 /// @param sent The sent callback.
1836 /// @param context The request context.
1837 /// @return A function that can be called to cancel the invocation locally.
1838 // NOLINTNEXTLINE(modernize-use-nodiscard)
1839 std::function<void()> nodeDownAsync(std::string_view name, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1840
1841 /// @private
1842 void _iceI_nodeDown(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
1843
1844 /// Notifies the observer that the state of a server changed.
1845 /// @param node The node hosting the server.
1846 /// @param updatedInfo The new server state.
1847 /// @param context The request context.
1848 void updateServer(std::string_view node, const ServerDynamicInfo& updatedInfo, const Ice::Context& context = Ice::noExplicitContext) const;
1849
1850 /// Notifies the observer that the state of a server changed.
1851 /// @param node The node hosting the server.
1852 /// @param updatedInfo The new server state.
1853 /// @param context The request context.
1854 /// @return A future that becomes available when the invocation completes.
1855 [[nodiscard]] std::future<void> updateServerAsync(std::string_view node, const ServerDynamicInfo& updatedInfo, const Ice::Context& context = Ice::noExplicitContext) const;
1856
1857 /// Notifies the observer that the state of a server changed.
1858 /// @param node The node hosting the server.
1859 /// @param updatedInfo The new server state.
1860 /// @param response The response callback.
1861 /// @param exception The exception callback.
1862 /// @param sent The sent callback.
1863 /// @param context The request context.
1864 /// @return A function that can be called to cancel the invocation locally.
1865 // NOLINTNEXTLINE(modernize-use-nodiscard)
1866 std::function<void()> updateServerAsync(std::string_view node, const ServerDynamicInfo& updatedInfo, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1867
1868 /// @private
1869 void _iceI_updateServer(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const ServerDynamicInfo&, const Ice::Context&) const;
1870
1871 /// Notifies the observer that the state of an object adapter changed.
1872 /// @param node The node hosting the adapter.
1873 /// @param updatedInfo The new adapter state.
1874 /// @param context The request context.
1875 void updateAdapter(std::string_view node, const AdapterDynamicInfo& updatedInfo, const Ice::Context& context = Ice::noExplicitContext) const;
1876
1877 /// Notifies the observer that the state of an object adapter changed.
1878 /// @param node The node hosting the adapter.
1879 /// @param updatedInfo The new adapter state.
1880 /// @param context The request context.
1881 /// @return A future that becomes available when the invocation completes.
1882 [[nodiscard]] std::future<void> updateAdapterAsync(std::string_view node, const AdapterDynamicInfo& updatedInfo, const Ice::Context& context = Ice::noExplicitContext) const;
1883
1884 /// Notifies the observer that the state of an object adapter changed.
1885 /// @param node The node hosting the adapter.
1886 /// @param updatedInfo The new adapter state.
1887 /// @param response The response callback.
1888 /// @param exception The exception callback.
1889 /// @param sent The sent callback.
1890 /// @param context The request context.
1891 /// @return A function that can be called to cancel the invocation locally.
1892 // NOLINTNEXTLINE(modernize-use-nodiscard)
1893 std::function<void()> updateAdapterAsync(std::string_view node, const AdapterDynamicInfo& updatedInfo, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1894
1895 /// @private
1896 void _iceI_updateAdapter(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const AdapterDynamicInfo&, const Ice::Context&) const;
1897
1898 /// Gets the type ID of the associated Slice interface.
1899 /// @return The string `"::IceGrid::NodeObserver"`.
1900 static const char* ice_staticId() noexcept;
1901
1902 /// @private
1903 static NodeObserverPrx _fromReference(IceInternal::ReferencePtr ref) { return NodeObserverPrx{std::move(ref)}; }
1904
1905 protected:
1906 /// @private
1907 NodeObserverPrx() = default;
1908
1909 /// @private
1910 explicit NodeObserverPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
1911 {
1912 }
1913 };
1914
1915 /// Monitors applications.
1916 /// @headerfile IceGrid/IceGrid.h
1917 class ICEGRID_API ApplicationObserverPrx : public Ice::Proxy<ApplicationObserverPrx, Ice::ObjectPrx>
1918 {
1919 public:
1920 /// Constructs a proxy from a Communicator and a proxy string.
1921 /// @param communicator The communicator of the new proxy.
1922 /// @param proxyString The proxy string to parse.
1923 ApplicationObserverPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
1924
1925 /// Copy constructor. Constructs with a copy of the contents of @p other.
1926 /// @param other The proxy to copy from.
1927 ApplicationObserverPrx(const ApplicationObserverPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
1928
1929 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
1930 /// @param other The proxy to move from.
1931 ApplicationObserverPrx(ApplicationObserverPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
1932
1933 ~ApplicationObserverPrx() override;
1934
1935 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
1936 /// @param rhs The proxy to copy from.
1937 /// @return A reference to this proxy.
1939 {
1940 if (this != &rhs)
1941 {
1943 }
1944 return *this;
1945 }
1946
1947 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
1948 /// @param rhs The proxy to move from.
1950 {
1951 if (this != &rhs)
1952 {
1953 Ice::ObjectPrx::operator=(std::move(rhs));
1954 }
1955 return *this;
1956 }
1957
1958 /// Provides the initial application infos to the observer.
1959 /// @param serial The current serial number of the registry database. This serial number allows observers to
1960 /// make sure that their internal state is synchronized with the registry.
1961 /// @param applications The applications currently registered with the registry.
1962 /// @param context The request context.
1963 void applicationInit(std::int32_t serial, const ApplicationInfoSeq& applications, const Ice::Context& context = Ice::noExplicitContext) const;
1964
1965 /// Provides the initial application infos to the observer.
1966 /// @param serial The current serial number of the registry database. This serial number allows observers to
1967 /// make sure that their internal state is synchronized with the registry.
1968 /// @param applications The applications currently registered with the registry.
1969 /// @param context The request context.
1970 /// @return A future that becomes available when the invocation completes.
1971 [[nodiscard]] std::future<void> applicationInitAsync(std::int32_t serial, const ApplicationInfoSeq& applications, const Ice::Context& context = Ice::noExplicitContext) const;
1972
1973 /// Provides the initial application infos to the observer.
1974 /// @param serial The current serial number of the registry database. This serial number allows observers to
1975 /// make sure that their internal state is synchronized with the registry.
1976 /// @param applications The applications currently registered with the registry.
1977 /// @param response The response callback.
1978 /// @param exception The exception callback.
1979 /// @param sent The sent callback.
1980 /// @param context The request context.
1981 /// @return A function that can be called to cancel the invocation locally.
1982 // NOLINTNEXTLINE(modernize-use-nodiscard)
1983 std::function<void()> applicationInitAsync(std::int32_t serial, const ApplicationInfoSeq& applications, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
1984
1985 /// @private
1986 void _iceI_applicationInit(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::int32_t, const ApplicationInfoSeq&, const Ice::Context&) const;
1987
1988 /// Notifies the observer that an application was added.
1989 /// @param serial The new serial number of the registry database.
1990 /// @param desc The descriptor of the new application.
1991 /// @param context The request context.
1992 void applicationAdded(std::int32_t serial, const ApplicationInfo& desc, const Ice::Context& context = Ice::noExplicitContext) const;
1993
1994 /// Notifies the observer that an application was added.
1995 /// @param serial The new serial number of the registry database.
1996 /// @param desc The descriptor of the new application.
1997 /// @param context The request context.
1998 /// @return A future that becomes available when the invocation completes.
1999 [[nodiscard]] std::future<void> applicationAddedAsync(std::int32_t serial, const ApplicationInfo& desc, const Ice::Context& context = Ice::noExplicitContext) const;
2000
2001 /// Notifies the observer that an application was added.
2002 /// @param serial The new serial number of the registry database.
2003 /// @param desc The descriptor of the new application.
2004 /// @param response The response callback.
2005 /// @param exception The exception callback.
2006 /// @param sent The sent callback.
2007 /// @param context The request context.
2008 /// @return A function that can be called to cancel the invocation locally.
2009 // NOLINTNEXTLINE(modernize-use-nodiscard)
2010 std::function<void()> applicationAddedAsync(std::int32_t serial, const ApplicationInfo& desc, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2011
2012 /// @private
2013 void _iceI_applicationAdded(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::int32_t, const ApplicationInfo&, const Ice::Context&) const;
2014
2015 /// Notifies the observer that an application was removed.
2016 /// @param serial The new serial number of the registry database.
2017 /// @param name The name of the application that was removed.
2018 /// @param context The request context.
2019 void applicationRemoved(std::int32_t serial, std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
2020
2021 /// Notifies the observer that an application was removed.
2022 /// @param serial The new serial number of the registry database.
2023 /// @param name The name of the application that was removed.
2024 /// @param context The request context.
2025 /// @return A future that becomes available when the invocation completes.
2026 [[nodiscard]] std::future<void> applicationRemovedAsync(std::int32_t serial, std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
2027
2028 /// Notifies the observer that an application was removed.
2029 /// @param serial The new serial number of the registry database.
2030 /// @param name The name of the application that was removed.
2031 /// @param response The response callback.
2032 /// @param exception The exception callback.
2033 /// @param sent The sent callback.
2034 /// @param context The request context.
2035 /// @return A function that can be called to cancel the invocation locally.
2036 // NOLINTNEXTLINE(modernize-use-nodiscard)
2037 std::function<void()> applicationRemovedAsync(std::int32_t serial, std::string_view name, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2038
2039 /// @private
2040 void _iceI_applicationRemoved(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::int32_t, std::string_view, const Ice::Context&) const;
2041
2042 /// Notifies the observer that an application was updated.
2043 /// @param serial The new serial number of the registry database.
2044 /// @param desc The descriptor of the update.
2045 /// @param context The request context.
2046 void applicationUpdated(std::int32_t serial, const ApplicationUpdateInfo& desc, const Ice::Context& context = Ice::noExplicitContext) const;
2047
2048 /// Notifies the observer that an application was updated.
2049 /// @param serial The new serial number of the registry database.
2050 /// @param desc The descriptor of the update.
2051 /// @param context The request context.
2052 /// @return A future that becomes available when the invocation completes.
2053 [[nodiscard]] std::future<void> applicationUpdatedAsync(std::int32_t serial, const ApplicationUpdateInfo& desc, const Ice::Context& context = Ice::noExplicitContext) const;
2054
2055 /// Notifies the observer that an application was updated.
2056 /// @param serial The new serial number of the registry database.
2057 /// @param desc The descriptor of the update.
2058 /// @param response The response callback.
2059 /// @param exception The exception callback.
2060 /// @param sent The sent callback.
2061 /// @param context The request context.
2062 /// @return A function that can be called to cancel the invocation locally.
2063 // NOLINTNEXTLINE(modernize-use-nodiscard)
2064 std::function<void()> applicationUpdatedAsync(std::int32_t serial, const ApplicationUpdateInfo& desc, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2065
2066 /// @private
2067 void _iceI_applicationUpdated(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::int32_t, const ApplicationUpdateInfo&, const Ice::Context&) const;
2068
2069 /// Gets the type ID of the associated Slice interface.
2070 /// @return The string `"::IceGrid::ApplicationObserver"`.
2071 static const char* ice_staticId() noexcept;
2072
2073 /// @private
2074 static ApplicationObserverPrx _fromReference(IceInternal::ReferencePtr ref) { return ApplicationObserverPrx{std::move(ref)}; }
2075
2076 protected:
2077 /// @private
2078 ApplicationObserverPrx() = default;
2079
2080 /// @private
2081 explicit ApplicationObserverPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
2082 {
2083 }
2084 };
2085
2086 /// Monitors dynamically-registered object adapters.
2087 /// @headerfile IceGrid/IceGrid.h
2088 class ICEGRID_API AdapterObserverPrx : public Ice::Proxy<AdapterObserverPrx, Ice::ObjectPrx>
2089 {
2090 public:
2091 /// Constructs a proxy from a Communicator and a proxy string.
2092 /// @param communicator The communicator of the new proxy.
2093 /// @param proxyString The proxy string to parse.
2094 AdapterObserverPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
2095
2096 /// Copy constructor. Constructs with a copy of the contents of @p other.
2097 /// @param other The proxy to copy from.
2098 AdapterObserverPrx(const AdapterObserverPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
2099
2100 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
2101 /// @param other The proxy to move from.
2102 AdapterObserverPrx(AdapterObserverPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
2103
2104 ~AdapterObserverPrx() override;
2105
2106 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
2107 /// @param rhs The proxy to copy from.
2108 /// @return A reference to this proxy.
2110 {
2111 if (this != &rhs)
2112 {
2114 }
2115 return *this;
2116 }
2117
2118 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
2119 /// @param rhs The proxy to move from.
2121 {
2122 if (this != &rhs)
2123 {
2124 Ice::ObjectPrx::operator=(std::move(rhs));
2125 }
2126 return *this;
2127 }
2128
2129 /// Provides the initial list of dynamically registered adapters to the observer.
2130 /// @param adpts The adapters that were dynamically registered with the registry.
2131 /// @param context The request context.
2132 void adapterInit(const AdapterInfoSeq& adpts, const Ice::Context& context = Ice::noExplicitContext) const;
2133
2134 /// Provides the initial list of dynamically registered adapters to the observer.
2135 /// @param adpts The adapters that were dynamically registered with the registry.
2136 /// @param context The request context.
2137 /// @return A future that becomes available when the invocation completes.
2138 [[nodiscard]] std::future<void> adapterInitAsync(const AdapterInfoSeq& adpts, const Ice::Context& context = Ice::noExplicitContext) const;
2139
2140 /// Provides the initial list of dynamically registered adapters to the observer.
2141 /// @param adpts The adapters that were dynamically registered with the registry.
2142 /// @param response The response callback.
2143 /// @param exception The exception callback.
2144 /// @param sent The sent callback.
2145 /// @param context The request context.
2146 /// @return A function that can be called to cancel the invocation locally.
2147 // NOLINTNEXTLINE(modernize-use-nodiscard)
2148 std::function<void()> adapterInitAsync(const AdapterInfoSeq& adpts, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2149
2150 /// @private
2151 void _iceI_adapterInit(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const AdapterInfoSeq&, const Ice::Context&) const;
2152
2153 /// Notifies the observer that a dynamically-registered adapter was added.
2154 /// @param info The details of the new adapter.
2155 /// @param context The request context.
2156 void adapterAdded(const AdapterInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2157
2158 /// Notifies the observer that a dynamically-registered adapter was added.
2159 /// @param info The details of the new adapter.
2160 /// @param context The request context.
2161 /// @return A future that becomes available when the invocation completes.
2162 [[nodiscard]] std::future<void> adapterAddedAsync(const AdapterInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2163
2164 /// Notifies the observer that a dynamically-registered adapter was added.
2165 /// @param info The details of the new adapter.
2166 /// @param response The response callback.
2167 /// @param exception The exception callback.
2168 /// @param sent The sent callback.
2169 /// @param context The request context.
2170 /// @return A function that can be called to cancel the invocation locally.
2171 // NOLINTNEXTLINE(modernize-use-nodiscard)
2172 std::function<void()> adapterAddedAsync(const AdapterInfo& info, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2173
2174 /// @private
2175 void _iceI_adapterAdded(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const AdapterInfo&, const Ice::Context&) const;
2176
2177 /// @param info The details of the updated adapter.
2178 /// @param context The request context.
2179 void adapterUpdated(const AdapterInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2180
2181 /// @param info The details of the updated adapter.
2182 /// @param context The request context.
2183 /// @return A future that becomes available when the invocation completes.
2184 [[nodiscard]] std::future<void> adapterUpdatedAsync(const AdapterInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2185
2186 /// @param info The details of the updated adapter.
2187 /// @param response The response callback.
2188 /// @param exception The exception callback.
2189 /// @param sent The sent callback.
2190 /// @param context The request context.
2191 /// @return A function that can be called to cancel the invocation locally.
2192 // NOLINTNEXTLINE(modernize-use-nodiscard)
2193 std::function<void()> adapterUpdatedAsync(const AdapterInfo& info, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2194
2195 /// @private
2196 void _iceI_adapterUpdated(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const AdapterInfo&, const Ice::Context&) const;
2197
2198 /// Notifies the observer that a dynamically-registered adapter was removed.
2199 /// @param id The ID of the removed adapter.
2200 /// @param context The request context.
2201 void adapterRemoved(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
2202
2203 /// Notifies the observer that a dynamically-registered adapter was removed.
2204 /// @param id The ID of the removed adapter.
2205 /// @param context The request context.
2206 /// @return A future that becomes available when the invocation completes.
2207 [[nodiscard]] std::future<void> adapterRemovedAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
2208
2209 /// Notifies the observer that a dynamically-registered adapter was removed.
2210 /// @param id The ID of the removed adapter.
2211 /// @param response The response callback.
2212 /// @param exception The exception callback.
2213 /// @param sent The sent callback.
2214 /// @param context The request context.
2215 /// @return A function that can be called to cancel the invocation locally.
2216 // NOLINTNEXTLINE(modernize-use-nodiscard)
2217 std::function<void()> adapterRemovedAsync(std::string_view id, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2218
2219 /// @private
2220 void _iceI_adapterRemoved(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
2221
2222 /// Gets the type ID of the associated Slice interface.
2223 /// @return The string `"::IceGrid::AdapterObserver"`.
2224 static const char* ice_staticId() noexcept;
2225
2226 /// @private
2227 static AdapterObserverPrx _fromReference(IceInternal::ReferencePtr ref) { return AdapterObserverPrx{std::move(ref)}; }
2228
2229 protected:
2230 /// @private
2231 AdapterObserverPrx() = default;
2232
2233 /// @private
2234 explicit AdapterObserverPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
2235 {
2236 }
2237 };
2238
2239 /// Monitors well-known objects that are added, updated or removed using AdminPrx.
2240 /// @headerfile IceGrid/IceGrid.h
2241 class ICEGRID_API ObjectObserverPrx : public Ice::Proxy<ObjectObserverPrx, Ice::ObjectPrx>
2242 {
2243 public:
2244 /// Constructs a proxy from a Communicator and a proxy string.
2245 /// @param communicator The communicator of the new proxy.
2246 /// @param proxyString The proxy string to parse.
2247 ObjectObserverPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
2248
2249 /// Copy constructor. Constructs with a copy of the contents of @p other.
2250 /// @param other The proxy to copy from.
2251 ObjectObserverPrx(const ObjectObserverPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
2252
2253 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
2254 /// @param other The proxy to move from.
2255 ObjectObserverPrx(ObjectObserverPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
2256
2257 ~ObjectObserverPrx() override;
2258
2259 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
2260 /// @param rhs The proxy to copy from.
2261 /// @return A reference to this proxy.
2263 {
2264 if (this != &rhs)
2265 {
2267 }
2268 return *this;
2269 }
2270
2271 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
2272 /// @param rhs The proxy to move from.
2274 {
2275 if (this != &rhs)
2276 {
2277 Ice::ObjectPrx::operator=(std::move(rhs));
2278 }
2279 return *this;
2280 }
2281
2282 /// Provides the initial list of well-known objects to the observer.
2283 /// @param objects The well-known objects registered using ::IceGrid::AdminPrx.
2284 /// @param context The request context.
2285 void objectInit(const ObjectInfoSeq& objects, const Ice::Context& context = Ice::noExplicitContext) const;
2286
2287 /// Provides the initial list of well-known objects to the observer.
2288 /// @param objects The well-known objects registered using ::IceGrid::AdminPrx.
2289 /// @param context The request context.
2290 /// @return A future that becomes available when the invocation completes.
2291 [[nodiscard]] std::future<void> objectInitAsync(const ObjectInfoSeq& objects, const Ice::Context& context = Ice::noExplicitContext) const;
2292
2293 /// Provides the initial list of well-known objects to the observer.
2294 /// @param objects The well-known objects registered using ::IceGrid::AdminPrx.
2295 /// @param response The response callback.
2296 /// @param exception The exception callback.
2297 /// @param sent The sent callback.
2298 /// @param context The request context.
2299 /// @return A function that can be called to cancel the invocation locally.
2300 // NOLINTNEXTLINE(modernize-use-nodiscard)
2301 std::function<void()> objectInitAsync(const ObjectInfoSeq& objects, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2302
2303 /// @private
2304 void _iceI_objectInit(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ObjectInfoSeq&, const Ice::Context&) const;
2305
2306 /// Notifies the observer that a well-known object was added.
2307 /// @param info The details of the new object.
2308 /// @param context The request context.
2309 void objectAdded(const ObjectInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2310
2311 /// Notifies the observer that a well-known object was added.
2312 /// @param info The details of the new object.
2313 /// @param context The request context.
2314 /// @return A future that becomes available when the invocation completes.
2315 [[nodiscard]] std::future<void> objectAddedAsync(const ObjectInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2316
2317 /// Notifies the observer that a well-known object was added.
2318 /// @param info The details of the new object.
2319 /// @param response The response callback.
2320 /// @param exception The exception callback.
2321 /// @param sent The sent callback.
2322 /// @param context The request context.
2323 /// @return A function that can be called to cancel the invocation locally.
2324 // NOLINTNEXTLINE(modernize-use-nodiscard)
2325 std::function<void()> objectAddedAsync(const ObjectInfo& info, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2326
2327 /// @private
2328 void _iceI_objectAdded(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ObjectInfo&, const Ice::Context&) const;
2329
2330 /// Notifies the observer that a well-known object was updated.
2331 /// @param info The details of the updated object.
2332 /// @param context The request context.
2333 void objectUpdated(const ObjectInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2334
2335 /// Notifies the observer that a well-known object was updated.
2336 /// @param info The details of the updated object.
2337 /// @param context The request context.
2338 /// @return A future that becomes available when the invocation completes.
2339 [[nodiscard]] std::future<void> objectUpdatedAsync(const ObjectInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2340
2341 /// Notifies the observer that a well-known object was updated.
2342 /// @param info The details of the updated object.
2343 /// @param response The response callback.
2344 /// @param exception The exception callback.
2345 /// @param sent The sent callback.
2346 /// @param context The request context.
2347 /// @return A function that can be called to cancel the invocation locally.
2348 // NOLINTNEXTLINE(modernize-use-nodiscard)
2349 std::function<void()> objectUpdatedAsync(const ObjectInfo& info, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2350
2351 /// @private
2352 void _iceI_objectUpdated(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ObjectInfo&, const Ice::Context&) const;
2353
2354 /// Notifies the observer that a well-known object was removed.
2355 /// @param id The identity of the removed object.
2356 /// @param context The request context.
2357 void objectRemoved(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
2358
2359 /// Notifies the observer that a well-known object was removed.
2360 /// @param id The identity of the removed object.
2361 /// @param context The request context.
2362 /// @return A future that becomes available when the invocation completes.
2363 [[nodiscard]] std::future<void> objectRemovedAsync(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
2364
2365 /// Notifies the observer that a well-known object was removed.
2366 /// @param id The identity of the removed object.
2367 /// @param response The response callback.
2368 /// @param exception The exception callback.
2369 /// @param sent The sent callback.
2370 /// @param context The request context.
2371 /// @return A function that can be called to cancel the invocation locally.
2372 // NOLINTNEXTLINE(modernize-use-nodiscard)
2373 std::function<void()> objectRemovedAsync(const ::Ice::Identity& id, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2374
2375 /// @private
2376 void _iceI_objectRemoved(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ::Ice::Identity&, const Ice::Context&) const;
2377
2378 /// Gets the type ID of the associated Slice interface.
2379 /// @return The string `"::IceGrid::ObjectObserver"`.
2380 static const char* ice_staticId() noexcept;
2381
2382 /// @private
2383 static ObjectObserverPrx _fromReference(IceInternal::ReferencePtr ref) { return ObjectObserverPrx{std::move(ref)}; }
2384
2385 protected:
2386 /// @private
2387 ObjectObserverPrx() = default;
2388
2389 /// @private
2390 explicit ObjectObserverPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
2391 {
2392 }
2393 };
2394
2395 /// Represents an administrative session between an admin tool and an IceGrid registry.
2396 /// @see RegistryPrx
2397 /// @headerfile IceGrid/IceGrid.h
2398 class ICEGRID_API AdminSessionPrx : public Ice::Proxy<AdminSessionPrx, ::Glacier2::SessionPrx>
2399 {
2400 public:
2401#if defined(__GNUC__) && !defined(__clang__)
2402# pragma GCC diagnostic push
2403# pragma GCC diagnostic ignored "-Wextra" // initialize all virtual bases in correct order
2404#endif
2405
2406 /// Constructs a proxy from a Communicator and a proxy string.
2407 /// @param communicator The communicator of the new proxy.
2408 /// @param proxyString The proxy string to parse.
2409 AdminSessionPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
2410
2411 /// Copy constructor. Constructs with a copy of the contents of @p other.
2412 /// @param other The proxy to copy from.
2413 AdminSessionPrx(const AdminSessionPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
2414
2415 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
2416 /// @param other The proxy to move from.
2417 AdminSessionPrx(AdminSessionPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
2418
2419 ~AdminSessionPrx() override;
2420
2421 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
2422 /// @param rhs The proxy to copy from.
2423 /// @return A reference to this proxy.
2425 {
2426 if (this != &rhs)
2427 {
2429 }
2430 return *this;
2431 }
2432
2433 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
2434 /// @param rhs The proxy to move from.
2436 {
2437 if (this != &rhs)
2438 {
2439 Ice::ObjectPrx::operator=(std::move(rhs));
2440 }
2441 return *this;
2442 }
2443
2444 /// Keeps the session alive.
2445 /// @param context The request context.
2446 [[deprecated("As of Ice 3.8, there is no need to call this operation, and its implementation does nothing.")]] void keepAlive(const Ice::Context& context = Ice::noExplicitContext) const;
2447
2448 /// Keeps the session alive.
2449 /// @param context The request context.
2450 /// @return A future that becomes available when the invocation completes.
2451 [[deprecated("As of Ice 3.8, there is no need to call this operation, and its implementation does nothing.")]] [[nodiscard]] std::future<void> keepAliveAsync(const Ice::Context& context = Ice::noExplicitContext) const;
2452
2453 /// Keeps the session alive.
2454 /// @param response The response callback.
2455 /// @param exception The exception callback.
2456 /// @param sent The sent callback.
2457 /// @param context The request context.
2458 /// @return A function that can be called to cancel the invocation locally.
2459 // NOLINTNEXTLINE(modernize-use-nodiscard)
2460 [[deprecated("As of Ice 3.8, there is no need to call this operation, and its implementation does nothing.")]] std::function<void()> keepAliveAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2461
2462 /// @private
2463 void _iceI_keepAlive(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const Ice::Context&) const;
2464
2465 /// Gets a proxy to the IceGrid admin object. The admin object returned by this operation can only be accessed
2466 /// by the session.
2467 /// @param context The request context.
2468 /// @return A proxy to the IceGrid admin object. This proxy is never null.
2469 std::optional<AdminPrx> getAdmin(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2470
2471 /// Gets a proxy to the IceGrid admin object. The admin object returned by this operation can only be accessed
2472 /// by the session.
2473 /// @param context The request context.
2474 /// @return A future that becomes available when the invocation completes. This future holds:
2475 /// - A proxy to the IceGrid admin object. This proxy is never null.
2476 [[nodiscard]] std::future<std::optional<AdminPrx>> getAdminAsync(const Ice::Context& context = Ice::noExplicitContext) const;
2477
2478 /// Gets a proxy to the IceGrid admin object. The admin object returned by this operation can only be accessed
2479 /// by the session.
2480 /// @param response The response callback. It accepts:
2481 /// - A proxy to the IceGrid admin object. This proxy is never null.
2482 /// @param exception The exception callback.
2483 /// @param sent The sent callback.
2484 /// @param context The request context.
2485 /// @return A function that can be called to cancel the invocation locally.
2486 // NOLINTNEXTLINE(modernize-use-nodiscard)
2487 std::function<void()> getAdminAsync(std::function<void(std::optional<::IceGrid::AdminPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2488
2489 /// @private
2490 void _iceI_getAdmin(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<AdminPrx>>>&, const Ice::Context&) const;
2491
2492 /// Gets a "template" proxy for admin callback objects. An Admin client uses this proxy to set the category of
2493 /// its callback objects, and the published endpoints of the object adapter hosting the admin callback objects.
2494 /// @param context The request context.
2495 /// @return A template proxy. The returned proxy is null when the Admin session was established using Glacier2.
2496 std::optional<Ice::ObjectPrx> getAdminCallbackTemplate(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2497
2498 /// Gets a "template" proxy for admin callback objects. An Admin client uses this proxy to set the category of
2499 /// its callback objects, and the published endpoints of the object adapter hosting the admin callback objects.
2500 /// @param context The request context.
2501 /// @return A future that becomes available when the invocation completes. This future holds:
2502 /// - A template proxy. The returned proxy is null when the Admin session was established using Glacier2.
2503 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> getAdminCallbackTemplateAsync(const Ice::Context& context = Ice::noExplicitContext) const;
2504
2505 /// Gets a "template" proxy for admin callback objects. An Admin client uses this proxy to set the category of
2506 /// its callback objects, and the published endpoints of the object adapter hosting the admin callback objects.
2507 /// @param response The response callback. It accepts:
2508 /// - A template proxy. The returned proxy is null when the Admin session was established using Glacier2.
2509 /// @param exception The exception callback.
2510 /// @param sent The sent callback.
2511 /// @param context The request context.
2512 /// @return A function that can be called to cancel the invocation locally.
2513 // NOLINTNEXTLINE(modernize-use-nodiscard)
2514 std::function<void()> getAdminCallbackTemplateAsync(std::function<void(std::optional<Ice::ObjectPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2515
2516 /// @private
2517 void _iceI_getAdminCallbackTemplate(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, const Ice::Context&) const;
2518
2519 /// Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
2520 /// @param registryObs The registry observer.
2521 /// @param nodeObs The node observer.
2522 /// @param appObs The application observer.
2523 /// @param adptObs The adapter observer.
2524 /// @param objObs The object observer.
2525 /// @param context The request context.
2526 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
2527 void setObservers(const std::optional<RegistryObserverPrx>& registryObs, const std::optional<NodeObserverPrx>& nodeObs, const std::optional<ApplicationObserverPrx>& appObs, const std::optional<AdapterObserverPrx>& adptObs, const std::optional<ObjectObserverPrx>& objObs, const Ice::Context& context = Ice::noExplicitContext) const;
2528
2529 /// Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
2530 /// @param registryObs The registry observer.
2531 /// @param nodeObs The node observer.
2532 /// @param appObs The application observer.
2533 /// @param adptObs The adapter observer.
2534 /// @param objObs The object observer.
2535 /// @param context The request context.
2536 /// @return A future that becomes available when the invocation completes.
2537 [[nodiscard]] std::future<void> setObserversAsync(const std::optional<RegistryObserverPrx>& registryObs, const std::optional<NodeObserverPrx>& nodeObs, const std::optional<ApplicationObserverPrx>& appObs, const std::optional<AdapterObserverPrx>& adptObs, const std::optional<ObjectObserverPrx>& objObs, const Ice::Context& context = Ice::noExplicitContext) const;
2538
2539 /// Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
2540 /// @param registryObs The registry observer.
2541 /// @param nodeObs The node observer.
2542 /// @param appObs The application observer.
2543 /// @param adptObs The adapter observer.
2544 /// @param objObs The object observer.
2545 /// @param response The response callback.
2546 /// @param exception The exception callback.
2547 /// @param sent The sent callback.
2548 /// @param context The request context.
2549 /// @return A function that can be called to cancel the invocation locally.
2550 // NOLINTNEXTLINE(modernize-use-nodiscard)
2551 std::function<void()> setObserversAsync(const std::optional<RegistryObserverPrx>& registryObs, const std::optional<NodeObserverPrx>& nodeObs, const std::optional<ApplicationObserverPrx>& appObs, const std::optional<AdapterObserverPrx>& adptObs, const std::optional<ObjectObserverPrx>& objObs, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2552
2553 /// @private
2554 void _iceI_setObservers(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const std::optional<RegistryObserverPrx>&, const std::optional<NodeObserverPrx>&, const std::optional<ApplicationObserverPrx>&, const std::optional<AdapterObserverPrx>&, const std::optional<ObjectObserverPrx>&, const Ice::Context&) const;
2555
2556 /// Sets the observer identities that receive notifications when the state of the registry or nodes changes.
2557 /// This operation should be used by clients that are using a bidirectional connection to communicate with the
2558 /// session.
2559 /// @param registryObs The registry observer identity.
2560 /// @param nodeObs The node observer identity.
2561 /// @param appObs The application observer.
2562 /// @param adptObs The adapter observer.
2563 /// @param objObs The object observer.
2564 /// @param context The request context.
2565 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
2566 void setObserversByIdentity(const ::Ice::Identity& registryObs, const ::Ice::Identity& nodeObs, const ::Ice::Identity& appObs, const ::Ice::Identity& adptObs, const ::Ice::Identity& objObs, const Ice::Context& context = Ice::noExplicitContext) const;
2567
2568 /// Sets the observer identities that receive notifications when the state of the registry or nodes changes.
2569 /// This operation should be used by clients that are using a bidirectional connection to communicate with the
2570 /// session.
2571 /// @param registryObs The registry observer identity.
2572 /// @param nodeObs The node observer identity.
2573 /// @param appObs The application observer.
2574 /// @param adptObs The adapter observer.
2575 /// @param objObs The object observer.
2576 /// @param context The request context.
2577 /// @return A future that becomes available when the invocation completes.
2578 [[nodiscard]] std::future<void> setObserversByIdentityAsync(const ::Ice::Identity& registryObs, const ::Ice::Identity& nodeObs, const ::Ice::Identity& appObs, const ::Ice::Identity& adptObs, const ::Ice::Identity& objObs, const Ice::Context& context = Ice::noExplicitContext) const;
2579
2580 /// Sets the observer identities that receive notifications when the state of the registry or nodes changes.
2581 /// This operation should be used by clients that are using a bidirectional connection to communicate with the
2582 /// session.
2583 /// @param registryObs The registry observer identity.
2584 /// @param nodeObs The node observer identity.
2585 /// @param appObs The application observer.
2586 /// @param adptObs The adapter observer.
2587 /// @param objObs The object observer.
2588 /// @param response The response callback.
2589 /// @param exception The exception callback.
2590 /// @param sent The sent callback.
2591 /// @param context The request context.
2592 /// @return A function that can be called to cancel the invocation locally.
2593 // NOLINTNEXTLINE(modernize-use-nodiscard)
2594 std::function<void()> setObserversByIdentityAsync(const ::Ice::Identity& registryObs, const ::Ice::Identity& nodeObs, const ::Ice::Identity& appObs, const ::Ice::Identity& adptObs, const ::Ice::Identity& objObs, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2595
2596 /// @private
2597 void _iceI_setObserversByIdentity(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ::Ice::Identity&, const ::Ice::Identity&, const ::Ice::Identity&, const ::Ice::Identity&, const ::Ice::Identity&, const Ice::Context&) const;
2598
2599 /// Acquires an exclusive lock to start updating the registry applications.
2600 /// @param context The request context.
2601 /// @return The current serial.
2602 /// @throws IceGrid::AccessDeniedException Thrown when the exclusive lock can't be acquired. This might happen if the
2603 /// lock is currently acquired by another session.
2604 std::int32_t startUpdate(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2605
2606 /// Acquires an exclusive lock to start updating the registry applications.
2607 /// @param context The request context.
2608 /// @return A future that becomes available when the invocation completes. This future holds:
2609 /// - The current serial.
2610 [[nodiscard]] std::future<std::int32_t> startUpdateAsync(const Ice::Context& context = Ice::noExplicitContext) const;
2611
2612 /// Acquires an exclusive lock to start updating the registry applications.
2613 /// @param response The response callback. It accepts:
2614 /// - The current serial.
2615 /// @param exception The exception callback.
2616 /// @param sent The sent callback.
2617 /// @param context The request context.
2618 /// @return A function that can be called to cancel the invocation locally.
2619 // NOLINTNEXTLINE(modernize-use-nodiscard)
2620 std::function<void()> startUpdateAsync(std::function<void(std::int32_t)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2621
2622 /// @private
2623 void _iceI_startUpdate(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::int32_t>>&, const Ice::Context&) const;
2624
2625 /// Finishes updating the registry and releases the exclusive lock.
2626 /// @param context The request context.
2627 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock.
2629
2630 /// Finishes updating the registry and releases the exclusive lock.
2631 /// @param context The request context.
2632 /// @return A future that becomes available when the invocation completes.
2633 [[nodiscard]] std::future<void> finishUpdateAsync(const Ice::Context& context = Ice::noExplicitContext) const;
2634
2635 /// Finishes updating the registry and releases the exclusive lock.
2636 /// @param response The response callback.
2637 /// @param exception The exception callback.
2638 /// @param sent The sent callback.
2639 /// @param context The request context.
2640 /// @return A function that can be called to cancel the invocation locally.
2641 // NOLINTNEXTLINE(modernize-use-nodiscard)
2642 std::function<void()> finishUpdateAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2643
2644 /// @private
2645 void _iceI_finishUpdate(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const Ice::Context&) const;
2646
2647 /// Gets the name of the registry replica hosting this session.
2648 /// @param context The request context.
2649 /// @return The replica name of the registry.
2650 std::string getReplicaName(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2651
2652 /// Gets the name of the registry replica hosting this session.
2653 /// @param context The request context.
2654 /// @return A future that becomes available when the invocation completes. This future holds:
2655 /// - The replica name of the registry.
2656 [[nodiscard]] std::future<std::string> getReplicaNameAsync(const Ice::Context& context = Ice::noExplicitContext) const;
2657
2658 /// Gets the name of the registry replica hosting this session.
2659 /// @param response The response callback. It accepts:
2660 /// - The replica name of the registry.
2661 /// @param exception The exception callback.
2662 /// @param sent The sent callback.
2663 /// @param context The request context.
2664 /// @return A function that can be called to cancel the invocation locally.
2665 // NOLINTNEXTLINE(modernize-use-nodiscard)
2666 std::function<void()> getReplicaNameAsync(std::function<void(std::string)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2667
2668 /// @private
2669 void _iceI_getReplicaName(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::string>>&, const Ice::Context&) const;
2670
2671 /// Opens a server log file for reading.
2672 /// @param id The server ID.
2673 /// @param path The path of the log file. A log file can be opened only if it's declared in the server or
2674 /// service deployment descriptor.
2675 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2676 /// Otherwise, the file is read from the last @p count lines.
2677 /// @param context The request context.
2678 /// @return An iterator to read the file. This proxy is never null.
2679 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
2680 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
2681 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
2682 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
2683 std::optional<FileIteratorPrx> openServerLog(std::string_view id, std::string_view path, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2684
2685 /// Opens a server log file for reading.
2686 /// @param id The server ID.
2687 /// @param path The path of the log file. A log file can be opened only if it's declared in the server or
2688 /// service deployment descriptor.
2689 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2690 /// Otherwise, the file is read from the last @p count lines.
2691 /// @param context The request context.
2692 /// @return A future that becomes available when the invocation completes. This future holds:
2693 /// - An iterator to read the file. This proxy is never null.
2694 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openServerLogAsync(std::string_view id, std::string_view path, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
2695
2696 /// Opens a server log file for reading.
2697 /// @param id The server ID.
2698 /// @param path The path of the log file. A log file can be opened only if it's declared in the server or
2699 /// service deployment descriptor.
2700 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2701 /// Otherwise, the file is read from the last @p count lines.
2702 /// @param response The response callback. It accepts:
2703 /// - An iterator to read the file. This proxy is never null.
2704 /// @param exception The exception callback.
2705 /// @param sent The sent callback.
2706 /// @param context The request context.
2707 /// @return A function that can be called to cancel the invocation locally.
2708 // NOLINTNEXTLINE(modernize-use-nodiscard)
2709 std::function<void()> openServerLogAsync(std::string_view id, std::string_view path, std::int32_t count, std::function<void(std::optional<::IceGrid::FileIteratorPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2710
2711 /// @private
2712 void _iceI_openServerLog(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::string_view, std::int32_t, const Ice::Context&) const;
2713
2714 /// Opens a server stderr file for reading.
2715 /// @param id The server ID.
2716 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2717 /// Otherwise, the file is read from the last @p count lines.
2718 /// @param context The request context.
2719 /// @return An iterator to read the file. This proxy is never null.
2720 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
2721 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
2722 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
2723 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
2724 std::optional<FileIteratorPrx> openServerStdErr(std::string_view id, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2725
2726 /// Opens a server stderr file for reading.
2727 /// @param id The server ID.
2728 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2729 /// Otherwise, the file is read from the last @p count lines.
2730 /// @param context The request context.
2731 /// @return A future that becomes available when the invocation completes. This future holds:
2732 /// - An iterator to read the file. This proxy is never null.
2733 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openServerStdErrAsync(std::string_view id, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
2734
2735 /// Opens a server stderr file for reading.
2736 /// @param id The server ID.
2737 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2738 /// Otherwise, the file is read from the last @p count lines.
2739 /// @param response The response callback. It accepts:
2740 /// - An iterator to read the file. This proxy is never null.
2741 /// @param exception The exception callback.
2742 /// @param sent The sent callback.
2743 /// @param context The request context.
2744 /// @return A function that can be called to cancel the invocation locally.
2745 // NOLINTNEXTLINE(modernize-use-nodiscard)
2746 std::function<void()> openServerStdErrAsync(std::string_view id, std::int32_t count, std::function<void(std::optional<::IceGrid::FileIteratorPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2747
2748 /// @private
2749 void _iceI_openServerStdErr(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
2750
2751 /// Opens a server stdout file for reading.
2752 /// @param id The server id.
2753 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2754 /// Otherwise, the file is read from the last @p count lines.
2755 /// @param context The request context.
2756 /// @return An iterator to read the file. This proxy is never null.
2757 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
2758 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
2759 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
2760 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
2761 std::optional<FileIteratorPrx> openServerStdOut(std::string_view id, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2762
2763 /// Opens a server stdout file for reading.
2764 /// @param id The server id.
2765 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2766 /// Otherwise, the file is read from the last @p count lines.
2767 /// @param context The request context.
2768 /// @return A future that becomes available when the invocation completes. This future holds:
2769 /// - An iterator to read the file. This proxy is never null.
2770 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openServerStdOutAsync(std::string_view id, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
2771
2772 /// Opens a server stdout file for reading.
2773 /// @param id The server id.
2774 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2775 /// Otherwise, the file is read from the last @p count lines.
2776 /// @param response The response callback. It accepts:
2777 /// - An iterator to read the file. This proxy is never null.
2778 /// @param exception The exception callback.
2779 /// @param sent The sent callback.
2780 /// @param context The request context.
2781 /// @return A function that can be called to cancel the invocation locally.
2782 // NOLINTNEXTLINE(modernize-use-nodiscard)
2783 std::function<void()> openServerStdOutAsync(std::string_view id, std::int32_t count, std::function<void(std::optional<::IceGrid::FileIteratorPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2784
2785 /// @private
2786 void _iceI_openServerStdOut(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
2787
2788 /// Opens a node stderr file for reading.
2789 /// @param name The node name.
2790 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2791 /// Otherwise, the file is read from the last @p count lines.
2792 /// @param context The request context.
2793 /// @return An iterator to read the file. This proxy is never null.
2794 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
2795 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
2796 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
2797 std::optional<FileIteratorPrx> openNodeStdErr(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2798
2799 /// Opens a node stderr file for reading.
2800 /// @param name The node name.
2801 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2802 /// Otherwise, the file is read from the last @p count lines.
2803 /// @param context The request context.
2804 /// @return A future that becomes available when the invocation completes. This future holds:
2805 /// - An iterator to read the file. This proxy is never null.
2806 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openNodeStdErrAsync(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
2807
2808 /// Opens a node stderr file for reading.
2809 /// @param name The node name.
2810 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2811 /// Otherwise, the file is read from the last @p count lines.
2812 /// @param response The response callback. It accepts:
2813 /// - An iterator to read the file. This proxy is never null.
2814 /// @param exception The exception callback.
2815 /// @param sent The sent callback.
2816 /// @param context The request context.
2817 /// @return A function that can be called to cancel the invocation locally.
2818 // NOLINTNEXTLINE(modernize-use-nodiscard)
2819 std::function<void()> openNodeStdErrAsync(std::string_view name, std::int32_t count, std::function<void(std::optional<::IceGrid::FileIteratorPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2820
2821 /// @private
2822 void _iceI_openNodeStdErr(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
2823
2824 /// Opens a node stdout file for reading.
2825 /// @param name The node name.
2826 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2827 /// Otherwise, the file is read from the last @p count lines.
2828 /// @param context The request context.
2829 /// @return An iterator to read the file. This proxy is never null.
2830 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
2831 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
2832 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
2833 std::optional<FileIteratorPrx> openNodeStdOut(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2834
2835 /// Opens a node stdout file for reading.
2836 /// @param name The node name.
2837 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2838 /// Otherwise, the file is read from the last @p count lines.
2839 /// @param context The request context.
2840 /// @return A future that becomes available when the invocation completes. This future holds:
2841 /// - An iterator to read the file. This proxy is never null.
2842 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openNodeStdOutAsync(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
2843
2844 /// Opens a node stdout file for reading.
2845 /// @param name The node name.
2846 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2847 /// Otherwise, the file is read from the last @p count lines.
2848 /// @param response The response callback. It accepts:
2849 /// - An iterator to read the file. This proxy is never null.
2850 /// @param exception The exception callback.
2851 /// @param sent The sent callback.
2852 /// @param context The request context.
2853 /// @return A function that can be called to cancel the invocation locally.
2854 // NOLINTNEXTLINE(modernize-use-nodiscard)
2855 std::function<void()> openNodeStdOutAsync(std::string_view name, std::int32_t count, std::function<void(std::optional<::IceGrid::FileIteratorPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2856
2857 /// @private
2858 void _iceI_openNodeStdOut(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
2859
2860 /// Opens a registry stderr file for reading.
2861 /// @param name The registry name.
2862 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2863 /// Otherwise, the file is read from the last @p count lines.
2864 /// @param context The request context.
2865 /// @return An iterator to read the file. This proxy is never null.
2866 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
2867 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
2868 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
2869 std::optional<FileIteratorPrx> openRegistryStdErr(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2870
2871 /// Opens a registry stderr file for reading.
2872 /// @param name The registry name.
2873 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2874 /// Otherwise, the file is read from the last @p count lines.
2875 /// @param context The request context.
2876 /// @return A future that becomes available when the invocation completes. This future holds:
2877 /// - An iterator to read the file. This proxy is never null.
2878 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openRegistryStdErrAsync(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
2879
2880 /// Opens a registry stderr file for reading.
2881 /// @param name The registry name.
2882 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2883 /// Otherwise, the file is read from the last @p count lines.
2884 /// @param response The response callback. It accepts:
2885 /// - An iterator to read the file. This proxy is never null.
2886 /// @param exception The exception callback.
2887 /// @param sent The sent callback.
2888 /// @param context The request context.
2889 /// @return A function that can be called to cancel the invocation locally.
2890 // NOLINTNEXTLINE(modernize-use-nodiscard)
2891 std::function<void()> openRegistryStdErrAsync(std::string_view name, std::int32_t count, std::function<void(std::optional<::IceGrid::FileIteratorPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2892
2893 /// @private
2894 void _iceI_openRegistryStdErr(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
2895
2896 /// Opens a registry stdout file for reading.
2897 /// @param name The registry name.
2898 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2899 /// Otherwise, the file is read from the last @p count lines.
2900 /// @param context The request context.
2901 /// @return An iterator to read the file. This proxy is never null.
2902 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
2903 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
2904 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
2905 std::optional<FileIteratorPrx> openRegistryStdOut(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
2906
2907 /// Opens a registry stdout file for reading.
2908 /// @param name The registry name.
2909 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2910 /// Otherwise, the file is read from the last @p count lines.
2911 /// @param context The request context.
2912 /// @return A future that becomes available when the invocation completes. This future holds:
2913 /// - An iterator to read the file. This proxy is never null.
2914 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openRegistryStdOutAsync(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
2915
2916 /// Opens a registry stdout file for reading.
2917 /// @param name The registry name.
2918 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
2919 /// Otherwise, the file is read from the last @p count lines.
2920 /// @param response The response callback. It accepts:
2921 /// - An iterator to read the file. This proxy is never null.
2922 /// @param exception The exception callback.
2923 /// @param sent The sent callback.
2924 /// @param context The request context.
2925 /// @return A function that can be called to cancel the invocation locally.
2926 // NOLINTNEXTLINE(modernize-use-nodiscard)
2927 std::function<void()> openRegistryStdOutAsync(std::string_view name, std::int32_t count, std::function<void(std::optional<::IceGrid::FileIteratorPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
2928
2929 /// @private
2930 void _iceI_openRegistryStdOut(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
2931
2932 /// Gets the type ID of the associated Slice interface.
2933 /// @return The string `"::IceGrid::AdminSession"`.
2934 static const char* ice_staticId() noexcept;
2935
2936 /// @private
2937 static AdminSessionPrx _fromReference(IceInternal::ReferencePtr ref) { return AdminSessionPrx{std::move(ref)}; }
2938
2939 protected:
2940 /// @private
2941 AdminSessionPrx() = default;
2942
2943 /// @private
2944 explicit AdminSessionPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
2945 {
2946 }
2947
2948#if defined(__GNUC__) && !defined(__clang__)
2949# pragma GCC diagnostic pop
2950#endif
2951 };
2952}
2953
2954namespace IceGrid
2955{
2956 /// Information about an Ice well-known object.
2957 /// @headerfile IceGrid/IceGrid.h
2959 {
2960 /// The proxy of the object.
2961 std::optional<Ice::ObjectPrx> proxy;
2962
2963 /// The type of the object.
2964 std::string type;
2965
2966 /// Creates a tuple with all the fields of this struct.
2967 /// @return A tuple with all the fields of this struct.
2968 [[nodiscard]] std::tuple<const std::optional<Ice::ObjectPrx>&, const std::string&> ice_tuple() const
2969 {
2970 return std::tie(proxy, type);
2971 }
2972
2973 /// Outputs the name and value of each field of this instance to the stream.
2974 /// @param os The output stream.
2975 ICEGRID_API void ice_printFields(std::ostream& os) const;
2976 };
2977
2978 /// Outputs the description of an ObjectInfo to a stream, including all its fields.
2979 /// @param os The output stream.
2980 /// @param value The instance to output.
2981 /// @return The output stream.
2982 ICEGRID_API std::ostream& operator<<(std::ostream& os, const ObjectInfo& value);
2983
2984 /// Information about an adapter registered with the IceGrid registry.
2985 /// @headerfile IceGrid/IceGrid.h
2987 {
2988 /// The ID of the adapter.
2989 std::string id;
2990
2991 /// A dummy direct proxy that contains the adapter endpoints.
2992 std::optional<Ice::ObjectPrx> proxy;
2993
2994 /// The replica group ID of the object adapter, or empty if the adapter doesn't belong to a replica group.
2995 std::string replicaGroupId;
2996
2997 /// Creates a tuple with all the fields of this struct.
2998 /// @return A tuple with all the fields of this struct.
2999 [[nodiscard]] std::tuple<const std::string&, const std::optional<Ice::ObjectPrx>&, const std::string&> ice_tuple() const
3000 {
3001 return std::tie(id, proxy, replicaGroupId);
3002 }
3003
3004 /// Outputs the name and value of each field of this instance to the stream.
3005 /// @param os The output stream.
3006 ICEGRID_API void ice_printFields(std::ostream& os) const;
3007 };
3008
3009 /// Outputs the description of an AdapterInfo to a stream, including all its fields.
3010 /// @param os The output stream.
3011 /// @param value The instance to output.
3012 /// @return The output stream.
3013 ICEGRID_API std::ostream& operator<<(std::ostream& os, const AdapterInfo& value);
3014
3015 /// Information about a server managed by an IceGrid node.
3016 /// @headerfile IceGrid/IceGrid.h
3018 {
3019 /// The application to which this server belongs.
3020 std::string application;
3021
3022 /// The application UUID.
3023 std::string uuid;
3024
3025 /// The application revision.
3026 std::int32_t revision;
3027
3028 /// The IceGrid node where this server is deployed.
3029 std::string node;
3030
3031 /// The server descriptor.
3033
3034 /// The ID of the session which allocated the server.
3035 std::string sessionId;
3036
3037 /// Creates a tuple with all the fields of this struct.
3038 /// @return A tuple with all the fields of this struct.
3039 [[nodiscard]] std::tuple<const std::string&, const std::string&, const std::int32_t&, const std::string&, const ::IceGrid::ServerDescriptorPtr&, const std::string&> ice_tuple() const
3040 {
3041 return std::tie(application, uuid, revision, node, descriptor, sessionId);
3042 }
3043
3044 /// Outputs the name and value of each field of this instance to the stream.
3045 /// @param os The output stream.
3046 ICEGRID_API void ice_printFields(std::ostream& os) const;
3047 };
3048
3049 /// Outputs the description of a ServerInfo to a stream, including all its fields.
3050 /// @param os The output stream.
3051 /// @param value The instance to output.
3052 /// @return The output stream.
3053 ICEGRID_API std::ostream& operator<<(std::ostream& os, const ServerInfo& value);
3054
3055 /// Information about an IceGrid node.
3056 /// @headerfile IceGrid/IceGrid.h
3058 {
3059 /// The name of the node.
3060 std::string name;
3061
3062 /// The operating system name.
3063 std::string os;
3064
3065 /// The network name of the host running this node.
3066 std::string hostname;
3067
3068 /// The operation system release level.
3069 std::string release;
3070
3071 /// The operation system version.
3072 std::string version;
3073
3074 /// The machine hardware type.
3075 std::string machine;
3076
3077 /// The number of processor threads on the node.
3078 /// For example, nProcessors is 8 on a computer with a single quad-core processor and two threads per core.
3079 std::int32_t nProcessors;
3080
3081 /// The path to the node data directory.
3082 std::string dataDir;
3083
3084 /// Creates a tuple with all the fields of this struct.
3085 /// @return A tuple with all the fields of this struct.
3086 [[nodiscard]] std::tuple<const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, const std::int32_t&, const std::string&> ice_tuple() const
3087 {
3088 return std::tie(name, os, hostname, release, version, machine, nProcessors, dataDir);
3089 }
3090
3091 /// Outputs the name and value of each field of this instance to the stream.
3092 /// @param os The output stream.
3093 ICEGRID_API void ice_printFields(std::ostream& os) const;
3094 };
3095
3096 /// Outputs the description of a NodeInfo to a stream, including all its fields.
3097 /// @param os The output stream.
3098 /// @param value The instance to output.
3099 /// @return The output stream.
3100 ICEGRID_API std::ostream& operator<<(std::ostream& os, const NodeInfo& value);
3101
3102 /// Information about an IceGrid registry replica.
3103 /// @headerfile IceGrid/IceGrid.h
3105 {
3106 /// The name of the registry.
3107 std::string name;
3108
3109 /// The network name of the host running this registry.
3110 std::string hostname;
3111
3112 /// Creates a tuple with all the fields of this struct.
3113 /// @return A tuple with all the fields of this struct.
3114 [[nodiscard]] std::tuple<const std::string&, const std::string&> ice_tuple() const
3115 {
3116 return std::tie(name, hostname);
3117 }
3118
3119 /// Outputs the name and value of each field of this instance to the stream.
3120 /// @param os The output stream.
3121 ICEGRID_API void ice_printFields(std::ostream& os) const;
3122 };
3123
3124 /// Outputs the description of a RegistryInfo to a stream, including all its fields.
3125 /// @param os The output stream.
3126 /// @param value The instance to output.
3127 /// @return The output stream.
3128 ICEGRID_API std::ostream& operator<<(std::ostream& os, const RegistryInfo& value);
3129
3130 /// Information about the load of a node.
3131 /// @headerfile IceGrid/IceGrid.h
3133 {
3134 /// The load average over the past minute.
3135 float avg1;
3136
3137 /// The load average over the past 5 minutes.
3138 float avg5;
3139
3140 /// The load average over the past 15 minutes.
3141 float avg15;
3142
3143 /// Creates a tuple with all the fields of this struct.
3144 /// @return A tuple with all the fields of this struct.
3145 [[nodiscard]] std::tuple<const float&, const float&, const float&> ice_tuple() const
3146 {
3147 return std::tie(avg1, avg5, avg15);
3148 }
3149
3150 /// Outputs the name and value of each field of this instance to the stream.
3151 /// @param os The output stream.
3152 ICEGRID_API void ice_printFields(std::ostream& os) const;
3153 };
3154
3155 /// Outputs the description of a LoadInfo to a stream, including all its fields.
3156 /// @param os The output stream.
3157 /// @param value The instance to output.
3158 /// @return The output stream.
3159 ICEGRID_API std::ostream& operator<<(std::ostream& os, const LoadInfo& value);
3160
3161 /// Information about an IceGrid application.
3162 /// @headerfile IceGrid/IceGrid.h
3164 {
3165 /// Unique application identifier.
3166 std::string uuid;
3167
3168 /// The creation time.
3169 std::int64_t createTime;
3170
3171 /// The user who created the application.
3172 std::string createUser;
3173
3174 /// The last update time.
3175 std::int64_t updateTime;
3176
3177 /// The user who updated the application.
3178 std::string updateUser;
3179
3180 /// The application revision number.
3181 std::int32_t revision;
3182
3183 /// The application descriptor.
3185
3186 /// Creates a tuple with all the fields of this struct.
3187 /// @return A tuple with all the fields of this struct.
3188 [[nodiscard]] std::tuple<const std::string&, const std::int64_t&, const std::string&, const std::int64_t&, const std::string&, const std::int32_t&, const ::IceGrid::ApplicationDescriptor&> ice_tuple() const
3189 {
3191 }
3192
3193 /// Outputs the name and value of each field of this instance to the stream.
3194 /// @param os The output stream.
3195 ICEGRID_API void ice_printFields(std::ostream& os) const;
3196 };
3197
3198 /// Outputs the description of an ApplicationInfo to a stream, including all its fields.
3199 /// @param os The output stream.
3200 /// @param value The instance to output.
3201 /// @return The output stream.
3202 ICEGRID_API std::ostream& operator<<(std::ostream& os, const ApplicationInfo& value);
3203
3204 /// Information about updates to an IceGrid application.
3205 /// @headerfile IceGrid/IceGrid.h
3207 {
3208 /// The update time.
3209 std::int64_t updateTime;
3210
3211 /// The user who updated the application.
3212 std::string updateUser;
3213
3214 /// The application revision number.
3215 std::int32_t revision;
3216
3217 /// The update descriptor.
3219
3220 /// Creates a tuple with all the fields of this struct.
3221 /// @return A tuple with all the fields of this struct.
3222 [[nodiscard]] std::tuple<const std::int64_t&, const std::string&, const std::int32_t&, const ::IceGrid::ApplicationUpdateDescriptor&> ice_tuple() const
3223 {
3224 return std::tie(updateTime, updateUser, revision, descriptor);
3225 }
3226
3227 /// Outputs the name and value of each field of this instance to the stream.
3228 /// @param os The output stream.
3229 ICEGRID_API void ice_printFields(std::ostream& os) const;
3230 };
3231
3232 /// Outputs the description of an ApplicationUpdateInfo to a stream, including all its fields.
3233 /// @param os The output stream.
3234 /// @param value The instance to output.
3235 /// @return The output stream.
3236 ICEGRID_API std::ostream& operator<<(std::ostream& os, const ApplicationUpdateInfo& value);
3237
3238 /// The exception that is thrown when IceGrid cannot deploy a server.
3239 /// @headerfile IceGrid/IceGrid.h
3240 class ICEGRID_API DeploymentException : public Ice::UserException
3241 {
3242 public:
3243 /// Default constructor.
3244 DeploymentException() noexcept = default;
3245
3246 /// One-shot constructor to initialize all data members.
3247 /// @param reason The reason for the failure.
3248 DeploymentException(std::string reason) noexcept :
3249 reason(std::move(reason))
3250 {
3251 }
3252
3253 /// Copy constructor.
3254 DeploymentException(const DeploymentException&) noexcept = default;
3255
3256 /// Creates a tuple with all the fields of this exception.
3257 /// @return A tuple with all the fields of this exception.
3258 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
3259 {
3260 return std::tie(reason);
3261 }
3262
3263 void ice_printFields(std::ostream& os) const override;
3264 /// Gets the type ID of the associated Slice exception.
3265 /// @return The string `"::IceGrid::DeploymentException"`.
3266 static const char* ice_staticId() noexcept;
3267
3268 [[nodiscard]] const char* ice_id() const noexcept override;
3269
3270 void ice_throw() const override;
3271
3272 /// The reason for the failure.
3273 std::string reason;
3274
3275 protected:
3276 /// @private
3277 void _writeImpl(Ice::OutputStream*) const override;
3278
3279 /// @private
3280 void _readImpl(Ice::InputStream*) override;
3281 };
3282
3283 /// The exception that is thrown when IceGrid cannot reach a node.
3284 /// @headerfile IceGrid/IceGrid.h
3285 class ICEGRID_API NodeUnreachableException : public Ice::UserException
3286 {
3287 public:
3288 /// Default constructor.
3289 NodeUnreachableException() noexcept = default;
3290
3291 /// One-shot constructor to initialize all data members.
3292 /// @param name The name of the node that is not reachable.
3293 /// @param reason The reason why the node couldn't be reached.
3294 NodeUnreachableException(std::string name, std::string reason) noexcept :
3295 name(std::move(name)),
3296 reason(std::move(reason))
3297 {
3298 }
3299
3300 /// Copy constructor.
3302
3303 /// Creates a tuple with all the fields of this exception.
3304 /// @return A tuple with all the fields of this exception.
3305 [[nodiscard]] std::tuple<const std::string&, const std::string&> ice_tuple() const
3306 {
3307 return std::tie(name, reason);
3308 }
3309
3310 void ice_printFields(std::ostream& os) const override;
3311 /// Gets the type ID of the associated Slice exception.
3312 /// @return The string `"::IceGrid::NodeUnreachableException"`.
3313 static const char* ice_staticId() noexcept;
3314
3315 [[nodiscard]] const char* ice_id() const noexcept override;
3316
3317 void ice_throw() const override;
3318
3319 /// The name of the node that is not reachable.
3320 std::string name;
3321
3322 /// The reason why the node couldn't be reached.
3323 std::string reason;
3324
3325 protected:
3326 /// @private
3327 void _writeImpl(Ice::OutputStream*) const override;
3328
3329 /// @private
3330 void _readImpl(Ice::InputStream*) override;
3331 };
3332
3333 /// The exception that is thrown when IceGrid cannot reach a registry.
3334 /// @headerfile IceGrid/IceGrid.h
3335 class ICEGRID_API RegistryUnreachableException : public Ice::UserException
3336 {
3337 public:
3338 /// Default constructor.
3339 RegistryUnreachableException() noexcept = default;
3340
3341 /// One-shot constructor to initialize all data members.
3342 /// @param name The name of the registry that is not reachable.
3343 /// @param reason The reason why the registry couldn't be reached.
3344 RegistryUnreachableException(std::string name, std::string reason) noexcept :
3345 name(std::move(name)),
3346 reason(std::move(reason))
3347 {
3348 }
3349
3350 /// Copy constructor.
3352
3353 /// Creates a tuple with all the fields of this exception.
3354 /// @return A tuple with all the fields of this exception.
3355 [[nodiscard]] std::tuple<const std::string&, const std::string&> ice_tuple() const
3356 {
3357 return std::tie(name, reason);
3358 }
3359
3360 void ice_printFields(std::ostream& os) const override;
3361 /// Gets the type ID of the associated Slice exception.
3362 /// @return The string `"::IceGrid::RegistryUnreachableException"`.
3363 static const char* ice_staticId() noexcept;
3364
3365 [[nodiscard]] const char* ice_id() const noexcept override;
3366
3367 void ice_throw() const override;
3368
3369 /// The name of the registry that is not reachable.
3370 std::string name;
3371
3372 /// The reason why the registry couldn't be reached.
3373 std::string reason;
3374
3375 protected:
3376 /// @private
3377 void _writeImpl(Ice::OutputStream*) const override;
3378
3379 /// @private
3380 void _readImpl(Ice::InputStream*) override;
3381 };
3382
3383 /// The exception that is thrown when an unknown signal is sent to a server.
3384 /// @headerfile IceGrid/IceGrid.h
3385 class ICEGRID_API BadSignalException : public Ice::UserException
3386 {
3387 public:
3388 /// Default constructor.
3389 BadSignalException() noexcept = default;
3390
3391 /// One-shot constructor to initialize all data members.
3392 /// @param reason The details of the unknown signal.
3393 BadSignalException(std::string reason) noexcept :
3394 reason(std::move(reason))
3395 {
3396 }
3397
3398 /// Copy constructor.
3399 BadSignalException(const BadSignalException&) noexcept = default;
3400
3401 /// Creates a tuple with all the fields of this exception.
3402 /// @return A tuple with all the fields of this exception.
3403 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
3404 {
3405 return std::tie(reason);
3406 }
3407
3408 void ice_printFields(std::ostream& os) const override;
3409 /// Gets the type ID of the associated Slice exception.
3410 /// @return The string `"::IceGrid::BadSignalException"`.
3411 static const char* ice_staticId() noexcept;
3412
3413 [[nodiscard]] const char* ice_id() const noexcept override;
3414
3415 void ice_throw() const override;
3416
3417 /// The details of the unknown signal.
3418 std::string reason;
3419
3420 protected:
3421 /// @private
3422 void _writeImpl(Ice::OutputStream*) const override;
3423
3424 /// @private
3425 void _readImpl(Ice::InputStream*) override;
3426 };
3427
3428 /// The exception that is thrown when the registry update lock cannot be acquired.
3429 /// @headerfile IceGrid/IceGrid.h
3430 class ICEGRID_API AccessDeniedException : public Ice::UserException
3431 {
3432 public:
3433 /// Default constructor.
3434 AccessDeniedException() noexcept = default;
3435
3436 /// One-shot constructor to initialize all data members.
3437 /// @param lockUserId The id of the user holding the lock (if any).
3438 AccessDeniedException(std::string lockUserId) noexcept :
3439 lockUserId(std::move(lockUserId))
3440 {
3441 }
3442
3443 /// Copy constructor.
3445
3446 /// Creates a tuple with all the fields of this exception.
3447 /// @return A tuple with all the fields of this exception.
3448 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
3449 {
3450 return std::tie(lockUserId);
3451 }
3452
3453 void ice_printFields(std::ostream& os) const override;
3454 /// Gets the type ID of the associated Slice exception.
3455 /// @return The string `"::IceGrid::AccessDeniedException"`.
3456 static const char* ice_staticId() noexcept;
3457
3458 [[nodiscard]] const char* ice_id() const noexcept override;
3459
3460 void ice_throw() const override;
3461
3462 /// The id of the user holding the lock (if any).
3463 std::string lockUserId;
3464
3465 protected:
3466 /// @private
3467 void _writeImpl(Ice::OutputStream*) const override;
3468
3469 /// @private
3470 void _readImpl(Ice::InputStream*) override;
3471 };
3472
3473 /// The exception that is thrown when a client is not allowed to create a session.
3474 /// @headerfile IceGrid/IceGrid.h
3475 class ICEGRID_API PermissionDeniedException : public Ice::UserException
3476 {
3477 public:
3478 /// Default constructor.
3479 PermissionDeniedException() noexcept = default;
3480
3481 /// One-shot constructor to initialize all data members.
3482 /// @param reason The reason why permission was denied.
3483 PermissionDeniedException(std::string reason) noexcept :
3484 reason(std::move(reason))
3485 {
3486 }
3487
3488 /// Copy constructor.
3490
3491 /// Creates a tuple with all the fields of this exception.
3492 /// @return A tuple with all the fields of this exception.
3493 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
3494 {
3495 return std::tie(reason);
3496 }
3497
3498 void ice_printFields(std::ostream& os) const override;
3499 /// Gets the type ID of the associated Slice exception.
3500 /// @return The string `"::IceGrid::PermissionDeniedException"`.
3501 static const char* ice_staticId() noexcept;
3502
3503 [[nodiscard]] const char* ice_id() const noexcept override;
3504
3505 void ice_throw() const override;
3506
3507 /// The reason why permission was denied.
3508 std::string reason;
3509
3510 protected:
3511 /// @private
3512 void _writeImpl(Ice::OutputStream*) const override;
3513
3514 /// @private
3515 void _readImpl(Ice::InputStream*) override;
3516 };
3517
3518 /// The exception that is thrown when an observer is already registered with the registry.
3519 /// @see AdminSessionPrx::setObservers
3520 /// @see AdminSessionPrx::setObserversByIdentity
3521 /// @headerfile IceGrid/IceGrid.h
3522 class ICEGRID_API ObserverAlreadyRegisteredException : public Ice::UserException
3523 {
3524 public:
3525 /// Default constructor.
3527
3528 /// One-shot constructor to initialize all data members.
3529 /// @param id The identity of the observer.
3530 ObserverAlreadyRegisteredException(::Ice::Identity id) noexcept :
3531 id(std::move(id))
3532 {
3533 }
3534
3535 /// Copy constructor.
3537
3538 /// Creates a tuple with all the fields of this exception.
3539 /// @return A tuple with all the fields of this exception.
3540 [[nodiscard]] std::tuple<const ::Ice::Identity&> ice_tuple() const
3541 {
3542 return std::tie(id);
3543 }
3544
3545 void ice_printFields(std::ostream& os) const override;
3546 /// Gets the type ID of the associated Slice exception.
3547 /// @return The string `"::IceGrid::ObserverAlreadyRegisteredException"`.
3548 static const char* ice_staticId() noexcept;
3549
3550 [[nodiscard]] const char* ice_id() const noexcept override;
3551
3552 void ice_throw() const override;
3553
3554 /// The identity of the observer.
3555 ::Ice::Identity id;
3556
3557 protected:
3558 /// @private
3559 void _writeImpl(Ice::OutputStream*) const override;
3560
3561 /// @private
3562 void _readImpl(Ice::InputStream*) override;
3563 };
3564
3565 /// The exception that is thrown when a log file is not available.
3566 /// @see AdminSessionPrx::openServerStdOut
3567 /// @see AdminSessionPrx::openServerStdErr
3568 /// @see AdminSessionPrx::openNodeStdOut
3569 /// @see AdminSessionPrx::openNodeStdErr
3570 /// @see AdminSessionPrx::openRegistryStdOut
3571 /// @see AdminSessionPrx::openRegistryStdErr
3572 /// @headerfile IceGrid/IceGrid.h
3573 class ICEGRID_API FileNotAvailableException : public Ice::UserException
3574 {
3575 public:
3576 /// Default constructor.
3577 FileNotAvailableException() noexcept = default;
3578
3579 /// One-shot constructor to initialize all data members.
3580 /// @param reason The reason for the failure.
3581 FileNotAvailableException(std::string reason) noexcept :
3582 reason(std::move(reason))
3583 {
3584 }
3585
3586 /// Copy constructor.
3588
3589 /// Creates a tuple with all the fields of this exception.
3590 /// @return A tuple with all the fields of this exception.
3591 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
3592 {
3593 return std::tie(reason);
3594 }
3595
3596 void ice_printFields(std::ostream& os) const override;
3597 /// Gets the type ID of the associated Slice exception.
3598 /// @return The string `"::IceGrid::FileNotAvailableException"`.
3599 static const char* ice_staticId() noexcept;
3600
3601 [[nodiscard]] const char* ice_id() const noexcept override;
3602
3603 void ice_throw() const override;
3604
3605 /// The reason for the failure.
3606 std::string reason;
3607
3608 protected:
3609 /// @private
3610 void _writeImpl(Ice::OutputStream*) const override;
3611
3612 /// @private
3613 void _readImpl(Ice::InputStream*) override;
3614 };
3615
3616 /// Dynamic information about the state of a server.
3617 /// @headerfile IceGrid/IceGrid.h
3619 {
3620 /// The ID of the server.
3621 std::string id;
3622
3623 /// The state of the server.
3625
3626 /// The process ID of the server.
3627 std::int32_t pid;
3628
3629 /// Indicates whether the server is enabled.
3631
3632 /// Creates a tuple with all the fields of this struct.
3633 /// @return A tuple with all the fields of this struct.
3634 [[nodiscard]] std::tuple<const std::string&, const ::IceGrid::ServerState&, const std::int32_t&, const bool&> ice_tuple() const
3635 {
3636 return std::tie(id, state, pid, enabled);
3637 }
3638
3639 /// Outputs the name and value of each field of this instance to the stream.
3640 /// @param os The output stream.
3641 ICEGRID_API void ice_printFields(std::ostream& os) const;
3642 };
3643
3644 /// Outputs the description of a ServerDynamicInfo to a stream, including all its fields.
3645 /// @param os The output stream.
3646 /// @param value The instance to output.
3647 /// @return The output stream.
3648 ICEGRID_API std::ostream& operator<<(std::ostream& os, const ServerDynamicInfo& value);
3649
3650 /// Dynamic information about the state of an adapter.
3651 /// @headerfile IceGrid/IceGrid.h
3653 {
3654 /// The id of the adapter.
3655 std::string id;
3656
3657 /// The direct proxy containing the adapter endpoints. This proxy is never null.
3658 std::optional<Ice::ObjectPrx> proxy;
3659
3660 /// Creates a tuple with all the fields of this struct.
3661 /// @return A tuple with all the fields of this struct.
3662 [[nodiscard]] std::tuple<const std::string&, const std::optional<Ice::ObjectPrx>&> ice_tuple() const
3663 {
3664 return std::tie(id, proxy);
3665 }
3666
3667 /// Outputs the name and value of each field of this instance to the stream.
3668 /// @param os The output stream.
3669 ICEGRID_API void ice_printFields(std::ostream& os) const;
3670 };
3671
3672 /// Outputs the description of an AdapterDynamicInfo to a stream, including all its fields.
3673 /// @param os The output stream.
3674 /// @param value The instance to output.
3675 /// @return The output stream.
3676 ICEGRID_API std::ostream& operator<<(std::ostream& os, const AdapterDynamicInfo& value);
3677
3678 /// Dynamic information about the state of a node.
3679 /// @headerfile IceGrid/IceGrid.h
3681 {
3682 /// Some static information about the node.
3684
3685 /// The dynamic information of the servers deployed on this node.
3687
3688 /// The dynamic information of the adapters deployed on this node.
3690
3691 /// Creates a tuple with all the fields of this struct.
3692 /// @return A tuple with all the fields of this struct.
3693 [[nodiscard]] std::tuple<const ::IceGrid::NodeInfo&, const ::IceGrid::ServerDynamicInfoSeq&, const ::IceGrid::AdapterDynamicInfoSeq&> ice_tuple() const
3694 {
3695 return std::tie(info, servers, adapters);
3696 }
3697
3698 /// Outputs the name and value of each field of this instance to the stream.
3699 /// @param os The output stream.
3700 ICEGRID_API void ice_printFields(std::ostream& os) const;
3701 };
3702
3703 /// Outputs the description of a NodeDynamicInfo to a stream, including all its fields.
3704 /// @param os The output stream.
3705 /// @param value The instance to output.
3706 /// @return The output stream.
3707 ICEGRID_API std::ostream& operator<<(std::ostream& os, const NodeDynamicInfo& value);
3708
3709 /// @cond INTERNAL
3710 using Ice::Tuple::operator<;
3711 using Ice::Tuple::operator<=;
3712 using Ice::Tuple::operator>;
3713 using Ice::Tuple::operator>=;
3714 using Ice::Tuple::operator==;
3715 using Ice::Tuple::operator!=;
3716 /// @endcond
3717}
3718
3719namespace IceGrid
3720{
3721 /// Provides administrative access to an IceGrid deployment.
3722 /// @headerfile IceGrid/IceGrid.h
3723 class ICEGRID_API Admin : public virtual Ice::Object
3724 {
3725 public:
3726 /// The associated proxy type.
3727 using ProxyType = AdminPrx;
3728
3729 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
3730 /// @param request The incoming request.
3731 /// @param sendResponse The callback to send the response.
3732 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
3733
3734 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
3735
3736 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
3737
3738 /// Adds an application to IceGrid.
3739 /// @param descriptor The application descriptor.
3740 /// @param current The Current object of the incoming request.
3741 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
3742 /// session is holding the lock.
3743 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
3744 virtual void addApplication(ApplicationDescriptor descriptor, const Ice::Current& current) = 0;
3745
3746 /// @private
3747 void _iceD_addApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3748
3749 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor.
3750 /// @param descriptor The new application descriptor.
3751 /// @param current The Current object of the incoming request.
3752 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
3753 /// session is holding the lock.
3754 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
3755 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
3756 virtual void syncApplication(ApplicationDescriptor descriptor, const Ice::Current& current) = 0;
3757
3758 /// @private
3759 void _iceD_syncApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3760
3761 /// Updates a deployed application.
3762 /// @param descriptor The update descriptor.
3763 /// @param current The Current object of the incoming request.
3764 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
3765 /// session is holding the lock.
3766 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
3767 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
3768 virtual void updateApplication(ApplicationUpdateDescriptor descriptor, const Ice::Current& current) = 0;
3769
3770 /// @private
3771 void _iceD_updateApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3772
3773 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor
3774 /// only if no server restarts are necessary for the update of the application. If some servers need to be
3775 /// restarted, the synchronization is rejected with a DeploymentException.
3776 /// @param descriptor The application descriptor.
3777 /// @param current The Current object of the incoming request.
3778 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
3779 /// session is holding the lock.
3780 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
3781 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
3782 virtual void syncApplicationWithoutRestart(ApplicationDescriptor descriptor, const Ice::Current& current) = 0;
3783
3784 /// @private
3785 void _iceD_syncApplicationWithoutRestart(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3786
3787 /// Updates a deployed application. This operation succeeds only when no server restarts are necessary for the
3788 /// update of the application. If some servers need to be restarted, the synchronization is rejected with a
3789 /// DeploymentException.
3790 /// @param descriptor The update descriptor.
3791 /// @param current The Current object of the incoming request.
3792 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
3793 /// session is holding the lock.
3794 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
3795 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
3796 virtual void updateApplicationWithoutRestart(ApplicationUpdateDescriptor descriptor, const Ice::Current& current) = 0;
3797
3798 /// @private
3799 void _iceD_updateApplicationWithoutRestart(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3800
3801 /// Removes an application from IceGrid.
3802 /// @param name The application name.
3803 /// @param current The Current object of the incoming request.
3804 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
3805 /// session is holding the lock.
3806 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
3807 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
3808 virtual void removeApplication(std::string name, const Ice::Current& current) = 0;
3809
3810 /// @private
3811 void _iceD_removeApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3812
3813 /// Instantiates a server template.
3814 /// @param application The application name.
3815 /// @param node The name of the node where the server will be deployed.
3816 /// @param desc The descriptor of the server instance to deploy.
3817 /// @param current The Current object of the incoming request.
3818 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
3819 /// session is holding the lock.
3820 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
3821 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
3822 virtual void instantiateServer(std::string application, std::string node, ServerInstanceDescriptor desc, const Ice::Current& current) = 0;
3823
3824 /// @private
3825 void _iceD_instantiateServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3826
3827 /// Gets an application descriptor.
3828 /// @param name The application name.
3829 /// @param current The Current object of the incoming request.
3830 /// @return The application descriptor.
3831 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
3832 [[nodiscard]] virtual ApplicationInfo getApplicationInfo(std::string name, const Ice::Current& current) const = 0;
3833
3834 /// @private
3835 void _iceD_getApplicationInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3836
3837 /// Gets the default application descriptor.
3838 /// @param current The Current object of the incoming request.
3839 /// @return The default application descriptor.
3840 /// @throws IceGrid::DeploymentException Thrown when the default application descriptor is invalid or unreachable.
3841 [[nodiscard]] virtual ApplicationDescriptor getDefaultApplicationDescriptor(const Ice::Current& current) const = 0;
3842
3843 /// @private
3844 void _iceD_getDefaultApplicationDescriptor(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3845
3846 /// Gets all the IceGrid applications currently registered.
3847 /// @param current The Current object of the incoming request.
3848 /// @return The application names.
3849 [[nodiscard]] virtual ::Ice::StringSeq getAllApplicationNames(const Ice::Current& current) const = 0;
3850
3851 /// @private
3852 void _iceD_getAllApplicationNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3853
3854 /// Gets information about a server.
3855 /// @param id The server ID.
3856 /// @param current The Current object of the incoming request.
3857 /// @return The server information.
3858 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3859 [[nodiscard]] virtual ServerInfo getServerInfo(std::string id, const Ice::Current& current) const = 0;
3860
3861 /// @private
3862 void _iceD_getServerInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3863
3864 /// Gets the state of a server.
3865 /// @param id The server ID.
3866 /// @param current The Current object of the incoming request.
3867 /// @return The server state.
3868 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
3869 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3870 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3871 [[nodiscard]] virtual ServerState getServerState(std::string id, const Ice::Current& current) const = 0;
3872
3873 /// @private
3874 void _iceD_getServerState(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3875
3876 /// Gets the system process ID of a server. The process ID is operating system dependent.
3877 /// @param id The server ID.
3878 /// @param current The Current object of the incoming request.
3879 /// @return The process ID.
3880 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
3881 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3882 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3883 [[nodiscard]] virtual std::int32_t getServerPid(std::string id, const Ice::Current& current) const = 0;
3884
3885 /// @private
3886 void _iceD_getServerPid(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3887
3888 /// Gets the category for server admin objects. You can manufacture a server admin proxy from the admin proxy by
3889 /// changing its identity: use the server ID as name and the returned category as category.
3890 /// @param current The Current object of the incoming request.
3891 /// @return The category for server admin objects.
3892 [[nodiscard]] virtual std::string getServerAdminCategory(const Ice::Current& current) const = 0;
3893
3894 /// @private
3895 void _iceD_getServerAdminCategory(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3896
3897 /// Gets a proxy to the admin object of a server.
3898 /// @param id The server ID.
3899 /// @param current The Current object of the incoming request.
3900 /// @return A proxy to the admin object of the server. This proxy is never null.
3901 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
3902 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3903 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3904 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> getServerAdmin(std::string id, const Ice::Current& current) const = 0;
3905
3906 /// @private
3907 void _iceD_getServerAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3908
3909 /// Enables or disables a server. A disabled server can't be started on demand or administratively. The enable
3910 /// state of the server is not persistent: if the node is shut down and restarted, the server will be enabled by
3911 /// default.
3912 /// @param id The server ID.
3913 /// @param enabled `true` to enable the server, `false` to disable it.
3914 /// @param current The Current object of the incoming request.
3915 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
3916 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3917 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3918 virtual void enableServer(std::string id, bool enabled, const Ice::Current& current) = 0;
3919
3920 /// @private
3921 void _iceD_enableServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3922
3923 /// Checks if the server is enabled or disabled.
3924 /// @param id The server ID.
3925 /// @param current The Current object of the incoming request.
3926 /// @return `true` if the server is enabled, `false` otherwise.
3927 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
3928 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3929 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3930 [[nodiscard]] virtual bool isServerEnabled(std::string id, const Ice::Current& current) const = 0;
3931
3932 /// @private
3933 void _iceD_isServerEnabled(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3934
3935 /// Starts a server and waits for its activation.
3936 /// @param id The server id.
3937 /// @param response The response callback.
3938 /// @param exception The exception callback.
3939 /// @param current The Current object of the incoming request.
3940 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
3941 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3942 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3943 /// @throws IceGrid::ServerStartException Thrown when the server startup failed.
3944 virtual void startServerAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
3945
3946 /// @private
3947 void _iceD_startServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3948
3949 /// Stops a server.
3950 /// @param id The server ID.
3951 /// @param response The response callback.
3952 /// @param exception The exception callback.
3953 /// @param current The Current object of the incoming request.
3954 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
3955 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3956 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3957 /// @throws IceGrid::ServerStopException Thrown when the server stop failed.
3958 virtual void stopServerAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
3959
3960 /// @private
3961 void _iceD_stopServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3962
3963 /// Sends a signal to a server.
3964 /// @param id The server ID.
3965 /// @param signal The signal, for example SIGTERM or 15.
3966 /// @param current The Current object of the incoming request.
3967 /// @throws IceGrid::BadSignalException Thrown when the signal is not recognized by the target server.
3968 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
3969 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3970 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3971 virtual void sendSignal(std::string id, std::string signal, const Ice::Current& current) = 0;
3972
3973 /// @private
3974 void _iceD_sendSignal(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
3975
3976 /// Gets the IDs of all the servers registered with IceGrid.
3977 /// @param current The Current object of the incoming request.
3978 /// @return The server IDs.
3979 [[nodiscard]] virtual ::Ice::StringSeq getAllServerIds(const Ice::Current& current) const = 0;
3980
3981 /// @private
3982 void _iceD_getAllServerIds(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3983
3984 /// Gets adapter information for the replica group or adapter with the given ID.
3985 /// @param id The adapter or replica group ID.
3986 /// @param current The Current object of the incoming request.
3987 /// @return A sequence of AdapterInfo. If @p id refers to an adapter, this sequence contains a single element.
3988 /// If @p id refers to a replica group, this sequence contains adapter information for each member of the
3989 /// replica group.
3990 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter or replica group doesn't exist.
3991 [[nodiscard]] virtual AdapterInfoSeq getAdapterInfo(std::string id, const Ice::Current& current) const = 0;
3992
3993 /// @private
3994 void _iceD_getAdapterInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
3995
3996 /// Removes the adapter with the given ID.
3997 /// @param id The adapter ID.
3998 /// @param current The Current object of the incoming request.
3999 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter doesn't exist.
4000 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4001 virtual void removeAdapter(std::string id, const Ice::Current& current) = 0;
4002
4003 /// @private
4004 void _iceD_removeAdapter(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4005
4006 /// Gets the IDs of all adapters registered with IceGrid.
4007 /// @param current The Current object of the incoming request.
4008 /// @return The adapter IDs.
4009 [[nodiscard]] virtual ::Ice::StringSeq getAllAdapterIds(const Ice::Current& current) const = 0;
4010
4011 /// @private
4012 void _iceD_getAllAdapterIds(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4013
4014 /// Adds an object to the object registry. IceGrid gets the object type by calling `ice_id` on @p obj. The
4015 /// object must be reachable.
4016 /// @param obj A proxy to the object. This proxy is never null.
4017 /// @param current The Current object of the incoming request.
4018 /// @throws IceGrid::DeploymentException Thrown when the object can't be added.
4019 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
4020 virtual void addObject(std::optional<Ice::ObjectPrx> obj, const Ice::Current& current) = 0;
4021
4022 /// @private
4023 void _iceD_addObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4024
4025 /// Updates an object in the object registry. Only objects added with this interface can be updated with this
4026 /// operation. Objects added with deployment descriptors should be updated with the deployment mechanism.
4027 /// @param obj A proxy to the object. This proxy is never null.
4028 /// @param current The Current object of the incoming request.
4029 /// @throws IceGrid::DeploymentException Thrown when the object can't be updated.
4030 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
4031 virtual void updateObject(std::optional<Ice::ObjectPrx> obj, const Ice::Current& current) = 0;
4032
4033 /// @private
4034 void _iceD_updateObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4035
4036 /// Adds an object to the object registry and explicitly specifies its type.
4037 /// @param obj The object to be added to the registry. The proxy is never null.
4038 /// @param type The type name.
4039 /// @param current The Current object of the incoming request.
4040 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4041 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
4042 virtual void addObjectWithType(std::optional<Ice::ObjectPrx> obj, std::string type, const Ice::Current& current) = 0;
4043
4044 /// @private
4045 void _iceD_addObjectWithType(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4046
4047 /// Removes an object from the object registry. Only objects added with this interface can be removed with this
4048 /// operation. Objects added with deployment descriptors should be removed with the deployment mechanism.
4049 /// @param id The identity of the object to remove.
4050 /// @param current The Current object of the incoming request.
4051 /// @throws IceGrid::DeploymentException Thrown when the object can't be removed.
4052 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
4053 virtual void removeObject(::Ice::Identity id, const Ice::Current& current) = 0;
4054
4055 /// @private
4056 void _iceD_removeObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4057
4058 /// Gets the object info for the object.
4059 /// @param id The identity of the object.
4060 /// @param current The Current object of the incoming request.
4061 /// @return The object info.
4062 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
4063 [[nodiscard]] virtual ObjectInfo getObjectInfo(::Ice::Identity id, const Ice::Current& current) const = 0;
4064
4065 /// @private
4066 void _iceD_getObjectInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4067
4068 /// Gets the object info of all the registered objects with a given type.
4069 /// @param type The type name.
4070 /// @param current The Current object of the incoming request.
4071 /// @return The object infos.
4072 [[nodiscard]] virtual ObjectInfoSeq getObjectInfosByType(std::string type, const Ice::Current& current) const = 0;
4073
4074 /// @private
4075 void _iceD_getObjectInfosByType(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4076
4077 /// Gets the object info of all the registered objects whose stringified identities match the given expression.
4078 /// @param expr The expression to match against the stringified identities of registered objects. The expression
4079 /// may contain a trailing wildcard (`*`) character.
4080 /// @param current The Current object of the incoming request.
4081 /// @return All the object infos with a stringified identity matching the given expression.
4082 [[nodiscard]] virtual ObjectInfoSeq getAllObjectInfos(std::string expr, const Ice::Current& current) const = 0;
4083
4084 /// @private
4085 void _iceD_getAllObjectInfos(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4086
4087 /// Pings an IceGrid node to see if it is active.
4088 /// @param name The node name.
4089 /// @param current The Current object of the incoming request.
4090 /// @return `true` if the node ping succeeded, `false` otherwise.
4091 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4092 [[nodiscard]] virtual bool pingNode(std::string name, const Ice::Current& current) const = 0;
4093
4094 /// @private
4095 void _iceD_pingNode(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4096
4097 /// Gets the load averages of a node.
4098 /// @param name The node name.
4099 /// @param current The Current object of the incoming request.
4100 /// @return The node load information.
4101 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4102 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4103 [[nodiscard]] virtual LoadInfo getNodeLoad(std::string name, const Ice::Current& current) const = 0;
4104
4105 /// @private
4106 void _iceD_getNodeLoad(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4107
4108 /// Gets the node information of a node.
4109 /// @param name The node name.
4110 /// @param current The Current object of the incoming request.
4111 /// @return The node information.
4112 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4113 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4114 [[nodiscard]] virtual NodeInfo getNodeInfo(std::string name, const Ice::Current& current) const = 0;
4115
4116 /// @private
4117 void _iceD_getNodeInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4118
4119 /// Gets a proxy to the admin object of an IceGrid node.
4120 /// @param name The IceGrid node name.
4121 /// @param current The Current object of the incoming request.
4122 /// @return A proxy to the IceGrid node's admin object. This proxy is never null.
4123 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4124 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4125 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> getNodeAdmin(std::string name, const Ice::Current& current) const = 0;
4126
4127 /// @private
4128 void _iceD_getNodeAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4129
4130 /// Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
4131 /// Note that this operation returns 1 on operating systems where this can't be automatically determined and
4132 /// where the `IceGrid.Node.ProcessorSocketCount` property for the node is not set.
4133 /// @param name The node name.
4134 /// @param current The Current object of the incoming request.
4135 /// @return The number of processor sockets or 1 if the number of sockets can't be determined.
4136 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4137 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4138 [[nodiscard]] virtual std::int32_t getNodeProcessorSocketCount(std::string name, const Ice::Current& current) const = 0;
4139
4140 /// @private
4141 void _iceD_getNodeProcessorSocketCount(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4142
4143 /// Shuts down an IceGrid node.
4144 /// @param name The node name.
4145 /// @param current The Current object of the incoming request.
4146 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4147 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4148 virtual void shutdownNode(std::string name, const Ice::Current& current) = 0;
4149
4150 /// @private
4151 void _iceD_shutdownNode(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4152
4153 /// Get the hostname of a node.
4154 /// @param name The node name.
4155 /// @param current The Current object of the incoming request.
4156 /// @return The node hostname.
4157 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4158 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4159 [[nodiscard]] virtual std::string getNodeHostname(std::string name, const Ice::Current& current) const = 0;
4160
4161 /// @private
4162 void _iceD_getNodeHostname(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4163
4164 /// Gets the names of all IceGrid nodes currently registered.
4165 /// @param current The Current object of the incoming request.
4166 /// @return The node names.
4167 [[nodiscard]] virtual ::Ice::StringSeq getAllNodeNames(const Ice::Current& current) const = 0;
4168
4169 /// @private
4170 void _iceD_getAllNodeNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4171
4172 /// Pings an IceGrid registry to see if it is active.
4173 /// @param name The registry name.
4174 /// @param current The Current object of the incoming request.
4175 /// @return `true` if the registry ping succeeded, `false` otherwise.
4176 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
4177 [[nodiscard]] virtual bool pingRegistry(std::string name, const Ice::Current& current) const = 0;
4178
4179 /// @private
4180 void _iceD_pingRegistry(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4181
4182 /// Gets the registry information of an IceGrid registry.
4183 /// @param name The registry name.
4184 /// @param current The Current object of the incoming request.
4185 /// @return The registry information.
4186 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
4187 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
4188 [[nodiscard]] virtual RegistryInfo getRegistryInfo(std::string name, const Ice::Current& current) const = 0;
4189
4190 /// @private
4191 void _iceD_getRegistryInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4192
4193 /// Gets a proxy to the admin object of an IceGrid registry.
4194 /// @param name The registry name.
4195 /// @param current The Current object of the incoming request.
4196 /// @return A proxy to the admin object of an IceGrid registry. This proxy is never null.
4197 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
4198 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> getRegistryAdmin(std::string name, const Ice::Current& current) const = 0;
4199
4200 /// @private
4201 void _iceD_getRegistryAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4202
4203 /// Shuts down an IceGrid registry.
4204 /// @param name The registry name.
4205 /// @param current The Current object of the incoming request.
4206 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
4207 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
4208 virtual void shutdownRegistry(std::string name, const Ice::Current& current) = 0;
4209
4210 /// @private
4211 void _iceD_shutdownRegistry(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4212
4213 /// Gets the names of all the IceGrid registries currently registered.
4214 /// @param current The Current object of the incoming request.
4215 /// @return The registry names.
4216 [[nodiscard]] virtual ::Ice::StringSeq getAllRegistryNames(const Ice::Current& current) const = 0;
4217
4218 /// @private
4219 void _iceD_getAllRegistryNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4220
4221 /// Shuts down the IceGrid registry.
4222 /// @param current The Current object of the incoming request.
4223 virtual void shutdown(const Ice::Current& current) = 0;
4224
4225 /// @private
4226 void _iceD_shutdown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4227
4228 /// Gets the type ID of the associated Slice interface.
4229 /// @return The string `"::IceGrid::Admin"`.
4230 static const char* ice_staticId() noexcept;
4231 };
4232
4233 /// A shared pointer to an Admin.
4234 using AdminPtr = std::shared_ptr<Admin>;
4235
4236 /// Iterates over an IceGrid log file.
4237 /// @headerfile IceGrid/IceGrid.h
4238 class ICEGRID_API FileIterator : public virtual Ice::Object
4239 {
4240 public:
4241 /// The associated proxy type.
4242 using ProxyType = FileIteratorPrx;
4243
4244 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
4245 /// @param request The incoming request.
4246 /// @param sendResponse The callback to send the response.
4247 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
4248
4249 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
4250
4251 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
4252
4253 /// Read lines from the log file.
4254 /// @param size Specifies the maximum number of bytes to be received. The server will ensure that the returned
4255 /// message doesn't exceed the given size.
4256 /// @param[out] lines The lines read from the file. If there was nothing to read from the file since the last call to
4257 /// read, an empty sequence is returned. The last line of the sequence is always incomplete (and therefore no
4258 /// newline character should be added when writing the last line to the to the output device).
4259 /// @param current The Current object of the incoming request.
4260 /// @return `true` if EOF is encountered.
4261 /// @throws IceGrid::FileNotAvailableException Thrown when the implementation failed to read from the file.
4262 virtual bool read(std::int32_t size, ::Ice::StringSeq& lines, const Ice::Current& current) = 0;
4263
4264 /// @private
4265 void _iceD_read(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4266
4267 /// Destroys the iterator.
4268 /// @param current The Current object of the incoming request.
4269 virtual void destroy(const Ice::Current& current) = 0;
4270
4271 /// @private
4272 void _iceD_destroy(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4273
4274 /// Gets the type ID of the associated Slice interface.
4275 /// @return The string `"::IceGrid::FileIterator"`.
4276 static const char* ice_staticId() noexcept;
4277 };
4278
4279 /// A shared pointer to a FileIterator.
4280 using FileIteratorPtr = std::shared_ptr<FileIterator>;
4281
4282 /// Monitors changes to the state of the registries.
4283 /// @headerfile IceGrid/IceGrid.h
4284 class ICEGRID_API RegistryObserver : public virtual Ice::Object
4285 {
4286 public:
4287 /// The associated proxy type.
4289
4290 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
4291 /// @param request The incoming request.
4292 /// @param sendResponse The callback to send the response.
4293 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
4294
4295 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
4296
4297 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
4298
4299 /// Provides the initial state of the registries to the observer.
4300 /// @param registries The current state of the registries.
4301 /// @param current The Current object of the incoming request.
4302 virtual void registryInit(RegistryInfoSeq registries, const Ice::Current& current) = 0;
4303
4304 /// @private
4305 void _iceD_registryInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4306
4307 /// Notifies the observer that a registry replica came up.
4308 /// @param registryReplica The registry state.
4309 /// @param current The Current object of the incoming request.
4310 virtual void registryUp(RegistryInfo registryReplica, const Ice::Current& current) = 0;
4311
4312 /// @private
4313 void _iceD_registryUp(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4314
4315 /// Notifies the observer that a registry replica went down.
4316 /// @param name The registry name.
4317 /// @param current The Current object of the incoming request.
4318 virtual void registryDown(std::string name, const Ice::Current& current) = 0;
4319
4320 /// @private
4321 void _iceD_registryDown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4322
4323 /// Gets the type ID of the associated Slice interface.
4324 /// @return The string `"::IceGrid::RegistryObserver"`.
4325 static const char* ice_staticId() noexcept;
4326 };
4327
4328 /// A shared pointer to a RegistryObserver.
4329 using RegistryObserverPtr = std::shared_ptr<RegistryObserver>;
4330
4331 /// Monitors changes to the state of the nodes.
4332 /// @headerfile IceGrid/IceGrid.h
4333 class ICEGRID_API NodeObserver : public virtual Ice::Object
4334 {
4335 public:
4336 /// The associated proxy type.
4338
4339 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
4340 /// @param request The incoming request.
4341 /// @param sendResponse The callback to send the response.
4342 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
4343
4344 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
4345
4346 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
4347
4348 /// Provides the initial state of the nodes to the observer.
4349 /// @param nodes The current state of the nodes.
4350 /// @param current The Current object of the incoming request.
4351 virtual void nodeInit(NodeDynamicInfoSeq nodes, const Ice::Current& current) = 0;
4352
4353 /// @private
4354 void _iceD_nodeInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4355
4356 /// Notifies the observer that a node came up.
4357 /// @param node The node state.
4358 /// @param current The Current object of the incoming request.
4359 virtual void nodeUp(NodeDynamicInfo node, const Ice::Current& current) = 0;
4360
4361 /// @private
4362 void _iceD_nodeUp(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4363
4364 /// Notifies the observer that a node went down.
4365 /// @param name The node name.
4366 /// @param current The Current object of the incoming request.
4367 virtual void nodeDown(std::string name, const Ice::Current& current) = 0;
4368
4369 /// @private
4370 void _iceD_nodeDown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4371
4372 /// Notifies the observer that the state of a server changed.
4373 /// @param node The node hosting the server.
4374 /// @param updatedInfo The new server state.
4375 /// @param current The Current object of the incoming request.
4376 virtual void updateServer(std::string node, ServerDynamicInfo updatedInfo, const Ice::Current& current) = 0;
4377
4378 /// @private
4379 void _iceD_updateServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4380
4381 /// Notifies the observer that the state of an object adapter changed.
4382 /// @param node The node hosting the adapter.
4383 /// @param updatedInfo The new adapter state.
4384 /// @param current The Current object of the incoming request.
4385 virtual void updateAdapter(std::string node, AdapterDynamicInfo updatedInfo, const Ice::Current& current) = 0;
4386
4387 /// @private
4388 void _iceD_updateAdapter(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4389
4390 /// Gets the type ID of the associated Slice interface.
4391 /// @return The string `"::IceGrid::NodeObserver"`.
4392 static const char* ice_staticId() noexcept;
4393 };
4394
4395 /// A shared pointer to a NodeObserver.
4396 using NodeObserverPtr = std::shared_ptr<NodeObserver>;
4397
4398 /// Monitors applications.
4399 /// @headerfile IceGrid/IceGrid.h
4400 class ICEGRID_API ApplicationObserver : public virtual Ice::Object
4401 {
4402 public:
4403 /// The associated proxy type.
4405
4406 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
4407 /// @param request The incoming request.
4408 /// @param sendResponse The callback to send the response.
4409 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
4410
4411 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
4412
4413 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
4414
4415 /// Provides the initial application infos to the observer.
4416 /// @param serial The current serial number of the registry database. This serial number allows observers to
4417 /// make sure that their internal state is synchronized with the registry.
4418 /// @param applications The applications currently registered with the registry.
4419 /// @param current The Current object of the incoming request.
4420 virtual void applicationInit(std::int32_t serial, ApplicationInfoSeq applications, const Ice::Current& current) = 0;
4421
4422 /// @private
4423 void _iceD_applicationInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4424
4425 /// Notifies the observer that an application was added.
4426 /// @param serial The new serial number of the registry database.
4427 /// @param desc The descriptor of the new application.
4428 /// @param current The Current object of the incoming request.
4429 virtual void applicationAdded(std::int32_t serial, ApplicationInfo desc, const Ice::Current& current) = 0;
4430
4431 /// @private
4432 void _iceD_applicationAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4433
4434 /// Notifies the observer that an application was removed.
4435 /// @param serial The new serial number of the registry database.
4436 /// @param name The name of the application that was removed.
4437 /// @param current The Current object of the incoming request.
4438 virtual void applicationRemoved(std::int32_t serial, std::string name, const Ice::Current& current) = 0;
4439
4440 /// @private
4441 void _iceD_applicationRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4442
4443 /// Notifies the observer that an application was updated.
4444 /// @param serial The new serial number of the registry database.
4445 /// @param desc The descriptor of the update.
4446 /// @param current The Current object of the incoming request.
4447 virtual void applicationUpdated(std::int32_t serial, ApplicationUpdateInfo desc, const Ice::Current& current) = 0;
4448
4449 /// @private
4450 void _iceD_applicationUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4451
4452 /// Gets the type ID of the associated Slice interface.
4453 /// @return The string `"::IceGrid::ApplicationObserver"`.
4454 static const char* ice_staticId() noexcept;
4455 };
4456
4457 /// A shared pointer to an ApplicationObserver.
4459
4460 /// Monitors dynamically-registered object adapters.
4461 /// @headerfile IceGrid/IceGrid.h
4462 class ICEGRID_API AdapterObserver : public virtual Ice::Object
4463 {
4464 public:
4465 /// The associated proxy type.
4467
4468 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
4469 /// @param request The incoming request.
4470 /// @param sendResponse The callback to send the response.
4471 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
4472
4473 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
4474
4475 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
4476
4477 /// Provides the initial list of dynamically registered adapters to the observer.
4478 /// @param adpts The adapters that were dynamically registered with the registry.
4479 /// @param current The Current object of the incoming request.
4480 virtual void adapterInit(AdapterInfoSeq adpts, const Ice::Current& current) = 0;
4481
4482 /// @private
4483 void _iceD_adapterInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4484
4485 /// Notifies the observer that a dynamically-registered adapter was added.
4486 /// @param info The details of the new adapter.
4487 /// @param current The Current object of the incoming request.
4488 virtual void adapterAdded(AdapterInfo info, const Ice::Current& current) = 0;
4489
4490 /// @private
4491 void _iceD_adapterAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4492
4493 /// @param info The details of the updated adapter.
4494 /// @param current The Current object of the incoming request.
4495 virtual void adapterUpdated(AdapterInfo info, const Ice::Current& current) = 0;
4496
4497 /// @private
4498 void _iceD_adapterUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4499
4500 /// Notifies the observer that a dynamically-registered adapter was removed.
4501 /// @param id The ID of the removed adapter.
4502 /// @param current The Current object of the incoming request.
4503 virtual void adapterRemoved(std::string id, const Ice::Current& current) = 0;
4504
4505 /// @private
4506 void _iceD_adapterRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4507
4508 /// Gets the type ID of the associated Slice interface.
4509 /// @return The string `"::IceGrid::AdapterObserver"`.
4510 static const char* ice_staticId() noexcept;
4511 };
4512
4513 /// A shared pointer to an AdapterObserver.
4514 using AdapterObserverPtr = std::shared_ptr<AdapterObserver>;
4515
4516 /// Monitors well-known objects that are added, updated or removed using AdminPrx.
4517 /// @headerfile IceGrid/IceGrid.h
4518 class ICEGRID_API ObjectObserver : public virtual Ice::Object
4519 {
4520 public:
4521 /// The associated proxy type.
4523
4524 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
4525 /// @param request The incoming request.
4526 /// @param sendResponse The callback to send the response.
4527 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
4528
4529 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
4530
4531 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
4532
4533 /// Provides the initial list of well-known objects to the observer.
4534 /// @param objects The well-known objects registered using ::IceGrid::AdminPrx.
4535 /// @param current The Current object of the incoming request.
4536 virtual void objectInit(ObjectInfoSeq objects, const Ice::Current& current) = 0;
4537
4538 /// @private
4539 void _iceD_objectInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4540
4541 /// Notifies the observer that a well-known object was added.
4542 /// @param info The details of the new object.
4543 /// @param current The Current object of the incoming request.
4544 virtual void objectAdded(ObjectInfo info, const Ice::Current& current) = 0;
4545
4546 /// @private
4547 void _iceD_objectAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4548
4549 /// Notifies the observer that a well-known object was updated.
4550 /// @param info The details of the updated object.
4551 /// @param current The Current object of the incoming request.
4552 virtual void objectUpdated(ObjectInfo info, const Ice::Current& current) = 0;
4553
4554 /// @private
4555 void _iceD_objectUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4556
4557 /// Notifies the observer that a well-known object was removed.
4558 /// @param id The identity of the removed object.
4559 /// @param current The Current object of the incoming request.
4560 virtual void objectRemoved(::Ice::Identity id, const Ice::Current& current) = 0;
4561
4562 /// @private
4563 void _iceD_objectRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4564
4565 /// Gets the type ID of the associated Slice interface.
4566 /// @return The string `"::IceGrid::ObjectObserver"`.
4567 static const char* ice_staticId() noexcept;
4568 };
4569
4570 /// A shared pointer to an ObjectObserver.
4571 using ObjectObserverPtr = std::shared_ptr<ObjectObserver>;
4572
4573 /// Represents an administrative session between an admin tool and an IceGrid registry.
4574 /// @see RegistryPrx
4575 /// @headerfile IceGrid/IceGrid.h
4576 class ICEGRID_API AdminSession : public virtual ::Glacier2::Session
4577 {
4578 public:
4579 /// The associated proxy type.
4580 using ProxyType = AdminSessionPrx;
4581
4582 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
4583 /// @param request The incoming request.
4584 /// @param sendResponse The callback to send the response.
4585 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
4586
4587 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
4588
4589 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
4590
4591 /// Keeps the session alive.
4592 /// @param current The Current object of the incoming request.
4593 virtual void keepAlive(const Ice::Current& current) = 0;
4594
4595 /// @private
4596 void _iceD_keepAlive(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4597
4598 /// Gets a proxy to the IceGrid admin object. The admin object returned by this operation can only be accessed
4599 /// by the session.
4600 /// @param current The Current object of the incoming request.
4601 /// @return A proxy to the IceGrid admin object. This proxy is never null.
4602 [[nodiscard]] virtual std::optional<AdminPrx> getAdmin(const Ice::Current& current) const = 0;
4603
4604 /// @private
4605 void _iceD_getAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4606
4607 /// Gets a "template" proxy for admin callback objects. An Admin client uses this proxy to set the category of
4608 /// its callback objects, and the published endpoints of the object adapter hosting the admin callback objects.
4609 /// @param current The Current object of the incoming request.
4610 /// @return A template proxy. The returned proxy is null when the Admin session was established using Glacier2.
4611 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> getAdminCallbackTemplate(const Ice::Current& current) const = 0;
4612
4613 /// @private
4614 void _iceD_getAdminCallbackTemplate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4615
4616 /// Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
4617 /// @param registryObs The registry observer.
4618 /// @param nodeObs The node observer.
4619 /// @param appObs The application observer.
4620 /// @param adptObs The adapter observer.
4621 /// @param objObs The object observer.
4622 /// @param current The Current object of the incoming request.
4623 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
4624 virtual void setObservers(std::optional<RegistryObserverPrx> registryObs, std::optional<NodeObserverPrx> nodeObs, std::optional<ApplicationObserverPrx> appObs, std::optional<AdapterObserverPrx> adptObs, std::optional<ObjectObserverPrx> objObs, const Ice::Current& current) = 0;
4625
4626 /// @private
4627 void _iceD_setObservers(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4628
4629 /// Sets the observer identities that receive notifications when the state of the registry or nodes changes.
4630 /// This operation should be used by clients that are using a bidirectional connection to communicate with the
4631 /// session.
4632 /// @param registryObs The registry observer identity.
4633 /// @param nodeObs The node observer identity.
4634 /// @param appObs The application observer.
4635 /// @param adptObs The adapter observer.
4636 /// @param objObs The object observer.
4637 /// @param current The Current object of the incoming request.
4638 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
4639 virtual void setObserversByIdentity(::Ice::Identity registryObs, ::Ice::Identity nodeObs, ::Ice::Identity appObs, ::Ice::Identity adptObs, ::Ice::Identity objObs, const Ice::Current& current) = 0;
4640
4641 /// @private
4642 void _iceD_setObserversByIdentity(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4643
4644 /// Acquires an exclusive lock to start updating the registry applications.
4645 /// @param current The Current object of the incoming request.
4646 /// @return The current serial.
4647 /// @throws IceGrid::AccessDeniedException Thrown when the exclusive lock can't be acquired. This might happen if the
4648 /// lock is currently acquired by another session.
4649 virtual std::int32_t startUpdate(const Ice::Current& current) = 0;
4650
4651 /// @private
4652 void _iceD_startUpdate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4653
4654 /// Finishes updating the registry and releases the exclusive lock.
4655 /// @param current The Current object of the incoming request.
4656 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock.
4657 virtual void finishUpdate(const Ice::Current& current) = 0;
4658
4659 /// @private
4660 void _iceD_finishUpdate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4661
4662 /// Gets the name of the registry replica hosting this session.
4663 /// @param current The Current object of the incoming request.
4664 /// @return The replica name of the registry.
4665 [[nodiscard]] virtual std::string getReplicaName(const Ice::Current& current) const = 0;
4666
4667 /// @private
4668 void _iceD_getReplicaName(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4669
4670 /// Opens a server log file for reading.
4671 /// @param id The server ID.
4672 /// @param path The path of the log file. A log file can be opened only if it's declared in the server or
4673 /// service deployment descriptor.
4674 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
4675 /// Otherwise, the file is read from the last @p count lines.
4676 /// @param current The Current object of the incoming request.
4677 /// @return An iterator to read the file. This proxy is never null.
4678 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
4679 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
4680 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4681 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4682 virtual std::optional<FileIteratorPrx> openServerLog(std::string id, std::string path, std::int32_t count, const Ice::Current& current) = 0;
4683
4684 /// @private
4685 void _iceD_openServerLog(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4686
4687 /// Opens a server stderr file for reading.
4688 /// @param id The server ID.
4689 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
4690 /// Otherwise, the file is read from the last @p count lines.
4691 /// @param current The Current object of the incoming request.
4692 /// @return An iterator to read the file. This proxy is never null.
4693 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
4694 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
4695 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4696 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4697 virtual std::optional<FileIteratorPrx> openServerStdErr(std::string id, std::int32_t count, const Ice::Current& current) = 0;
4698
4699 /// @private
4700 void _iceD_openServerStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4701
4702 /// Opens a server stdout file for reading.
4703 /// @param id The server id.
4704 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
4705 /// Otherwise, the file is read from the last @p count lines.
4706 /// @param current The Current object of the incoming request.
4707 /// @return An iterator to read the file. This proxy is never null.
4708 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
4709 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
4710 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4711 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4712 virtual std::optional<FileIteratorPrx> openServerStdOut(std::string id, std::int32_t count, const Ice::Current& current) = 0;
4713
4714 /// @private
4715 void _iceD_openServerStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4716
4717 /// Opens a node stderr file for reading.
4718 /// @param name The node name.
4719 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
4720 /// Otherwise, the file is read from the last @p count lines.
4721 /// @param current The Current object of the incoming request.
4722 /// @return An iterator to read the file. This proxy is never null.
4723 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
4724 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4725 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4726 virtual std::optional<FileIteratorPrx> openNodeStdErr(std::string name, std::int32_t count, const Ice::Current& current) = 0;
4727
4728 /// @private
4729 void _iceD_openNodeStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4730
4731 /// Opens a node stdout file for reading.
4732 /// @param name The node name.
4733 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
4734 /// Otherwise, the file is read from the last @p count lines.
4735 /// @param current The Current object of the incoming request.
4736 /// @return An iterator to read the file. This proxy is never null.
4737 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
4738 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4739 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4740 virtual std::optional<FileIteratorPrx> openNodeStdOut(std::string name, std::int32_t count, const Ice::Current& current) = 0;
4741
4742 /// @private
4743 void _iceD_openNodeStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4744
4745 /// Opens a registry stderr file for reading.
4746 /// @param name The registry name.
4747 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
4748 /// Otherwise, the file is read from the last @p count lines.
4749 /// @param current The Current object of the incoming request.
4750 /// @return An iterator to read the file. This proxy is never null.
4751 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
4752 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
4753 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
4754 virtual std::optional<FileIteratorPrx> openRegistryStdErr(std::string name, std::int32_t count, const Ice::Current& current) = 0;
4755
4756 /// @private
4757 void _iceD_openRegistryStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4758
4759 /// Opens a registry stdout file for reading.
4760 /// @param name The registry name.
4761 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
4762 /// Otherwise, the file is read from the last @p count lines.
4763 /// @param current The Current object of the incoming request.
4764 /// @return An iterator to read the file. This proxy is never null.
4765 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
4766 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
4767 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
4768 virtual std::optional<FileIteratorPrx> openRegistryStdOut(std::string name, std::int32_t count, const Ice::Current& current) = 0;
4769
4770 /// @private
4771 void _iceD_openRegistryStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4772
4773 /// Gets the type ID of the associated Slice interface.
4774 /// @return The string `"::IceGrid::AdminSession"`.
4775 static const char* ice_staticId() noexcept;
4776 };
4777
4778 /// A shared pointer to an AdminSession.
4779 using AdminSessionPtr = std::shared_ptr<AdminSession>;
4780}
4781
4782namespace IceGrid
4783{
4784 /// Provides administrative access to an IceGrid deployment.
4785 /// @headerfile IceGrid/IceGrid.h
4786 class ICEGRID_API AsyncAdmin : public virtual Ice::Object
4787 {
4788 public:
4789 /// The associated proxy type.
4791
4792 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
4793 /// @param request The incoming request.
4794 /// @param sendResponse The callback to send the response.
4795 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
4796
4797 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
4798
4799 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
4800
4801 /// Adds an application to IceGrid.
4802 /// @param descriptor The application descriptor.
4803 /// @param response The response callback.
4804 /// @param exception The exception callback.
4805 /// @param current The Current object of the incoming request.
4806 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4807 /// session is holding the lock.
4808 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4809 virtual void addApplicationAsync(ApplicationDescriptor descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
4810
4811 /// @private
4812 void _iceD_addApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4813
4814 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor.
4815 /// @param descriptor The new application descriptor.
4816 /// @param response The response callback.
4817 /// @param exception The exception callback.
4818 /// @param current The Current object of the incoming request.
4819 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4820 /// session is holding the lock.
4821 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4822 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4823 virtual void syncApplicationAsync(ApplicationDescriptor descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
4824
4825 /// @private
4826 void _iceD_syncApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4827
4828 /// Updates a deployed application.
4829 /// @param descriptor The update descriptor.
4830 /// @param response The response callback.
4831 /// @param exception The exception callback.
4832 /// @param current The Current object of the incoming request.
4833 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4834 /// session is holding the lock.
4835 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4836 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4837 virtual void updateApplicationAsync(ApplicationUpdateDescriptor descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
4838
4839 /// @private
4840 void _iceD_updateApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4841
4842 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor
4843 /// only if no server restarts are necessary for the update of the application. If some servers need to be
4844 /// restarted, the synchronization is rejected with a DeploymentException.
4845 /// @param descriptor The application descriptor.
4846 /// @param response The response callback.
4847 /// @param exception The exception callback.
4848 /// @param current The Current object of the incoming request.
4849 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4850 /// session is holding the lock.
4851 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4852 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4853 virtual void syncApplicationWithoutRestartAsync(ApplicationDescriptor descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
4854
4855 /// @private
4856 void _iceD_syncApplicationWithoutRestart(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4857
4858 /// Updates a deployed application. This operation succeeds only when no server restarts are necessary for the
4859 /// update of the application. If some servers need to be restarted, the synchronization is rejected with a
4860 /// DeploymentException.
4861 /// @param descriptor The update descriptor.
4862 /// @param response The response callback.
4863 /// @param exception The exception callback.
4864 /// @param current The Current object of the incoming request.
4865 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4866 /// session is holding the lock.
4867 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4868 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4869 virtual void updateApplicationWithoutRestartAsync(ApplicationUpdateDescriptor descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
4870
4871 /// @private
4872 void _iceD_updateApplicationWithoutRestart(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4873
4874 /// Removes an application from IceGrid.
4875 /// @param name The application name.
4876 /// @param response The response callback.
4877 /// @param exception The exception callback.
4878 /// @param current The Current object of the incoming request.
4879 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4880 /// session is holding the lock.
4881 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4882 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4883 virtual void removeApplicationAsync(std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
4884
4885 /// @private
4886 void _iceD_removeApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4887
4888 /// Instantiates a server template.
4889 /// @param application The application name.
4890 /// @param node The name of the node where the server will be deployed.
4891 /// @param desc The descriptor of the server instance to deploy.
4892 /// @param response The response callback.
4893 /// @param exception The exception callback.
4894 /// @param current The Current object of the incoming request.
4895 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4896 /// session is holding the lock.
4897 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4898 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4899 virtual void instantiateServerAsync(std::string application, std::string node, ServerInstanceDescriptor desc, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
4900
4901 /// @private
4902 void _iceD_instantiateServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4903
4904 /// Gets an application descriptor.
4905 /// @param name The application name.
4906 /// @param response The response callback. It accepts:
4907 /// - The application descriptor.
4908 /// @param exception The exception callback.
4909 /// @param current The Current object of the incoming request.
4910 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4911 virtual void getApplicationInfoAsync(std::string name, std::function<void(const ApplicationInfo& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
4912
4913 /// @private
4914 void _iceD_getApplicationInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4915
4916 /// Gets the default application descriptor.
4917 /// @param response The response callback. It accepts:
4918 /// - The default application descriptor.
4919 /// @param exception The exception callback.
4920 /// @param current The Current object of the incoming request.
4921 /// @throws IceGrid::DeploymentException Thrown when the default application descriptor is invalid or unreachable.
4922 virtual void getDefaultApplicationDescriptorAsync(std::function<void(const ApplicationDescriptor& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
4923
4924 /// @private
4925 void _iceD_getDefaultApplicationDescriptor(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4926
4927 /// Gets all the IceGrid applications currently registered.
4928 /// @param response The response callback. It accepts:
4929 /// - The application names.
4930 /// @param exception The exception callback.
4931 /// @param current The Current object of the incoming request.
4932 virtual void getAllApplicationNamesAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
4933
4934 /// @private
4935 void _iceD_getAllApplicationNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4936
4937 /// Gets information about a server.
4938 /// @param id The server ID.
4939 /// @param response The response callback. It accepts:
4940 /// - The server information.
4941 /// @param exception The exception callback.
4942 /// @param current The Current object of the incoming request.
4943 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4944 virtual void getServerInfoAsync(std::string id, std::function<void(const ServerInfo& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
4945
4946 /// @private
4947 void _iceD_getServerInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4948
4949 /// Gets the state of a server.
4950 /// @param id The server ID.
4951 /// @param response The response callback. It accepts:
4952 /// - The server state.
4953 /// @param exception The exception callback.
4954 /// @param current The Current object of the incoming request.
4955 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4956 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4957 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4958 virtual void getServerStateAsync(std::string id, std::function<void(ServerState returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
4959
4960 /// @private
4961 void _iceD_getServerState(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4962
4963 /// Gets the system process ID of a server. The process ID is operating system dependent.
4964 /// @param id The server ID.
4965 /// @param response The response callback. It accepts:
4966 /// - The process ID.
4967 /// @param exception The exception callback.
4968 /// @param current The Current object of the incoming request.
4969 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4970 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4971 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4972 virtual void getServerPidAsync(std::string id, std::function<void(std::int32_t returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
4973
4974 /// @private
4975 void _iceD_getServerPid(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4976
4977 /// Gets the category for server admin objects. You can manufacture a server admin proxy from the admin proxy by
4978 /// changing its identity: use the server ID as name and the returned category as category.
4979 /// @param response The response callback. It accepts:
4980 /// - The category for server admin objects.
4981 /// @param exception The exception callback.
4982 /// @param current The Current object of the incoming request.
4983 virtual void getServerAdminCategoryAsync(std::function<void(std::string_view returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
4984
4985 /// @private
4986 void _iceD_getServerAdminCategory(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4987
4988 /// Gets a proxy to the admin object of a server.
4989 /// @param id The server ID.
4990 /// @param response The response callback. It accepts:
4991 /// - A proxy to the admin object of the server. This proxy is never null.
4992 /// @param exception The exception callback.
4993 /// @param current The Current object of the incoming request.
4994 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4995 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4996 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4997 virtual void getServerAdminAsync(std::string id, std::function<void(const std::optional<Ice::ObjectPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
4998
4999 /// @private
5000 void _iceD_getServerAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5001
5002 /// Enables or disables a server. A disabled server can't be started on demand or administratively. The enable
5003 /// state of the server is not persistent: if the node is shut down and restarted, the server will be enabled by
5004 /// default.
5005 /// @param id The server ID.
5006 /// @param enabled `true` to enable the server, `false` to disable it.
5007 /// @param response The response callback.
5008 /// @param exception The exception callback.
5009 /// @param current The Current object of the incoming request.
5010 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5011 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5012 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5013 virtual void enableServerAsync(std::string id, bool enabled, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5014
5015 /// @private
5016 void _iceD_enableServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5017
5018 /// Checks if the server is enabled or disabled.
5019 /// @param id The server ID.
5020 /// @param response The response callback. It accepts:
5021 /// - `true` if the server is enabled, `false` otherwise.
5022 /// @param exception The exception callback.
5023 /// @param current The Current object of the incoming request.
5024 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5025 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5026 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5027 virtual void isServerEnabledAsync(std::string id, std::function<void(bool returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5028
5029 /// @private
5030 void _iceD_isServerEnabled(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5031
5032 /// Starts a server and waits for its activation.
5033 /// @param id The server id.
5034 /// @param response The response callback.
5035 /// @param exception The exception callback.
5036 /// @param current The Current object of the incoming request.
5037 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5038 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5039 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5040 /// @throws IceGrid::ServerStartException Thrown when the server startup failed.
5041 virtual void startServerAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5042
5043 /// @private
5044 void _iceD_startServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5045
5046 /// Stops a server.
5047 /// @param id The server ID.
5048 /// @param response The response callback.
5049 /// @param exception The exception callback.
5050 /// @param current The Current object of the incoming request.
5051 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5052 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5053 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5054 /// @throws IceGrid::ServerStopException Thrown when the server stop failed.
5055 virtual void stopServerAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5056
5057 /// @private
5058 void _iceD_stopServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5059
5060 /// Sends a signal to a server.
5061 /// @param id The server ID.
5062 /// @param signal The signal, for example SIGTERM or 15.
5063 /// @param response The response callback.
5064 /// @param exception The exception callback.
5065 /// @param current The Current object of the incoming request.
5066 /// @throws IceGrid::BadSignalException Thrown when the signal is not recognized by the target server.
5067 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5068 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5069 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5070 virtual void sendSignalAsync(std::string id, std::string signal, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5071
5072 /// @private
5073 void _iceD_sendSignal(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5074
5075 /// Gets the IDs of all the servers registered with IceGrid.
5076 /// @param response The response callback. It accepts:
5077 /// - The server IDs.
5078 /// @param exception The exception callback.
5079 /// @param current The Current object of the incoming request.
5080 virtual void getAllServerIdsAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5081
5082 /// @private
5083 void _iceD_getAllServerIds(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5084
5085 /// Gets adapter information for the replica group or adapter with the given ID.
5086 /// @param id The adapter or replica group ID.
5087 /// @param response The response callback. It accepts:
5088 /// - A sequence of AdapterInfo. If @p id refers to an adapter, this sequence contains a single element.
5089 /// If @p id refers to a replica group, this sequence contains adapter information for each member of the
5090 /// replica group.
5091 /// @param exception The exception callback.
5092 /// @param current The Current object of the incoming request.
5093 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter or replica group doesn't exist.
5094 virtual void getAdapterInfoAsync(std::string id, std::function<void(const AdapterInfoSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5095
5096 /// @private
5097 void _iceD_getAdapterInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5098
5099 /// Removes the adapter with the given ID.
5100 /// @param id The adapter ID.
5101 /// @param response The response callback.
5102 /// @param exception The exception callback.
5103 /// @param current The Current object of the incoming request.
5104 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter doesn't exist.
5105 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
5106 virtual void removeAdapterAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5107
5108 /// @private
5109 void _iceD_removeAdapter(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5110
5111 /// Gets the IDs of all adapters registered with IceGrid.
5112 /// @param response The response callback. It accepts:
5113 /// - The adapter IDs.
5114 /// @param exception The exception callback.
5115 /// @param current The Current object of the incoming request.
5116 virtual void getAllAdapterIdsAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5117
5118 /// @private
5119 void _iceD_getAllAdapterIds(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5120
5121 /// Adds an object to the object registry. IceGrid gets the object type by calling `ice_id` on @p obj. The
5122 /// object must be reachable.
5123 /// @param obj A proxy to the object. This proxy is never null.
5124 /// @param response The response callback.
5125 /// @param exception The exception callback.
5126 /// @param current The Current object of the incoming request.
5127 /// @throws IceGrid::DeploymentException Thrown when the object can't be added.
5128 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
5129 virtual void addObjectAsync(std::optional<Ice::ObjectPrx> obj, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5130
5131 /// @private
5132 void _iceD_addObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5133
5134 /// Updates an object in the object registry. Only objects added with this interface can be updated with this
5135 /// operation. Objects added with deployment descriptors should be updated with the deployment mechanism.
5136 /// @param obj A proxy to the object. This proxy is never null.
5137 /// @param response The response callback.
5138 /// @param exception The exception callback.
5139 /// @param current The Current object of the incoming request.
5140 /// @throws IceGrid::DeploymentException Thrown when the object can't be updated.
5141 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
5142 virtual void updateObjectAsync(std::optional<Ice::ObjectPrx> obj, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5143
5144 /// @private
5145 void _iceD_updateObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5146
5147 /// Adds an object to the object registry and explicitly specifies its type.
5148 /// @param obj The object to be added to the registry. The proxy is never null.
5149 /// @param type The type name.
5150 /// @param response The response callback.
5151 /// @param exception The exception callback.
5152 /// @param current The Current object of the incoming request.
5153 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
5154 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
5155 virtual void addObjectWithTypeAsync(std::optional<Ice::ObjectPrx> obj, std::string type, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5156
5157 /// @private
5158 void _iceD_addObjectWithType(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5159
5160 /// Removes an object from the object registry. Only objects added with this interface can be removed with this
5161 /// operation. Objects added with deployment descriptors should be removed with the deployment mechanism.
5162 /// @param id The identity of the object to remove.
5163 /// @param response The response callback.
5164 /// @param exception The exception callback.
5165 /// @param current The Current object of the incoming request.
5166 /// @throws IceGrid::DeploymentException Thrown when the object can't be removed.
5167 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
5168 virtual void removeObjectAsync(::Ice::Identity id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5169
5170 /// @private
5171 void _iceD_removeObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5172
5173 /// Gets the object info for the object.
5174 /// @param id The identity of the object.
5175 /// @param response The response callback. It accepts:
5176 /// - The object info.
5177 /// @param exception The exception callback.
5178 /// @param current The Current object of the incoming request.
5179 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
5180 virtual void getObjectInfoAsync(::Ice::Identity id, std::function<void(const ObjectInfo& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5181
5182 /// @private
5183 void _iceD_getObjectInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5184
5185 /// Gets the object info of all the registered objects with a given type.
5186 /// @param type The type name.
5187 /// @param response The response callback. It accepts:
5188 /// - The object infos.
5189 /// @param exception The exception callback.
5190 /// @param current The Current object of the incoming request.
5191 virtual void getObjectInfosByTypeAsync(std::string type, std::function<void(const ObjectInfoSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5192
5193 /// @private
5194 void _iceD_getObjectInfosByType(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5195
5196 /// Gets the object info of all the registered objects whose stringified identities match the given expression.
5197 /// @param expr The expression to match against the stringified identities of registered objects. The expression
5198 /// may contain a trailing wildcard (`*`) character.
5199 /// @param response The response callback. It accepts:
5200 /// - All the object infos with a stringified identity matching the given expression.
5201 /// @param exception The exception callback.
5202 /// @param current The Current object of the incoming request.
5203 virtual void getAllObjectInfosAsync(std::string expr, std::function<void(const ObjectInfoSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5204
5205 /// @private
5206 void _iceD_getAllObjectInfos(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5207
5208 /// Pings an IceGrid node to see if it is active.
5209 /// @param name The node name.
5210 /// @param response The response callback. It accepts:
5211 /// - `true` if the node ping succeeded, `false` otherwise.
5212 /// @param exception The exception callback.
5213 /// @param current The Current object of the incoming request.
5214 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5215 virtual void pingNodeAsync(std::string name, std::function<void(bool returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5216
5217 /// @private
5218 void _iceD_pingNode(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5219
5220 /// Gets the load averages of a node.
5221 /// @param name The node name.
5222 /// @param response The response callback. It accepts:
5223 /// - The node load information.
5224 /// @param exception The exception callback.
5225 /// @param current The Current object of the incoming request.
5226 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5227 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5228 virtual void getNodeLoadAsync(std::string name, std::function<void(const LoadInfo& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5229
5230 /// @private
5231 void _iceD_getNodeLoad(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5232
5233 /// Gets the node information of a node.
5234 /// @param name The node name.
5235 /// @param response The response callback. It accepts:
5236 /// - The node information.
5237 /// @param exception The exception callback.
5238 /// @param current The Current object of the incoming request.
5239 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5240 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5241 virtual void getNodeInfoAsync(std::string name, std::function<void(const NodeInfo& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5242
5243 /// @private
5244 void _iceD_getNodeInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5245
5246 /// Gets a proxy to the admin object of an IceGrid node.
5247 /// @param name The IceGrid node name.
5248 /// @param response The response callback. It accepts:
5249 /// - A proxy to the IceGrid node's admin object. This proxy is never null.
5250 /// @param exception The exception callback.
5251 /// @param current The Current object of the incoming request.
5252 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5253 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5254 virtual void getNodeAdminAsync(std::string name, std::function<void(const std::optional<Ice::ObjectPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5255
5256 /// @private
5257 void _iceD_getNodeAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5258
5259 /// Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
5260 /// Note that this operation returns 1 on operating systems where this can't be automatically determined and
5261 /// where the `IceGrid.Node.ProcessorSocketCount` property for the node is not set.
5262 /// @param name The node name.
5263 /// @param response The response callback. It accepts:
5264 /// - The number of processor sockets or 1 if the number of sockets can't be determined.
5265 /// @param exception The exception callback.
5266 /// @param current The Current object of the incoming request.
5267 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5268 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5269 virtual void getNodeProcessorSocketCountAsync(std::string name, std::function<void(std::int32_t returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5270
5271 /// @private
5272 void _iceD_getNodeProcessorSocketCount(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5273
5274 /// Shuts down an IceGrid node.
5275 /// @param name The node name.
5276 /// @param response The response callback.
5277 /// @param exception The exception callback.
5278 /// @param current The Current object of the incoming request.
5279 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5280 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5281 virtual void shutdownNodeAsync(std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5282
5283 /// @private
5284 void _iceD_shutdownNode(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5285
5286 /// Get the hostname of a node.
5287 /// @param name The node name.
5288 /// @param response The response callback. It accepts:
5289 /// - The node hostname.
5290 /// @param exception The exception callback.
5291 /// @param current The Current object of the incoming request.
5292 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5293 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5294 virtual void getNodeHostnameAsync(std::string name, std::function<void(std::string_view returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5295
5296 /// @private
5297 void _iceD_getNodeHostname(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5298
5299 /// Gets the names of all IceGrid nodes currently registered.
5300 /// @param response The response callback. It accepts:
5301 /// - The node names.
5302 /// @param exception The exception callback.
5303 /// @param current The Current object of the incoming request.
5304 virtual void getAllNodeNamesAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5305
5306 /// @private
5307 void _iceD_getAllNodeNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5308
5309 /// Pings an IceGrid registry to see if it is active.
5310 /// @param name The registry name.
5311 /// @param response The response callback. It accepts:
5312 /// - `true` if the registry ping succeeded, `false` otherwise.
5313 /// @param exception The exception callback.
5314 /// @param current The Current object of the incoming request.
5315 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5316 virtual void pingRegistryAsync(std::string name, std::function<void(bool returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5317
5318 /// @private
5319 void _iceD_pingRegistry(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5320
5321 /// Gets the registry information of an IceGrid registry.
5322 /// @param name The registry name.
5323 /// @param response The response callback. It accepts:
5324 /// - The registry information.
5325 /// @param exception The exception callback.
5326 /// @param current The Current object of the incoming request.
5327 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5328 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
5329 virtual void getRegistryInfoAsync(std::string name, std::function<void(const RegistryInfo& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5330
5331 /// @private
5332 void _iceD_getRegistryInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5333
5334 /// Gets a proxy to the admin object of an IceGrid registry.
5335 /// @param name The registry name.
5336 /// @param response The response callback. It accepts:
5337 /// - A proxy to the admin object of an IceGrid registry. This proxy is never null.
5338 /// @param exception The exception callback.
5339 /// @param current The Current object of the incoming request.
5340 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5341 virtual void getRegistryAdminAsync(std::string name, std::function<void(const std::optional<Ice::ObjectPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5342
5343 /// @private
5344 void _iceD_getRegistryAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5345
5346 /// Shuts down an IceGrid registry.
5347 /// @param name The registry name.
5348 /// @param response The response callback.
5349 /// @param exception The exception callback.
5350 /// @param current The Current object of the incoming request.
5351 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5352 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
5353 virtual void shutdownRegistryAsync(std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5354
5355 /// @private
5356 void _iceD_shutdownRegistry(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5357
5358 /// Gets the names of all the IceGrid registries currently registered.
5359 /// @param response The response callback. It accepts:
5360 /// - The registry names.
5361 /// @param exception The exception callback.
5362 /// @param current The Current object of the incoming request.
5363 virtual void getAllRegistryNamesAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5364
5365 /// @private
5366 void _iceD_getAllRegistryNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5367
5368 /// Shuts down the IceGrid registry.
5369 /// @param response The response callback.
5370 /// @param exception The exception callback.
5371 /// @param current The Current object of the incoming request.
5372 virtual void shutdownAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5373
5374 /// @private
5375 void _iceD_shutdown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5376
5377 /// Gets the type ID of the associated Slice interface.
5378 /// @return The string `"::IceGrid::Admin"`.
5379 static const char* ice_staticId() noexcept;
5380 };
5381
5382 /// A shared pointer to an AsyncAdmin.
5383 using AsyncAdminPtr = std::shared_ptr<AsyncAdmin>;
5384
5385 /// Iterates over an IceGrid log file.
5386 /// @headerfile IceGrid/IceGrid.h
5387 class ICEGRID_API AsyncFileIterator : public virtual Ice::Object
5388 {
5389 public:
5390 /// The associated proxy type.
5392
5393 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5394 /// @param request The incoming request.
5395 /// @param sendResponse The callback to send the response.
5396 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5397
5398 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5399
5400 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5401
5402 /// Read lines from the log file.
5403 /// @param size Specifies the maximum number of bytes to be received. The server will ensure that the returned
5404 /// message doesn't exceed the given size.
5405 /// @param response The response callback. It accepts:
5406 /// - `returnValue` `true` if EOF is encountered.
5407 /// - `lines` The lines read from the file. If there was nothing to read from the file since the last call to
5408 /// read, an empty sequence is returned. The last line of the sequence is always incomplete (and therefore no
5409 /// newline character should be added when writing the last line to the to the output device).
5410 /// @param exception The exception callback.
5411 /// @param current The Current object of the incoming request.
5412 /// @throws IceGrid::FileNotAvailableException Thrown when the implementation failed to read from the file.
5413 virtual void readAsync(std::int32_t size, std::function<void(bool returnValue, const ::Ice::StringSeq& lines)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5414
5415 /// @private
5416 void _iceD_read(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5417
5418 /// Destroys the iterator.
5419 /// @param response The response callback.
5420 /// @param exception The exception callback.
5421 /// @param current The Current object of the incoming request.
5422 virtual void destroyAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5423
5424 /// @private
5425 void _iceD_destroy(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5426
5427 /// Gets the type ID of the associated Slice interface.
5428 /// @return The string `"::IceGrid::FileIterator"`.
5429 static const char* ice_staticId() noexcept;
5430 };
5431
5432 /// A shared pointer to an AsyncFileIterator.
5433 using AsyncFileIteratorPtr = std::shared_ptr<AsyncFileIterator>;
5434
5435 /// Monitors changes to the state of the registries.
5436 /// @headerfile IceGrid/IceGrid.h
5437 class ICEGRID_API AsyncRegistryObserver : public virtual Ice::Object
5438 {
5439 public:
5440 /// The associated proxy type.
5442
5443 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5444 /// @param request The incoming request.
5445 /// @param sendResponse The callback to send the response.
5446 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5447
5448 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5449
5450 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5451
5452 /// Provides the initial state of the registries to the observer.
5453 /// @param registries The current state of the registries.
5454 /// @param response The response callback.
5455 /// @param exception The exception callback.
5456 /// @param current The Current object of the incoming request.
5457 virtual void registryInitAsync(RegistryInfoSeq registries, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5458
5459 /// @private
5460 void _iceD_registryInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5461
5462 /// Notifies the observer that a registry replica came up.
5463 /// @param registryReplica The registry state.
5464 /// @param response The response callback.
5465 /// @param exception The exception callback.
5466 /// @param current The Current object of the incoming request.
5467 virtual void registryUpAsync(RegistryInfo registryReplica, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5468
5469 /// @private
5470 void _iceD_registryUp(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5471
5472 /// Notifies the observer that a registry replica went down.
5473 /// @param name The registry name.
5474 /// @param response The response callback.
5475 /// @param exception The exception callback.
5476 /// @param current The Current object of the incoming request.
5477 virtual void registryDownAsync(std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5478
5479 /// @private
5480 void _iceD_registryDown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5481
5482 /// Gets the type ID of the associated Slice interface.
5483 /// @return The string `"::IceGrid::RegistryObserver"`.
5484 static const char* ice_staticId() noexcept;
5485 };
5486
5487 /// A shared pointer to an AsyncRegistryObserver.
5489
5490 /// Monitors changes to the state of the nodes.
5491 /// @headerfile IceGrid/IceGrid.h
5492 class ICEGRID_API AsyncNodeObserver : public virtual Ice::Object
5493 {
5494 public:
5495 /// The associated proxy type.
5497
5498 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5499 /// @param request The incoming request.
5500 /// @param sendResponse The callback to send the response.
5501 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5502
5503 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5504
5505 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5506
5507 /// Provides the initial state of the nodes to the observer.
5508 /// @param nodes The current state of the nodes.
5509 /// @param response The response callback.
5510 /// @param exception The exception callback.
5511 /// @param current The Current object of the incoming request.
5512 virtual void nodeInitAsync(NodeDynamicInfoSeq nodes, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5513
5514 /// @private
5515 void _iceD_nodeInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5516
5517 /// Notifies the observer that a node came up.
5518 /// @param node The node state.
5519 /// @param response The response callback.
5520 /// @param exception The exception callback.
5521 /// @param current The Current object of the incoming request.
5522 virtual void nodeUpAsync(NodeDynamicInfo node, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5523
5524 /// @private
5525 void _iceD_nodeUp(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5526
5527 /// Notifies the observer that a node went down.
5528 /// @param name The node name.
5529 /// @param response The response callback.
5530 /// @param exception The exception callback.
5531 /// @param current The Current object of the incoming request.
5532 virtual void nodeDownAsync(std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5533
5534 /// @private
5535 void _iceD_nodeDown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5536
5537 /// Notifies the observer that the state of a server changed.
5538 /// @param node The node hosting the server.
5539 /// @param updatedInfo The new server state.
5540 /// @param response The response callback.
5541 /// @param exception The exception callback.
5542 /// @param current The Current object of the incoming request.
5543 virtual void updateServerAsync(std::string node, ServerDynamicInfo updatedInfo, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5544
5545 /// @private
5546 void _iceD_updateServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5547
5548 /// Notifies the observer that the state of an object adapter changed.
5549 /// @param node The node hosting the adapter.
5550 /// @param updatedInfo The new adapter state.
5551 /// @param response The response callback.
5552 /// @param exception The exception callback.
5553 /// @param current The Current object of the incoming request.
5554 virtual void updateAdapterAsync(std::string node, AdapterDynamicInfo updatedInfo, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5555
5556 /// @private
5557 void _iceD_updateAdapter(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5558
5559 /// Gets the type ID of the associated Slice interface.
5560 /// @return The string `"::IceGrid::NodeObserver"`.
5561 static const char* ice_staticId() noexcept;
5562 };
5563
5564 /// A shared pointer to an AsyncNodeObserver.
5565 using AsyncNodeObserverPtr = std::shared_ptr<AsyncNodeObserver>;
5566
5567 /// Monitors applications.
5568 /// @headerfile IceGrid/IceGrid.h
5569 class ICEGRID_API AsyncApplicationObserver : public virtual Ice::Object
5570 {
5571 public:
5572 /// The associated proxy type.
5574
5575 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5576 /// @param request The incoming request.
5577 /// @param sendResponse The callback to send the response.
5578 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5579
5580 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5581
5582 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5583
5584 /// Provides the initial application infos to the observer.
5585 /// @param serial The current serial number of the registry database. This serial number allows observers to
5586 /// make sure that their internal state is synchronized with the registry.
5587 /// @param applications The applications currently registered with the registry.
5588 /// @param response The response callback.
5589 /// @param exception The exception callback.
5590 /// @param current The Current object of the incoming request.
5591 virtual void applicationInitAsync(std::int32_t serial, ApplicationInfoSeq applications, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5592
5593 /// @private
5594 void _iceD_applicationInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5595
5596 /// Notifies the observer that an application was added.
5597 /// @param serial The new serial number of the registry database.
5598 /// @param desc The descriptor of the new application.
5599 /// @param response The response callback.
5600 /// @param exception The exception callback.
5601 /// @param current The Current object of the incoming request.
5602 virtual void applicationAddedAsync(std::int32_t serial, ApplicationInfo desc, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5603
5604 /// @private
5605 void _iceD_applicationAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5606
5607 /// Notifies the observer that an application was removed.
5608 /// @param serial The new serial number of the registry database.
5609 /// @param name The name of the application that was removed.
5610 /// @param response The response callback.
5611 /// @param exception The exception callback.
5612 /// @param current The Current object of the incoming request.
5613 virtual void applicationRemovedAsync(std::int32_t serial, std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5614
5615 /// @private
5616 void _iceD_applicationRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5617
5618 /// Notifies the observer that an application was updated.
5619 /// @param serial The new serial number of the registry database.
5620 /// @param desc The descriptor of the update.
5621 /// @param response The response callback.
5622 /// @param exception The exception callback.
5623 /// @param current The Current object of the incoming request.
5624 virtual void applicationUpdatedAsync(std::int32_t serial, ApplicationUpdateInfo desc, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5625
5626 /// @private
5627 void _iceD_applicationUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5628
5629 /// Gets the type ID of the associated Slice interface.
5630 /// @return The string `"::IceGrid::ApplicationObserver"`.
5631 static const char* ice_staticId() noexcept;
5632 };
5633
5634 /// A shared pointer to an AsyncApplicationObserver.
5636
5637 /// Monitors dynamically-registered object adapters.
5638 /// @headerfile IceGrid/IceGrid.h
5639 class ICEGRID_API AsyncAdapterObserver : public virtual Ice::Object
5640 {
5641 public:
5642 /// The associated proxy type.
5644
5645 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5646 /// @param request The incoming request.
5647 /// @param sendResponse The callback to send the response.
5648 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5649
5650 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5651
5652 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5653
5654 /// Provides the initial list of dynamically registered adapters to the observer.
5655 /// @param adpts The adapters that were dynamically registered with the registry.
5656 /// @param response The response callback.
5657 /// @param exception The exception callback.
5658 /// @param current The Current object of the incoming request.
5659 virtual void adapterInitAsync(AdapterInfoSeq adpts, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5660
5661 /// @private
5662 void _iceD_adapterInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5663
5664 /// Notifies the observer that a dynamically-registered adapter was added.
5665 /// @param info The details of the new adapter.
5666 /// @param response The response callback.
5667 /// @param exception The exception callback.
5668 /// @param current The Current object of the incoming request.
5669 virtual void adapterAddedAsync(AdapterInfo info, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5670
5671 /// @private
5672 void _iceD_adapterAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5673
5674 /// @param info The details of the updated adapter.
5675 /// @param response The response callback.
5676 /// @param exception The exception callback.
5677 /// @param current The Current object of the incoming request.
5678 virtual void adapterUpdatedAsync(AdapterInfo info, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5679
5680 /// @private
5681 void _iceD_adapterUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5682
5683 /// Notifies the observer that a dynamically-registered adapter was removed.
5684 /// @param id The ID of the removed adapter.
5685 /// @param response The response callback.
5686 /// @param exception The exception callback.
5687 /// @param current The Current object of the incoming request.
5688 virtual void adapterRemovedAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5689
5690 /// @private
5691 void _iceD_adapterRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5692
5693 /// Gets the type ID of the associated Slice interface.
5694 /// @return The string `"::IceGrid::AdapterObserver"`.
5695 static const char* ice_staticId() noexcept;
5696 };
5697
5698 /// A shared pointer to an AsyncAdapterObserver.
5700
5701 /// Monitors well-known objects that are added, updated or removed using AdminPrx.
5702 /// @headerfile IceGrid/IceGrid.h
5703 class ICEGRID_API AsyncObjectObserver : public virtual Ice::Object
5704 {
5705 public:
5706 /// The associated proxy type.
5708
5709 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5710 /// @param request The incoming request.
5711 /// @param sendResponse The callback to send the response.
5712 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5713
5714 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5715
5716 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5717
5718 /// Provides the initial list of well-known objects to the observer.
5719 /// @param objects The well-known objects registered using ::IceGrid::AdminPrx.
5720 /// @param response The response callback.
5721 /// @param exception The exception callback.
5722 /// @param current The Current object of the incoming request.
5723 virtual void objectInitAsync(ObjectInfoSeq objects, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5724
5725 /// @private
5726 void _iceD_objectInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5727
5728 /// Notifies the observer that a well-known object was added.
5729 /// @param info The details of the new object.
5730 /// @param response The response callback.
5731 /// @param exception The exception callback.
5732 /// @param current The Current object of the incoming request.
5733 virtual void objectAddedAsync(ObjectInfo info, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5734
5735 /// @private
5736 void _iceD_objectAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5737
5738 /// Notifies the observer that a well-known object was updated.
5739 /// @param info The details of the updated object.
5740 /// @param response The response callback.
5741 /// @param exception The exception callback.
5742 /// @param current The Current object of the incoming request.
5743 virtual void objectUpdatedAsync(ObjectInfo info, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5744
5745 /// @private
5746 void _iceD_objectUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5747
5748 /// Notifies the observer that a well-known object was removed.
5749 /// @param id The identity of the removed object.
5750 /// @param response The response callback.
5751 /// @param exception The exception callback.
5752 /// @param current The Current object of the incoming request.
5753 virtual void objectRemovedAsync(::Ice::Identity id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5754
5755 /// @private
5756 void _iceD_objectRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5757
5758 /// Gets the type ID of the associated Slice interface.
5759 /// @return The string `"::IceGrid::ObjectObserver"`.
5760 static const char* ice_staticId() noexcept;
5761 };
5762
5763 /// A shared pointer to an AsyncObjectObserver.
5765
5766 /// Represents an administrative session between an admin tool and an IceGrid registry.
5767 /// @see RegistryPrx
5768 /// @headerfile IceGrid/IceGrid.h
5769 class ICEGRID_API AsyncAdminSession : public virtual ::Glacier2::AsyncSession
5770 {
5771 public:
5772 /// The associated proxy type.
5774
5775 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5776 /// @param request The incoming request.
5777 /// @param sendResponse The callback to send the response.
5778 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5779
5780 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5781
5782 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5783
5784 /// Keeps the session alive.
5785 /// @param response The response callback.
5786 /// @param exception The exception callback.
5787 /// @param current The Current object of the incoming request.
5788 virtual void keepAliveAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5789
5790 /// @private
5791 void _iceD_keepAlive(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5792
5793 /// Gets a proxy to the IceGrid admin object. The admin object returned by this operation can only be accessed
5794 /// by the session.
5795 /// @param response The response callback. It accepts:
5796 /// - A proxy to the IceGrid admin object. This proxy is never null.
5797 /// @param exception The exception callback.
5798 /// @param current The Current object of the incoming request.
5799 virtual void getAdminAsync(std::function<void(const std::optional<AdminPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5800
5801 /// @private
5802 void _iceD_getAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5803
5804 /// Gets a "template" proxy for admin callback objects. An Admin client uses this proxy to set the category of
5805 /// its callback objects, and the published endpoints of the object adapter hosting the admin callback objects.
5806 /// @param response The response callback. It accepts:
5807 /// - A template proxy. The returned proxy is null when the Admin session was established using Glacier2.
5808 /// @param exception The exception callback.
5809 /// @param current The Current object of the incoming request.
5810 virtual void getAdminCallbackTemplateAsync(std::function<void(const std::optional<Ice::ObjectPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5811
5812 /// @private
5813 void _iceD_getAdminCallbackTemplate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5814
5815 /// Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
5816 /// @param registryObs The registry observer.
5817 /// @param nodeObs The node observer.
5818 /// @param appObs The application observer.
5819 /// @param adptObs The adapter observer.
5820 /// @param objObs The object observer.
5821 /// @param response The response callback.
5822 /// @param exception The exception callback.
5823 /// @param current The Current object of the incoming request.
5824 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
5825 virtual void setObserversAsync(std::optional<RegistryObserverPrx> registryObs, std::optional<NodeObserverPrx> nodeObs, std::optional<ApplicationObserverPrx> appObs, std::optional<AdapterObserverPrx> adptObs, std::optional<ObjectObserverPrx> objObs, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5826
5827 /// @private
5828 void _iceD_setObservers(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5829
5830 /// Sets the observer identities that receive notifications when the state of the registry or nodes changes.
5831 /// This operation should be used by clients that are using a bidirectional connection to communicate with the
5832 /// session.
5833 /// @param registryObs The registry observer identity.
5834 /// @param nodeObs The node observer identity.
5835 /// @param appObs The application observer.
5836 /// @param adptObs The adapter observer.
5837 /// @param objObs The object observer.
5838 /// @param response The response callback.
5839 /// @param exception The exception callback.
5840 /// @param current The Current object of the incoming request.
5841 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
5842 virtual void setObserversByIdentityAsync(::Ice::Identity registryObs, ::Ice::Identity nodeObs, ::Ice::Identity appObs, ::Ice::Identity adptObs, ::Ice::Identity objObs, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5843
5844 /// @private
5845 void _iceD_setObserversByIdentity(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5846
5847 /// Acquires an exclusive lock to start updating the registry applications.
5848 /// @param response The response callback. It accepts:
5849 /// - The current serial.
5850 /// @param exception The exception callback.
5851 /// @param current The Current object of the incoming request.
5852 /// @throws IceGrid::AccessDeniedException Thrown when the exclusive lock can't be acquired. This might happen if the
5853 /// lock is currently acquired by another session.
5854 virtual void startUpdateAsync(std::function<void(std::int32_t returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5855
5856 /// @private
5857 void _iceD_startUpdate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5858
5859 /// Finishes updating the registry and releases the exclusive lock.
5860 /// @param response The response callback.
5861 /// @param exception The exception callback.
5862 /// @param current The Current object of the incoming request.
5863 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock.
5864 virtual void finishUpdateAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5865
5866 /// @private
5867 void _iceD_finishUpdate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5868
5869 /// Gets the name of the registry replica hosting this session.
5870 /// @param response The response callback. It accepts:
5871 /// - The replica name of the registry.
5872 /// @param exception The exception callback.
5873 /// @param current The Current object of the incoming request.
5874 virtual void getReplicaNameAsync(std::function<void(std::string_view returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5875
5876 /// @private
5877 void _iceD_getReplicaName(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5878
5879 /// Opens a server log file for reading.
5880 /// @param id The server ID.
5881 /// @param path The path of the log file. A log file can be opened only if it's declared in the server or
5882 /// service deployment descriptor.
5883 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5884 /// Otherwise, the file is read from the last @p count lines.
5885 /// @param response The response callback. It accepts:
5886 /// - An iterator to read the file. This proxy is never null.
5887 /// @param exception The exception callback.
5888 /// @param current The Current object of the incoming request.
5889 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
5890 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5891 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5892 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5893 virtual void openServerLogAsync(std::string id, std::string path, std::int32_t count, std::function<void(const std::optional<FileIteratorPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5894
5895 /// @private
5896 void _iceD_openServerLog(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5897
5898 /// Opens a server stderr file for reading.
5899 /// @param id The server ID.
5900 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5901 /// Otherwise, the file is read from the last @p count lines.
5902 /// @param response The response callback. It accepts:
5903 /// - An iterator to read the file. This proxy is never null.
5904 /// @param exception The exception callback.
5905 /// @param current The Current object of the incoming request.
5906 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
5907 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5908 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5909 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5910 virtual void openServerStdErrAsync(std::string id, std::int32_t count, std::function<void(const std::optional<FileIteratorPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5911
5912 /// @private
5913 void _iceD_openServerStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5914
5915 /// Opens a server stdout file for reading.
5916 /// @param id The server id.
5917 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5918 /// Otherwise, the file is read from the last @p count lines.
5919 /// @param response The response callback. It accepts:
5920 /// - An iterator to read the file. This proxy is never null.
5921 /// @param exception The exception callback.
5922 /// @param current The Current object of the incoming request.
5923 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
5924 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5925 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5926 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5927 virtual void openServerStdOutAsync(std::string id, std::int32_t count, std::function<void(const std::optional<FileIteratorPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5928
5929 /// @private
5930 void _iceD_openServerStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5931
5932 /// Opens a node stderr file for reading.
5933 /// @param name The node name.
5934 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5935 /// Otherwise, the file is read from the last @p count lines.
5936 /// @param response The response callback. It accepts:
5937 /// - An iterator to read the file. This proxy is never null.
5938 /// @param exception The exception callback.
5939 /// @param current The Current object of the incoming request.
5940 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5941 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5942 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5943 virtual void openNodeStdErrAsync(std::string name, std::int32_t count, std::function<void(const std::optional<FileIteratorPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5944
5945 /// @private
5946 void _iceD_openNodeStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5947
5948 /// Opens a node stdout file for reading.
5949 /// @param name The node name.
5950 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5951 /// Otherwise, the file is read from the last @p count lines.
5952 /// @param response The response callback. It accepts:
5953 /// - An iterator to read the file. This proxy is never null.
5954 /// @param exception The exception callback.
5955 /// @param current The Current object of the incoming request.
5956 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5957 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5958 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5959 virtual void openNodeStdOutAsync(std::string name, std::int32_t count, std::function<void(const std::optional<FileIteratorPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5960
5961 /// @private
5962 void _iceD_openNodeStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5963
5964 /// Opens a registry stderr file for reading.
5965 /// @param name The registry name.
5966 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5967 /// Otherwise, the file is read from the last @p count lines.
5968 /// @param response The response callback. It accepts:
5969 /// - An iterator to read the file. This proxy is never null.
5970 /// @param exception The exception callback.
5971 /// @param current The Current object of the incoming request.
5972 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5973 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5974 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
5975 virtual void openRegistryStdErrAsync(std::string name, std::int32_t count, std::function<void(const std::optional<FileIteratorPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5976
5977 /// @private
5978 void _iceD_openRegistryStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5979
5980 /// Opens a registry stdout file for reading.
5981 /// @param name The registry name.
5982 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5983 /// Otherwise, the file is read from the last @p count lines.
5984 /// @param response The response callback. It accepts:
5985 /// - An iterator to read the file. This proxy is never null.
5986 /// @param exception The exception callback.
5987 /// @param current The Current object of the incoming request.
5988 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5989 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5990 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
5991 virtual void openRegistryStdOutAsync(std::string name, std::int32_t count, std::function<void(const std::optional<FileIteratorPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5992
5993 /// @private
5994 void _iceD_openRegistryStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5995
5996 /// Gets the type ID of the associated Slice interface.
5997 /// @return The string `"::IceGrid::AdminSession"`.
5998 static const char* ice_staticId() noexcept;
5999 };
6000
6001 /// A shared pointer to an AsyncAdminSession.
6002 using AsyncAdminSessionPtr = std::shared_ptr<AsyncAdminSession>;
6003}
6004
6005namespace Ice
6006{
6007 /// @cond INTERNAL
6008 template<>
6009 struct StreamableTraits<::IceGrid::ServerState>
6010 {
6011 static constexpr StreamHelperCategory helper = StreamHelperCategoryEnum;
6012 static constexpr int minValue = 0;
6013 static constexpr int maxValue = 6;
6014 static constexpr int minWireSize = 1;
6015 static constexpr bool fixedLength = false;
6016 };
6017 /// @endcond
6018
6019 /// @cond INTERNAL
6020 template<>
6021 struct StreamableTraits<::IceGrid::ObjectInfo>
6022 {
6023 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6024 static constexpr int minWireSize = 3;
6025 static constexpr bool fixedLength = false;
6026 };
6027
6028 template<>
6029 struct StreamReader<::IceGrid::ObjectInfo>
6030 {
6031 /// Unmarshals a ::IceGrid::ObjectInfo from the input stream.
6032 static void read(InputStream* istr, ::IceGrid::ObjectInfo& v)
6033 {
6034 istr->readAll(v.proxy, v.type);
6035 }
6036 };
6037 /// @endcond
6038
6039 /// @cond INTERNAL
6040 template<>
6041 struct StreamableTraits<::IceGrid::AdapterInfo>
6042 {
6043 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6044 static constexpr int minWireSize = 4;
6045 static constexpr bool fixedLength = false;
6046 };
6047
6048 template<>
6049 struct StreamReader<::IceGrid::AdapterInfo>
6050 {
6051 /// Unmarshals a ::IceGrid::AdapterInfo from the input stream.
6052 static void read(InputStream* istr, ::IceGrid::AdapterInfo& v)
6053 {
6054 istr->readAll(v.id, v.proxy, v.replicaGroupId);
6055 }
6056 };
6057 /// @endcond
6058
6059 /// @cond INTERNAL
6060 template<>
6061 struct StreamableTraits<::IceGrid::ServerInfo>
6062 {
6063 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6064 static constexpr int minWireSize = 9;
6065 static constexpr bool fixedLength = false;
6066 };
6067
6068 template<>
6069 struct StreamReader<::IceGrid::ServerInfo>
6070 {
6071 /// Unmarshals a ::IceGrid::ServerInfo from the input stream.
6072 static void read(InputStream* istr, ::IceGrid::ServerInfo& v)
6073 {
6074 istr->readAll(v.application, v.uuid, v.revision, v.node, v.descriptor, v.sessionId);
6075 }
6076 };
6077 /// @endcond
6078
6079 /// @cond INTERNAL
6080 template<>
6081 struct StreamableTraits<::IceGrid::NodeInfo>
6082 {
6083 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6084 static constexpr int minWireSize = 11;
6085 static constexpr bool fixedLength = false;
6086 };
6087
6088 template<>
6089 struct StreamReader<::IceGrid::NodeInfo>
6090 {
6091 /// Unmarshals a ::IceGrid::NodeInfo from the input stream.
6092 static void read(InputStream* istr, ::IceGrid::NodeInfo& v)
6093 {
6094 istr->readAll(v.name, v.os, v.hostname, v.release, v.version, v.machine, v.nProcessors, v.dataDir);
6095 }
6096 };
6097 /// @endcond
6098
6099 /// @cond INTERNAL
6100 template<>
6101 struct StreamableTraits<::IceGrid::RegistryInfo>
6102 {
6103 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6104 static constexpr int minWireSize = 2;
6105 static constexpr bool fixedLength = false;
6106 };
6107
6108 template<>
6109 struct StreamReader<::IceGrid::RegistryInfo>
6110 {
6111 /// Unmarshals a ::IceGrid::RegistryInfo from the input stream.
6112 static void read(InputStream* istr, ::IceGrid::RegistryInfo& v)
6113 {
6114 istr->readAll(v.name, v.hostname);
6115 }
6116 };
6117 /// @endcond
6118
6119 /// @cond INTERNAL
6120 template<>
6121 struct StreamableTraits<::IceGrid::LoadInfo>
6122 {
6123 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6124 static constexpr int minWireSize = 12;
6125 static constexpr bool fixedLength = true;
6126 };
6127
6128 template<>
6129 struct StreamReader<::IceGrid::LoadInfo>
6130 {
6131 /// Unmarshals a ::IceGrid::LoadInfo from the input stream.
6132 static void read(InputStream* istr, ::IceGrid::LoadInfo& v)
6133 {
6134 istr->readAll(v.avg1, v.avg5, v.avg15);
6135 }
6136 };
6137 /// @endcond
6138
6139 /// @cond INTERNAL
6140 template<>
6141 struct StreamableTraits<::IceGrid::ApplicationInfo>
6142 {
6143 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6144 static constexpr int minWireSize = 33;
6145 static constexpr bool fixedLength = false;
6146 };
6147
6148 template<>
6149 struct StreamReader<::IceGrid::ApplicationInfo>
6150 {
6151 /// Unmarshals a ::IceGrid::ApplicationInfo from the input stream.
6152 static void read(InputStream* istr, ::IceGrid::ApplicationInfo& v)
6153 {
6154 istr->readAll(v.uuid, v.createTime, v.createUser, v.updateTime, v.updateUser, v.revision, v.descriptor);
6155 }
6156 };
6157 /// @endcond
6158
6159 /// @cond INTERNAL
6160 template<>
6161 struct StreamableTraits<::IceGrid::ApplicationUpdateInfo>
6162 {
6163 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6164 static constexpr int minWireSize = 28;
6165 static constexpr bool fixedLength = false;
6166 };
6167
6168 template<>
6169 struct StreamReader<::IceGrid::ApplicationUpdateInfo>
6170 {
6171 /// Unmarshals a ::IceGrid::ApplicationUpdateInfo from the input stream.
6172 static void read(InputStream* istr, ::IceGrid::ApplicationUpdateInfo& v)
6173 {
6174 istr->readAll(v.updateTime, v.updateUser, v.revision, v.descriptor);
6175 }
6176 };
6177 /// @endcond
6178
6179 /// @cond INTERNAL
6180 template<>
6181 struct StreamableTraits<::IceGrid::ServerDynamicInfo>
6182 {
6183 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6184 static constexpr int minWireSize = 7;
6185 static constexpr bool fixedLength = false;
6186 };
6187
6188 template<>
6189 struct StreamReader<::IceGrid::ServerDynamicInfo>
6190 {
6191 /// Unmarshals a ::IceGrid::ServerDynamicInfo from the input stream.
6192 static void read(InputStream* istr, ::IceGrid::ServerDynamicInfo& v)
6193 {
6194 istr->readAll(v.id, v.state, v.pid, v.enabled);
6195 }
6196 };
6197 /// @endcond
6198
6199 /// @cond INTERNAL
6200 template<>
6201 struct StreamableTraits<::IceGrid::AdapterDynamicInfo>
6202 {
6203 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6204 static constexpr int minWireSize = 3;
6205 static constexpr bool fixedLength = false;
6206 };
6207
6208 template<>
6209 struct StreamReader<::IceGrid::AdapterDynamicInfo>
6210 {
6211 /// Unmarshals a ::IceGrid::AdapterDynamicInfo from the input stream.
6212 static void read(InputStream* istr, ::IceGrid::AdapterDynamicInfo& v)
6213 {
6214 istr->readAll(v.id, v.proxy);
6215 }
6216 };
6217 /// @endcond
6218
6219 /// @cond INTERNAL
6220 template<>
6221 struct StreamableTraits<::IceGrid::NodeDynamicInfo>
6222 {
6223 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6224 static constexpr int minWireSize = 13;
6225 static constexpr bool fixedLength = false;
6226 };
6227
6228 template<>
6229 struct StreamReader<::IceGrid::NodeDynamicInfo>
6230 {
6231 /// Unmarshals a ::IceGrid::NodeDynamicInfo from the input stream.
6232 static void read(InputStream* istr, ::IceGrid::NodeDynamicInfo& v)
6233 {
6234 istr->readAll(v.info, v.servers, v.adapters);
6235 }
6236 };
6237 /// @endcond
6238}
6239
6240// NOLINTEND(modernize-concat-nested-namespaces)
6241
6242#include <Ice/PopDisableWarnings.h>
6243#endif
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
std::string lockUserId
The id of the user holding the lock (if any).
Definition Admin.h:3463
AccessDeniedException() noexcept=default
Default constructor.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
AccessDeniedException(const AccessDeniedException &) noexcept=default
Copy constructor.
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:3448
void ice_throw() const override
Throws this exception.
std::future< void > adapterAddedAsync(const AdapterInfo &info, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a dynamically-registered adapter was added.
void adapterUpdated(const AdapterInfo &info, const Ice::Context &context=Ice::noExplicitContext) const
std::future< void > adapterUpdatedAsync(const AdapterInfo &info, const Ice::Context &context=Ice::noExplicitContext) const
AdapterObserverPrx(AdapterObserverPrx &&other) noexcept
Move constructor.
Definition Admin.h:2102
std::function< void()> adapterUpdatedAsync(const AdapterInfo &info, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
void adapterInit(const AdapterInfoSeq &adpts, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial list of dynamically registered adapters to the observer.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::function< void()> adapterAddedAsync(const AdapterInfo &info, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a dynamically-registered adapter was added.
void adapterRemoved(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a dynamically-registered adapter was removed.
AdapterObserverPrx & operator=(const AdapterObserverPrx &rhs) noexcept
Copy assignment operator.
Definition Admin.h:2109
AdapterObserverPrx & operator=(AdapterObserverPrx &&rhs) noexcept
Move assignment operator.
Definition Admin.h:2120
std::future< void > adapterInitAsync(const AdapterInfoSeq &adpts, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial list of dynamically registered adapters to the observer.
std::function< void()> adapterInitAsync(const AdapterInfoSeq &adpts, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial list of dynamically registered adapters to the observer.
std::function< void()> adapterRemovedAsync(std::string_view id, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a dynamically-registered adapter was removed.
AdapterObserverPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Admin.h:2094
AdapterObserverPrx(const AdapterObserverPrx &other) noexcept
Copy constructor.
Definition Admin.h:2098
void adapterAdded(const AdapterInfo &info, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a dynamically-registered adapter was added.
std::future< void > adapterRemovedAsync(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a dynamically-registered adapter was removed.
Monitors dynamically-registered object adapters.
Definition Admin.h:2089
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual void adapterUpdated(AdapterInfo info, const Ice::Current &current)=0
virtual void adapterAdded(AdapterInfo info, const Ice::Current &current)=0
Notifies the observer that a dynamically-registered adapter was added.
virtual void adapterInit(AdapterInfoSeq adpts, const Ice::Current &current)=0
Provides the initial list of dynamically registered adapters to the observer.
virtual void adapterRemoved(std::string id, const Ice::Current &current)=0
Notifies the observer that a dynamically-registered adapter was removed.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
AdapterObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:4466
Monitors dynamically-registered object adapters.
Definition Admin.h:4463
ObjectInfoSeq getObjectInfosByType(std::string_view type, const Ice::Context &context=Ice::noExplicitContext) const
Gets the object info of all the registered objects with a given type.
void startServer(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Starts a server and waits for its activation.
void syncApplicationWithoutRestart(const ApplicationDescriptor &descriptor, const Ice::Context &context=Ice::noExplicitContext) const
Synchronizes a deployed application.
::Ice::StringSeq getAllNodeNames(const Ice::Context &context=Ice::noExplicitContext) const
Gets the names of all IceGrid nodes currently registered.
void shutdownRegistry(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Shuts down an IceGrid registry.
void stopServer(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Stops a server.
std::future<::Ice::StringSeq > getAllAdapterIdsAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the IDs of all adapters registered with IceGrid.
void enableServer(std::string_view id, bool enabled, const Ice::Context &context=Ice::noExplicitContext) const
Enables or disables a server.
std::function< void()> shutdownAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Shuts down the IceGrid registry.
std::future< void > updateObjectAsync(const std::optional< Ice::ObjectPrx > &obj, const Ice::Context &context=Ice::noExplicitContext) const
Updates an object in the object registry.
std::future< std::int32_t > getServerPidAsync(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Gets the system process ID of a server.
std::function< void()> removeObjectAsync(const ::Ice::Identity &id, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Removes an object from the object registry.
LoadInfo getNodeLoad(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets the load averages of a node.
void addApplication(const ApplicationDescriptor &descriptor, const Ice::Context &context=Ice::noExplicitContext) const
Adds an application to IceGrid.
std::future< void > removeApplicationAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Removes an application from IceGrid.
::Ice::StringSeq getAllAdapterIds(const Ice::Context &context=Ice::noExplicitContext) const
Gets the IDs of all adapters registered with IceGrid.
std::future< std::optional< Ice::ObjectPrx > > getNodeAdminAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the admin object of an IceGrid node.
std::int32_t getServerPid(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Gets the system process ID of a server.
std::future< void > addObjectWithTypeAsync(const std::optional< Ice::ObjectPrx > &obj, std::string_view type, const Ice::Context &context=Ice::noExplicitContext) const
Adds an object to the object registry and explicitly specifies its type.
std::future< bool > isServerEnabledAsync(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Checks if the server is enabled or disabled.
std::function< void()> addObjectWithTypeAsync(const std::optional< Ice::ObjectPrx > &obj, std::string_view type, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Adds an object to the object registry and explicitly specifies its type.
void updateApplicationWithoutRestart(const ApplicationUpdateDescriptor &descriptor, const Ice::Context &context=Ice::noExplicitContext) const
Updates a deployed application.
std::int32_t getNodeProcessorSocketCount(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
std::future< RegistryInfo > getRegistryInfoAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets the registry information of an IceGrid registry.
std::future< ServerState > getServerStateAsync(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Gets the state of a server.
std::future< ServerInfo > getServerInfoAsync(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Gets information about a server.
std::optional< Ice::ObjectPrx > getServerAdmin(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the admin object of a server.
std::function< void()> getNodeLoadAsync(std::string_view name, std::function< void(::IceGrid::LoadInfo)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the load averages of a node.
std::string getNodeHostname(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Get the hostname of a node.
std::optional< Ice::ObjectPrx > getNodeAdmin(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the admin object of an IceGrid node.
std::function< void()> pingNodeAsync(std::string_view name, std::function< void(bool)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Pings an IceGrid node to see if it is active.
std::future< std::optional< Ice::ObjectPrx > > getServerAdminAsync(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the admin object of a server.
std::function< void()> updateApplicationAsync(const ApplicationUpdateDescriptor &descriptor, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Updates a deployed application.
std::future< ObjectInfo > getObjectInfoAsync(const ::Ice::Identity &id, const Ice::Context &context=Ice::noExplicitContext) const
Gets the object info for the object.
std::function< void()> getRegistryAdminAsync(std::string_view name, std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the admin object of an IceGrid registry.
NodeInfo getNodeInfo(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets the node information of a node.
std::function< void()> getAllObjectInfosAsync(std::string_view expr, std::function< void(::IceGrid::ObjectInfoSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the object info of all the registered objects whose stringified identities match the given expre...
std::future<::Ice::StringSeq > getAllRegistryNamesAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the names of all the IceGrid registries currently registered.
void shutdown(const Ice::Context &context=Ice::noExplicitContext) const
Shuts down the IceGrid registry.
std::function< void()> getAdapterInfoAsync(std::string_view id, std::function< void(::IceGrid::AdapterInfoSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets adapter information for the replica group or adapter with the given ID.
RegistryInfo getRegistryInfo(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets the registry information of an IceGrid registry.
std::future< std::string > getNodeHostnameAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Get the hostname of a node.
std::function< void()> getNodeInfoAsync(std::string_view name, std::function< void(::IceGrid::NodeInfo)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the node information of a node.
bool pingNode(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Pings an IceGrid node to see if it is active.
std::function< void()> getAllAdapterIdsAsync(std::function< void(::Ice::StringSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the IDs of all adapters registered with IceGrid.
std::function< void()> getObjectInfoAsync(const ::Ice::Identity &id, std::function< void(::IceGrid::ObjectInfo)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the object info for the object.
std::future< bool > pingRegistryAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Pings an IceGrid registry to see if it is active.
std::future< std::optional< Ice::ObjectPrx > > getRegistryAdminAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the admin object of an IceGrid registry.
std::future< void > shutdownAsync(const Ice::Context &context=Ice::noExplicitContext) const
Shuts down the IceGrid registry.
std::function< void()> getDefaultApplicationDescriptorAsync(std::function< void(::IceGrid::ApplicationDescriptor)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the default application descriptor.
std::function< void()> getNodeAdminAsync(std::string_view name, std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the admin object of an IceGrid node.
::Ice::StringSeq getAllRegistryNames(const Ice::Context &context=Ice::noExplicitContext) const
Gets the names of all the IceGrid registries currently registered.
void updateObject(const std::optional< Ice::ObjectPrx > &obj, const Ice::Context &context=Ice::noExplicitContext) const
Updates an object in the object registry.
std::future< std::string > getServerAdminCategoryAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the category for server admin objects.
std::future< void > removeAdapterAsync(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Removes the adapter with the given ID.
std::future< void > shutdownNodeAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Shuts down an IceGrid node.
ApplicationInfo getApplicationInfo(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets an application descriptor.
std::future< LoadInfo > getNodeLoadAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets the load averages of a node.
std::function< void()> getServerAdminAsync(std::string_view id, std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the admin object of a server.
std::function< void()> getNodeProcessorSocketCountAsync(std::string_view name, std::function< void(std::int32_t)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
std::future< void > sendSignalAsync(std::string_view id, std::string_view signal, const Ice::Context &context=Ice::noExplicitContext) const
Sends a signal to a server.
std::function< void()> getServerStateAsync(std::string_view id, std::function< void(::IceGrid::ServerState)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the state of a server.
std::function< void()> updateObjectAsync(const std::optional< Ice::ObjectPrx > &obj, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Updates an object in the object registry.
std::optional< Ice::ObjectPrx > getRegistryAdmin(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the admin object of an IceGrid registry.
std::function< void()> enableServerAsync(std::string_view id, bool enabled, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Enables or disables a server.
bool isServerEnabled(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Checks if the server is enabled or disabled.
std::future< void > enableServerAsync(std::string_view id, bool enabled, const Ice::Context &context=Ice::noExplicitContext) const
Enables or disables a server.
std::function< void()> syncApplicationWithoutRestartAsync(const ApplicationDescriptor &descriptor, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Synchronizes a deployed application.
std::function< void()> isServerEnabledAsync(std::string_view id, std::function< void(bool)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Checks if the server is enabled or disabled.
AdapterInfoSeq getAdapterInfo(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Gets adapter information for the replica group or adapter with the given ID.
void removeObject(const ::Ice::Identity &id, const Ice::Context &context=Ice::noExplicitContext) const
Removes an object from the object registry.
std::function< void()> getAllServerIdsAsync(std::function< void(::Ice::StringSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the IDs of all the servers registered with IceGrid.
std::future<::Ice::StringSeq > getAllApplicationNamesAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets all the IceGrid applications currently registered.
void shutdownNode(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Shuts down an IceGrid node.
ServerInfo getServerInfo(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Gets information about a server.
std::string getServerAdminCategory(const Ice::Context &context=Ice::noExplicitContext) const
Gets the category for server admin objects.
std::function< void()> addApplicationAsync(const ApplicationDescriptor &descriptor, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Adds an application to IceGrid.
void addObject(const std::optional< Ice::ObjectPrx > &obj, const Ice::Context &context=Ice::noExplicitContext) const
Adds an object to the object registry.
AdminPrx & operator=(const AdminPrx &rhs) noexcept
Copy assignment operator.
Definition Admin.h:157
bool pingRegistry(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Pings an IceGrid registry to see if it is active.
std::function< void()> removeAdapterAsync(std::string_view id, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Removes the adapter with the given ID.
::Ice::StringSeq getAllApplicationNames(const Ice::Context &context=Ice::noExplicitContext) const
Gets all the IceGrid applications currently registered.
std::future< void > stopServerAsync(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Stops a server.
void updateApplication(const ApplicationUpdateDescriptor &descriptor, const Ice::Context &context=Ice::noExplicitContext) const
Updates a deployed application.
std::function< void()> getAllNodeNamesAsync(std::function< void(::Ice::StringSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the names of all IceGrid nodes currently registered.
std::function< void()> instantiateServerAsync(std::string_view application, std::string_view node, const ServerInstanceDescriptor &desc, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Instantiates a server template.
std::future<::Ice::StringSeq > getAllServerIdsAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the IDs of all the servers registered with IceGrid.
std::function< void()> shutdownNodeAsync(std::string_view name, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Shuts down an IceGrid node.
ServerState getServerState(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Gets the state of a server.
std::future< std::int32_t > getNodeProcessorSocketCountAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
std::function< void()> getServerAdminCategoryAsync(std::function< void(std::string)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the category for server admin objects.
std::function< void()> shutdownRegistryAsync(std::string_view name, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Shuts down an IceGrid registry.
std::future< void > startServerAsync(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Starts a server and waits for its activation.
std::future< void > syncApplicationAsync(const ApplicationDescriptor &descriptor, const Ice::Context &context=Ice::noExplicitContext) const
Synchronizes a deployed application.
std::function< void()> updateApplicationWithoutRestartAsync(const ApplicationUpdateDescriptor &descriptor, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Updates a deployed application.
std::future< ApplicationInfo > getApplicationInfoAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets an application descriptor.
void removeAdapter(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Removes the adapter with the given ID.
std::future< void > shutdownRegistryAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Shuts down an IceGrid registry.
std::future< AdapterInfoSeq > getAdapterInfoAsync(std::string_view id, const Ice::Context &context=Ice::noExplicitContext) const
Gets adapter information for the replica group or adapter with the given ID.
std::function< void()> getApplicationInfoAsync(std::string_view name, std::function< void(::IceGrid::ApplicationInfo)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets an application descriptor.
std::future< bool > pingNodeAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Pings an IceGrid node to see if it is active.
std::future< ApplicationDescriptor > getDefaultApplicationDescriptorAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the default application descriptor.
std::function< void()> startServerAsync(std::string_view id, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Starts a server and waits for its activation.
std::future< void > addApplicationAsync(const ApplicationDescriptor &descriptor, const Ice::Context &context=Ice::noExplicitContext) const
Adds an application to IceGrid.
void sendSignal(std::string_view id, std::string_view signal, const Ice::Context &context=Ice::noExplicitContext) const
Sends a signal to a server.
std::function< void()> pingRegistryAsync(std::string_view name, std::function< void(bool)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Pings an IceGrid registry to see if it is active.
std::future< void > updateApplicationWithoutRestartAsync(const ApplicationUpdateDescriptor &descriptor, const Ice::Context &context=Ice::noExplicitContext) const
Updates a deployed application.
std::future< NodeInfo > getNodeInfoAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Gets the node information of a node.
AdminPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Admin.h:142
ObjectInfoSeq getAllObjectInfos(std::string_view expr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the object info of all the registered objects whose stringified identities match the given expre...
std::future< void > updateApplicationAsync(const ApplicationUpdateDescriptor &descriptor, const Ice::Context &context=Ice::noExplicitContext) const
Updates a deployed application.
void addObjectWithType(const std::optional< Ice::ObjectPrx > &obj, std::string_view type, const Ice::Context &context=Ice::noExplicitContext) const
Adds an object to the object registry and explicitly specifies its type.
std::function< void()> removeApplicationAsync(std::string_view name, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Removes an application from IceGrid.
AdminPrx(const AdminPrx &other) noexcept
Copy constructor.
Definition Admin.h:146
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::future< ObjectInfoSeq > getAllObjectInfosAsync(std::string_view expr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the object info of all the registered objects whose stringified identities match the given expre...
std::future<::Ice::StringSeq > getAllNodeNamesAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the names of all IceGrid nodes currently registered.
AdminPrx(AdminPrx &&other) noexcept
Move constructor.
Definition Admin.h:150
std::future< ObjectInfoSeq > getObjectInfosByTypeAsync(std::string_view type, const Ice::Context &context=Ice::noExplicitContext) const
Gets the object info of all the registered objects with a given type.
std::function< void()> stopServerAsync(std::string_view id, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Stops a server.
std::function< void()> getObjectInfosByTypeAsync(std::string_view type, std::function< void(::IceGrid::ObjectInfoSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the object info of all the registered objects with a given type.
ObjectInfo getObjectInfo(const ::Ice::Identity &id, const Ice::Context &context=Ice::noExplicitContext) const
Gets the object info for the object.
void instantiateServer(std::string_view application, std::string_view node, const ServerInstanceDescriptor &desc, const Ice::Context &context=Ice::noExplicitContext) const
Instantiates a server template.
std::function< void()> getAllApplicationNamesAsync(std::function< void(::Ice::StringSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets all the IceGrid applications currently registered.
AdminPrx & operator=(AdminPrx &&rhs) noexcept
Move assignment operator.
Definition Admin.h:168
std::function< void()> addObjectAsync(const std::optional< Ice::ObjectPrx > &obj, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Adds an object to the object registry.
std::future< void > addObjectAsync(const std::optional< Ice::ObjectPrx > &obj, const Ice::Context &context=Ice::noExplicitContext) const
Adds an object to the object registry.
std::function< void()> getNodeHostnameAsync(std::string_view name, std::function< void(std::string)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Get the hostname of a node.
std::future< void > removeObjectAsync(const ::Ice::Identity &id, const Ice::Context &context=Ice::noExplicitContext) const
Removes an object from the object registry.
std::function< void()> getRegistryInfoAsync(std::string_view name, std::function< void(::IceGrid::RegistryInfo)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the registry information of an IceGrid registry.
std::function< void()> getServerInfoAsync(std::string_view id, std::function< void(::IceGrid::ServerInfo)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets information about a server.
std::function< void()> sendSignalAsync(std::string_view id, std::string_view signal, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Sends a signal to a server.
std::future< void > syncApplicationWithoutRestartAsync(const ApplicationDescriptor &descriptor, const Ice::Context &context=Ice::noExplicitContext) const
Synchronizes a deployed application.
std::function< void()> getAllRegistryNamesAsync(std::function< void(::Ice::StringSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the names of all the IceGrid registries currently registered.
ApplicationDescriptor getDefaultApplicationDescriptor(const Ice::Context &context=Ice::noExplicitContext) const
Gets the default application descriptor.
std::future< void > instantiateServerAsync(std::string_view application, std::string_view node, const ServerInstanceDescriptor &desc, const Ice::Context &context=Ice::noExplicitContext) const
Instantiates a server template.
std::function< void()> getServerPidAsync(std::string_view id, std::function< void(std::int32_t)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the system process ID of a server.
void syncApplication(const ApplicationDescriptor &descriptor, const Ice::Context &context=Ice::noExplicitContext) const
Synchronizes a deployed application.
void removeApplication(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Removes an application from IceGrid.
std::function< void()> syncApplicationAsync(const ApplicationDescriptor &descriptor, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Synchronizes a deployed application.
::Ice::StringSeq getAllServerIds(const Ice::Context &context=Ice::noExplicitContext) const
Gets the IDs of all the servers registered with IceGrid.
Provides administrative access to an IceGrid deployment.
Definition Admin.h:137
std::function< void()> startUpdateAsync(std::function< void(std::int32_t)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Acquires an exclusive lock to start updating the registry applications.
std::optional< FileIteratorPrx > openNodeStdOut(std::string_view name, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a node stdout file for reading.
std::future< void > setObserversAsync(const std::optional< RegistryObserverPrx > &registryObs, const std::optional< NodeObserverPrx > &nodeObs, const std::optional< ApplicationObserverPrx > &appObs, const std::optional< AdapterObserverPrx > &adptObs, const std::optional< ObjectObserverPrx > &objObs, const Ice::Context &context=Ice::noExplicitContext) const
Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
std::function< void()> openServerStdErrAsync(std::string_view id, std::int32_t count, std::function< void(std::optional<::IceGrid::FileIteratorPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Opens a server stderr file for reading.
std::function< void()> openServerLogAsync(std::string_view id, std::string_view path, std::int32_t count, std::function< void(std::optional<::IceGrid::FileIteratorPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Opens a server log file for reading.
std::future< std::optional< FileIteratorPrx > > openNodeStdOutAsync(std::string_view name, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a node stdout file for reading.
std::optional< FileIteratorPrx > openNodeStdErr(std::string_view name, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a node stderr file for reading.
std::future< std::optional< FileIteratorPrx > > openRegistryStdErrAsync(std::string_view name, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a registry stderr file for reading.
AdminSessionPrx & operator=(const AdminSessionPrx &rhs) noexcept
Copy assignment operator.
Definition Admin.h:2424
std::future< std::optional< FileIteratorPrx > > openNodeStdErrAsync(std::string_view name, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a node stderr file for reading.
std::future< void > finishUpdateAsync(const Ice::Context &context=Ice::noExplicitContext) const
Finishes updating the registry and releases the exclusive lock.
std::future< std::optional< FileIteratorPrx > > openServerStdOutAsync(std::string_view id, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a server stdout file for reading.
AdminSessionPrx & operator=(AdminSessionPrx &&rhs) noexcept
Move assignment operator.
Definition Admin.h:2435
std::optional< AdminPrx > getAdmin(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the IceGrid admin object.
std::function< void()> keepAliveAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Keeps the session alive.
void setObserversByIdentity(const ::Ice::Identity &registryObs, const ::Ice::Identity &nodeObs, const ::Ice::Identity &appObs, const ::Ice::Identity &adptObs, const ::Ice::Identity &objObs, const Ice::Context &context=Ice::noExplicitContext) const
Sets the observer identities that receive notifications when the state of the registry or nodes chang...
std::optional< FileIteratorPrx > openServerLog(std::string_view id, std::string_view path, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a server log file for reading.
std::future< std::optional< AdminPrx > > getAdminAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the IceGrid admin object.
void setObservers(const std::optional< RegistryObserverPrx > &registryObs, const std::optional< NodeObserverPrx > &nodeObs, const std::optional< ApplicationObserverPrx > &appObs, const std::optional< AdapterObserverPrx > &adptObs, const std::optional< ObjectObserverPrx > &objObs, const Ice::Context &context=Ice::noExplicitContext) const
Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
std::future< std::optional< FileIteratorPrx > > openServerLogAsync(std::string_view id, std::string_view path, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a server log file for reading.
std::function< void()> openRegistryStdErrAsync(std::string_view name, std::int32_t count, std::function< void(std::optional<::IceGrid::FileIteratorPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Opens a registry stderr file for reading.
AdminSessionPrx(AdminSessionPrx &&other) noexcept
Move constructor.
Definition Admin.h:2417
std::future< std::string > getReplicaNameAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the name of the registry replica hosting this session.
void keepAlive(const Ice::Context &context=Ice::noExplicitContext) const
Keeps the session alive.
AdminSessionPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Admin.h:2409
std::function< void()> openNodeStdOutAsync(std::string_view name, std::int32_t count, std::function< void(std::optional<::IceGrid::FileIteratorPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Opens a node stdout file for reading.
std::function< void()> setObserversAsync(const std::optional< RegistryObserverPrx > &registryObs, const std::optional< NodeObserverPrx > &nodeObs, const std::optional< ApplicationObserverPrx > &appObs, const std::optional< AdapterObserverPrx > &adptObs, const std::optional< ObjectObserverPrx > &objObs, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
std::function< void()> finishUpdateAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Finishes updating the registry and releases the exclusive lock.
std::future< void > setObserversByIdentityAsync(const ::Ice::Identity &registryObs, const ::Ice::Identity &nodeObs, const ::Ice::Identity &appObs, const ::Ice::Identity &adptObs, const ::Ice::Identity &objObs, const Ice::Context &context=Ice::noExplicitContext) const
Sets the observer identities that receive notifications when the state of the registry or nodes chang...
std::future< std::optional< FileIteratorPrx > > openRegistryStdOutAsync(std::string_view name, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a registry stdout file for reading.
std::optional< FileIteratorPrx > openServerStdErr(std::string_view id, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a server stderr file for reading.
std::future< std::optional< FileIteratorPrx > > openServerStdErrAsync(std::string_view id, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a server stderr file for reading.
std::optional< Ice::ObjectPrx > getAdminCallbackTemplate(const Ice::Context &context=Ice::noExplicitContext) const
Gets a "template" proxy for admin callback objects.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::string getReplicaName(const Ice::Context &context=Ice::noExplicitContext) const
Gets the name of the registry replica hosting this session.
std::function< void()> openServerStdOutAsync(std::string_view id, std::int32_t count, std::function< void(std::optional<::IceGrid::FileIteratorPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Opens a server stdout file for reading.
std::future< std::int32_t > startUpdateAsync(const Ice::Context &context=Ice::noExplicitContext) const
Acquires an exclusive lock to start updating the registry applications.
std::function< void()> openNodeStdErrAsync(std::string_view name, std::int32_t count, std::function< void(std::optional<::IceGrid::FileIteratorPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Opens a node stderr file for reading.
std::function< void()> getAdminAsync(std::function< void(std::optional<::IceGrid::AdminPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the IceGrid admin object.
std::function< void()> getAdminCallbackTemplateAsync(std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a "template" proxy for admin callback objects.
std::optional< FileIteratorPrx > openRegistryStdOut(std::string_view name, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a registry stdout file for reading.
std::optional< FileIteratorPrx > openServerStdOut(std::string_view id, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a server stdout file for reading.
std::function< void()> openRegistryStdOutAsync(std::string_view name, std::int32_t count, std::function< void(std::optional<::IceGrid::FileIteratorPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Opens a registry stdout file for reading.
AdminSessionPrx(const AdminSessionPrx &other) noexcept
Copy constructor.
Definition Admin.h:2413
void finishUpdate(const Ice::Context &context=Ice::noExplicitContext) const
Finishes updating the registry and releases the exclusive lock.
std::optional< FileIteratorPrx > openRegistryStdErr(std::string_view name, std::int32_t count, const Ice::Context &context=Ice::noExplicitContext) const
Opens a registry stderr file for reading.
std::function< void()> setObserversByIdentityAsync(const ::Ice::Identity &registryObs, const ::Ice::Identity &nodeObs, const ::Ice::Identity &appObs, const ::Ice::Identity &adptObs, const ::Ice::Identity &objObs, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Sets the observer identities that receive notifications when the state of the registry or nodes chang...
std::future< std::optional< Ice::ObjectPrx > > getAdminCallbackTemplateAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a "template" proxy for admin callback objects.
std::future< void > keepAliveAsync(const Ice::Context &context=Ice::noExplicitContext) const
Keeps the session alive.
std::function< void()> getReplicaNameAsync(std::function< void(std::string)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the name of the registry replica hosting this session.
std::int32_t startUpdate(const Ice::Context &context=Ice::noExplicitContext) const
Acquires an exclusive lock to start updating the registry applications.
Represents an administrative session between an admin tool and an IceGrid registry.
Definition Admin.h:2399
std::function< void()> applicationInitAsync(std::int32_t serial, const ApplicationInfoSeq &applications, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial application infos to the observer.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::future< void > applicationUpdatedAsync(std::int32_t serial, const ApplicationUpdateInfo &desc, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that an application was updated.
void applicationInit(std::int32_t serial, const ApplicationInfoSeq &applications, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial application infos to the observer.
std::future< void > applicationAddedAsync(std::int32_t serial, const ApplicationInfo &desc, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that an application was added.
std::future< void > applicationRemovedAsync(std::int32_t serial, std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that an application was removed.
std::function< void()> applicationRemovedAsync(std::int32_t serial, std::string_view name, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that an application was removed.
ApplicationObserverPrx & operator=(const ApplicationObserverPrx &rhs) noexcept
Copy assignment operator.
Definition Admin.h:1938
void applicationAdded(std::int32_t serial, const ApplicationInfo &desc, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that an application was added.
ApplicationObserverPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Admin.h:1923
std::future< void > applicationInitAsync(std::int32_t serial, const ApplicationInfoSeq &applications, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial application infos to the observer.
std::function< void()> applicationAddedAsync(std::int32_t serial, const ApplicationInfo &desc, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that an application was added.
void applicationUpdated(std::int32_t serial, const ApplicationUpdateInfo &desc, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that an application was updated.
ApplicationObserverPrx & operator=(ApplicationObserverPrx &&rhs) noexcept
Move assignment operator.
Definition Admin.h:1949
void applicationRemoved(std::int32_t serial, std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that an application was removed.
std::function< void()> applicationUpdatedAsync(std::int32_t serial, const ApplicationUpdateInfo &desc, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that an application was updated.
ApplicationObserverPrx(ApplicationObserverPrx &&other) noexcept
Move constructor.
Definition Admin.h:1931
ApplicationObserverPrx(const ApplicationObserverPrx &other) noexcept
Copy constructor.
Definition Admin.h:1927
Monitors applications.
Definition Admin.h:1918
virtual void applicationInit(std::int32_t serial, ApplicationInfoSeq applications, const Ice::Current &current)=0
Provides the initial application infos to the observer.
virtual void applicationAdded(std::int32_t serial, ApplicationInfo desc, const Ice::Current &current)=0
Notifies the observer that an application was added.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual void applicationUpdated(std::int32_t serial, ApplicationUpdateInfo desc, const Ice::Current &current)=0
Notifies the observer that an application was updated.
virtual void applicationRemoved(std::int32_t serial, std::string name, const Ice::Current &current)=0
Notifies the observer that an application was removed.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
ApplicationObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:4404
Monitors applications.
Definition Admin.h:4401
virtual void adapterUpdatedAsync(AdapterInfo info, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
virtual void adapterInitAsync(AdapterInfoSeq adpts, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Provides the initial list of dynamically registered adapters to the observer.
virtual void adapterRemovedAsync(std::string id, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that a dynamically-registered adapter was removed.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
AdapterObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:5643
virtual void adapterAddedAsync(AdapterInfo info, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that a dynamically-registered adapter was added.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
Monitors dynamically-registered object adapters.
Definition Admin.h:5640
virtual void getAdminAsync(std::function< void(const std::optional< AdminPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets a proxy to the IceGrid admin object.
virtual void openServerStdOutAsync(std::string id, std::int32_t count, std::function< void(const std::optional< FileIteratorPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Opens a server stdout file for reading.
virtual void openNodeStdOutAsync(std::string name, std::int32_t count, std::function< void(const std::optional< FileIteratorPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Opens a node stdout file for reading.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void openServerStdErrAsync(std::string id, std::int32_t count, std::function< void(const std::optional< FileIteratorPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Opens a server stderr file for reading.
virtual void startUpdateAsync(std::function< void(std::int32_t returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Acquires an exclusive lock to start updating the registry applications.
virtual void keepAliveAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Keeps the session alive.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void getAdminCallbackTemplateAsync(std::function< void(const std::optional< Ice::ObjectPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets a "template" proxy for admin callback objects.
virtual void setObserversByIdentityAsync(::Ice::Identity registryObs, ::Ice::Identity nodeObs, ::Ice::Identity appObs, ::Ice::Identity adptObs, ::Ice::Identity objObs, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Sets the observer identities that receive notifications when the state of the registry or nodes chang...
virtual void openServerLogAsync(std::string id, std::string path, std::int32_t count, std::function< void(const std::optional< FileIteratorPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Opens a server log file for reading.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
virtual void setObserversAsync(std::optional< RegistryObserverPrx > registryObs, std::optional< NodeObserverPrx > nodeObs, std::optional< ApplicationObserverPrx > appObs, std::optional< AdapterObserverPrx > adptObs, std::optional< ObjectObserverPrx > objObs, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
virtual void finishUpdateAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Finishes updating the registry and releases the exclusive lock.
virtual void openRegistryStdOutAsync(std::string name, std::int32_t count, std::function< void(const std::optional< FileIteratorPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Opens a registry stdout file for reading.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual void getReplicaNameAsync(std::function< void(std::string_view returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the name of the registry replica hosting this session.
virtual void openNodeStdErrAsync(std::string name, std::int32_t count, std::function< void(const std::optional< FileIteratorPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Opens a node stderr file for reading.
virtual void openRegistryStdErrAsync(std::string name, std::int32_t count, std::function< void(const std::optional< FileIteratorPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Opens a registry stderr file for reading.
AdminSessionPrx ProxyType
The associated proxy type.
Definition Admin.h:5773
Represents an administrative session between an admin tool and an IceGrid registry.
Definition Admin.h:5770
virtual void getRegistryAdminAsync(std::string name, std::function< void(const std::optional< Ice::ObjectPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets a proxy to the admin object of an IceGrid registry.
virtual void addObjectAsync(std::optional< Ice::ObjectPrx > obj, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Adds an object to the object registry.
virtual void getAdapterInfoAsync(std::string id, std::function< void(const AdapterInfoSeq &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets adapter information for the replica group or adapter with the given ID.
virtual void getServerInfoAsync(std::string id, std::function< void(const ServerInfo &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets information about a server.
virtual void startServerAsync(std::string id, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Starts a server and waits for its activation.
virtual void sendSignalAsync(std::string id, std::string signal, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Sends a signal to a server.
virtual void getObjectInfoAsync(::Ice::Identity id, std::function< void(const ObjectInfo &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the object info for the object.
virtual void getNodeInfoAsync(std::string name, std::function< void(const NodeInfo &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the node information of a node.
virtual void updateApplicationAsync(ApplicationUpdateDescriptor descriptor, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Updates a deployed application.
virtual void getServerAdminCategoryAsync(std::function< void(std::string_view returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the category for server admin objects.
virtual void getServerAdminAsync(std::string id, std::function< void(const std::optional< Ice::ObjectPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets a proxy to the admin object of a server.
virtual void getNodeAdminAsync(std::string name, std::function< void(const std::optional< Ice::ObjectPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets a proxy to the admin object of an IceGrid node.
virtual void getRegistryInfoAsync(std::string name, std::function< void(const RegistryInfo &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the registry information of an IceGrid registry.
virtual void syncApplicationWithoutRestartAsync(ApplicationDescriptor descriptor, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Synchronizes a deployed application.
virtual void addObjectWithTypeAsync(std::optional< Ice::ObjectPrx > obj, std::string type, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Adds an object to the object registry and explicitly specifies its type.
virtual void isServerEnabledAsync(std::string id, std::function< void(bool returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Checks if the server is enabled or disabled.
virtual void syncApplicationAsync(ApplicationDescriptor descriptor, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Synchronizes a deployed application.
virtual void updateApplicationWithoutRestartAsync(ApplicationUpdateDescriptor descriptor, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Updates a deployed application.
virtual void getApplicationInfoAsync(std::string name, std::function< void(const ApplicationInfo &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets an application descriptor.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual void getDefaultApplicationDescriptorAsync(std::function< void(const ApplicationDescriptor &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the default application descriptor.
virtual void addApplicationAsync(ApplicationDescriptor descriptor, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Adds an application to IceGrid.
virtual void getNodeLoadAsync(std::string name, std::function< void(const LoadInfo &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the load averages of a node.
virtual void getServerPidAsync(std::string id, std::function< void(std::int32_t returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the system process ID of a server.
virtual void updateObjectAsync(std::optional< Ice::ObjectPrx > obj, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Updates an object in the object registry.
AdminPrx ProxyType
The associated proxy type.
Definition Admin.h:4790
virtual void removeAdapterAsync(std::string id, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Removes the adapter with the given ID.
virtual void shutdownRegistryAsync(std::string name, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Shuts down an IceGrid registry.
virtual void getServerStateAsync(std::string id, std::function< void(ServerState returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the state of a server.
virtual void enableServerAsync(std::string id, bool enabled, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Enables or disables a server.
virtual void pingRegistryAsync(std::string name, std::function< void(bool returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Pings an IceGrid registry to see if it is active.
virtual void shutdownAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Shuts down the IceGrid registry.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void pingNodeAsync(std::string name, std::function< void(bool returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Pings an IceGrid node to see if it is active.
virtual void getAllRegistryNamesAsync(std::function< void(const ::Ice::StringSeq &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the names of all the IceGrid registries currently registered.
virtual void getAllApplicationNamesAsync(std::function< void(const ::Ice::StringSeq &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets all the IceGrid applications currently registered.
virtual void getAllAdapterIdsAsync(std::function< void(const ::Ice::StringSeq &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the IDs of all adapters registered with IceGrid.
virtual void getNodeHostnameAsync(std::string name, std::function< void(std::string_view returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Get the hostname of a node.
virtual void getAllNodeNamesAsync(std::function< void(const ::Ice::StringSeq &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the names of all IceGrid nodes currently registered.
virtual void shutdownNodeAsync(std::string name, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Shuts down an IceGrid node.
virtual void getNodeProcessorSocketCountAsync(std::string name, std::function< void(std::int32_t returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
virtual void getAllObjectInfosAsync(std::string expr, std::function< void(const ObjectInfoSeq &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the object info of all the registered objects whose stringified identities match the given expre...
virtual void removeObjectAsync(::Ice::Identity id, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Removes an object from the object registry.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void instantiateServerAsync(std::string application, std::string node, ServerInstanceDescriptor desc, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Instantiates a server template.
virtual void getAllServerIdsAsync(std::function< void(const ::Ice::StringSeq &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the IDs of all the servers registered with IceGrid.
virtual void getObjectInfosByTypeAsync(std::string type, std::function< void(const ObjectInfoSeq &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Gets the object info of all the registered objects with a given type.
virtual void removeApplicationAsync(std::string name, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Removes an application from IceGrid.
virtual void stopServerAsync(std::string id, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Stops a server.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
Provides administrative access to an IceGrid deployment.
Definition Admin.h:4787
virtual void applicationUpdatedAsync(std::int32_t serial, ApplicationUpdateInfo desc, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that an application was updated.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void applicationInitAsync(std::int32_t serial, ApplicationInfoSeq applications, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Provides the initial application infos to the observer.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void applicationAddedAsync(std::int32_t serial, ApplicationInfo desc, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that an application was added.
virtual void applicationRemovedAsync(std::int32_t serial, std::string name, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that an application was removed.
ApplicationObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:5573
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
Monitors applications.
Definition Admin.h:5570
FileIteratorPrx ProxyType
The associated proxy type.
Definition Admin.h:5391
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual void destroyAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Destroys the iterator.
virtual void readAsync(std::int32_t size, std::function< void(bool returnValue, const ::Ice::StringSeq &lines)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Read lines from the log file.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
Iterates over an IceGrid log file.
Definition Admin.h:5388
virtual void nodeInitAsync(NodeDynamicInfoSeq nodes, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Provides the initial state of the nodes to the observer.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual void nodeUpAsync(NodeDynamicInfo node, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that a node came up.
virtual void updateServerAsync(std::string node, ServerDynamicInfo updatedInfo, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that the state of a server changed.
virtual void nodeDownAsync(std::string name, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that a node went down.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void updateAdapterAsync(std::string node, AdapterDynamicInfo updatedInfo, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that the state of an object adapter changed.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
NodeObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:5496
Monitors changes to the state of the nodes.
Definition Admin.h:5493
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void objectAddedAsync(ObjectInfo info, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that a well-known object was added.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void objectRemovedAsync(::Ice::Identity id, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that a well-known object was removed.
ObjectObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:5707
virtual void objectInitAsync(ObjectInfoSeq objects, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Provides the initial list of well-known objects to the observer.
virtual void objectUpdatedAsync(ObjectInfo info, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that a well-known object was updated.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
Monitors well-known objects that are added, updated or removed using AdminPrx.
Definition Admin.h:5704
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
virtual void registryUpAsync(RegistryInfo registryReplica, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that a registry replica came up.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual void registryInitAsync(RegistryInfoSeq registries, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Provides the initial state of the registries to the observer.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
RegistryObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:5441
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void registryDownAsync(std::string name, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Notifies the observer that a registry replica went down.
Monitors changes to the state of the registries.
Definition Admin.h:5438
Represents a session object used by IceGrid clients to allocate and release objects.
Definition Session.h:351
BadSignalException(const BadSignalException &) noexcept=default
Copy constructor.
void ice_throw() const override
Throws this exception.
std::string reason
The details of the unknown signal.
Definition Admin.h:3418
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:3403
const char * ice_id() const noexcept override
Returns the type ID of this exception.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
BadSignalException() noexcept=default
Default constructor.
void ice_throw() const override
Throws this exception.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
std::string reason
The reason for the failure.
Definition Admin.h:3273
DeploymentException(const DeploymentException &) noexcept=default
Copy constructor.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
DeploymentException() noexcept=default
Default constructor.
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:3258
std::future< std::tuple< bool, ::Ice::StringSeq > > readAsync(std::int32_t size, const Ice::Context &context=Ice::noExplicitContext) const
Read lines from the log file.
FileIteratorPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Admin.h:1484
FileIteratorPrx(FileIteratorPrx &&other) noexcept
Move constructor.
Definition Admin.h:1492
std::function< void()> readAsync(std::int32_t size, std::function< void(bool, ::Ice::StringSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Read lines from the log file.
bool read(std::int32_t size, ::Ice::StringSeq &lines, const Ice::Context &context=Ice::noExplicitContext) const
Read lines from the log file.
std::future< void > destroyAsync(const Ice::Context &context=Ice::noExplicitContext) const
Destroys the iterator.
FileIteratorPrx & operator=(FileIteratorPrx &&rhs) noexcept
Move assignment operator.
Definition Admin.h:1510
FileIteratorPrx(const FileIteratorPrx &other) noexcept
Copy constructor.
Definition Admin.h:1488
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
FileIteratorPrx & operator=(const FileIteratorPrx &rhs) noexcept
Copy assignment operator.
Definition Admin.h:1499
void destroy(const Ice::Context &context=Ice::noExplicitContext) const
Destroys the iterator.
std::function< void()> destroyAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Destroys the iterator.
Iterates over an IceGrid log file.
Definition Admin.h:1479
std::string reason
The reason for the failure.
Definition Admin.h:3606
void ice_throw() const override
Throws this exception.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
FileNotAvailableException() noexcept=default
Default constructor.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:3591
FileNotAvailableException(const FileNotAvailableException &) noexcept=default
Copy constructor.
NodeObserverPrx & operator=(const NodeObserverPrx &rhs) noexcept
Copy assignment operator.
Definition Admin.h:1752
std::future< void > updateServerAsync(std::string_view node, const ServerDynamicInfo &updatedInfo, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that the state of a server changed.
std::function< void()> nodeUpAsync(const NodeDynamicInfo &node, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a node came up.
std::function< void()> updateAdapterAsync(std::string_view node, const AdapterDynamicInfo &updatedInfo, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that the state of an object adapter changed.
NodeObserverPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Admin.h:1737
std::future< void > nodeInitAsync(const NodeDynamicInfoSeq &nodes, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial state of the nodes to the observer.
void nodeInit(const NodeDynamicInfoSeq &nodes, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial state of the nodes to the observer.
void nodeUp(const NodeDynamicInfo &node, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a node came up.
std::future< void > nodeDownAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a node went down.
std::future< void > nodeUpAsync(const NodeDynamicInfo &node, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a node came up.
NodeObserverPrx & operator=(NodeObserverPrx &&rhs) noexcept
Move assignment operator.
Definition Admin.h:1763
std::function< void()> nodeInitAsync(const NodeDynamicInfoSeq &nodes, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial state of the nodes to the observer.
std::future< void > updateAdapterAsync(std::string_view node, const AdapterDynamicInfo &updatedInfo, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that the state of an object adapter changed.
void updateAdapter(std::string_view node, const AdapterDynamicInfo &updatedInfo, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that the state of an object adapter changed.
NodeObserverPrx(const NodeObserverPrx &other) noexcept
Copy constructor.
Definition Admin.h:1741
std::function< void()> updateServerAsync(std::string_view node, const ServerDynamicInfo &updatedInfo, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that the state of a server changed.
std::function< void()> nodeDownAsync(std::string_view name, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a node went down.
void nodeDown(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a node went down.
NodeObserverPrx(NodeObserverPrx &&other) noexcept
Move constructor.
Definition Admin.h:1745
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
void updateServer(std::string_view node, const ServerDynamicInfo &updatedInfo, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that the state of a server changed.
Monitors changes to the state of the nodes.
Definition Admin.h:1732
virtual void nodeUp(NodeDynamicInfo node, const Ice::Current &current)=0
Notifies the observer that a node came up.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void nodeInit(NodeDynamicInfoSeq nodes, const Ice::Current &current)=0
Provides the initial state of the nodes to the observer.
NodeObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:4337
virtual void nodeDown(std::string name, const Ice::Current &current)=0
Notifies the observer that a node went down.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual void updateAdapter(std::string node, AdapterDynamicInfo updatedInfo, const Ice::Current &current)=0
Notifies the observer that the state of an object adapter changed.
virtual void updateServer(std::string node, ServerDynamicInfo updatedInfo, const Ice::Current &current)=0
Notifies the observer that the state of a server changed.
Monitors changes to the state of the nodes.
Definition Admin.h:4334
std::string name
The name of the node that is not reachable.
Definition Admin.h:3320
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
const char * ice_id() const noexcept override
Returns the type ID of this exception.
NodeUnreachableException(const NodeUnreachableException &) noexcept=default
Copy constructor.
std::string reason
The reason why the node couldn't be reached.
Definition Admin.h:3323
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
NodeUnreachableException() noexcept=default
Default constructor.
void ice_throw() const override
Throws this exception.
std::tuple< const std::string &, const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:3305
std::function< void()> objectInitAsync(const ObjectInfoSeq &objects, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial list of well-known objects to the observer.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
void objectRemoved(const ::Ice::Identity &id, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a well-known object was removed.
ObjectObserverPrx & operator=(const ObjectObserverPrx &rhs) noexcept
Copy assignment operator.
Definition Admin.h:2262
std::function< void()> objectRemovedAsync(const ::Ice::Identity &id, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a well-known object was removed.
void objectAdded(const ObjectInfo &info, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a well-known object was added.
ObjectObserverPrx(ObjectObserverPrx &&other) noexcept
Move constructor.
Definition Admin.h:2255
std::future< void > objectRemovedAsync(const ::Ice::Identity &id, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a well-known object was removed.
std::future< void > objectInitAsync(const ObjectInfoSeq &objects, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial list of well-known objects to the observer.
ObjectObserverPrx & operator=(ObjectObserverPrx &&rhs) noexcept
Move assignment operator.
Definition Admin.h:2273
std::future< void > objectUpdatedAsync(const ObjectInfo &info, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a well-known object was updated.
std::future< void > objectAddedAsync(const ObjectInfo &info, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a well-known object was added.
std::function< void()> objectUpdatedAsync(const ObjectInfo &info, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a well-known object was updated.
std::function< void()> objectAddedAsync(const ObjectInfo &info, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a well-known object was added.
ObjectObserverPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Admin.h:2247
void objectUpdated(const ObjectInfo &info, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a well-known object was updated.
ObjectObserverPrx(const ObjectObserverPrx &other) noexcept
Copy constructor.
Definition Admin.h:2251
void objectInit(const ObjectInfoSeq &objects, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial list of well-known objects to the observer.
Monitors well-known objects that are added, updated or removed using AdminPrx.
Definition Admin.h:2242
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual void objectInit(ObjectInfoSeq objects, const Ice::Current &current)=0
Provides the initial list of well-known objects to the observer.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void objectRemoved(::Ice::Identity id, const Ice::Current &current)=0
Notifies the observer that a well-known object was removed.
virtual void objectUpdated(ObjectInfo info, const Ice::Current &current)=0
Notifies the observer that a well-known object was updated.
ObjectObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:4522
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void objectAdded(ObjectInfo info, const Ice::Current &current)=0
Notifies the observer that a well-known object was added.
Monitors well-known objects that are added, updated or removed using AdminPrx.
Definition Admin.h:4519
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
ObserverAlreadyRegisteredException() noexcept=default
Default constructor.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
std::tuple< const ::Ice::Identity & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:3540
ObserverAlreadyRegisteredException(const ObserverAlreadyRegisteredException &) noexcept=default
Copy constructor.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
void ice_throw() const override
Throws this exception.
PermissionDeniedException() noexcept=default
Default constructor.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
void ice_throw() const override
Throws this exception.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
PermissionDeniedException(const PermissionDeniedException &) noexcept=default
Copy constructor.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
std::string reason
The reason why permission was denied.
Definition Admin.h:3508
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:3493
std::future< void > registryUpAsync(const RegistryInfo &registryReplica, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a registry replica came up.
RegistryObserverPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Admin.h:1605
std::future< void > registryDownAsync(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a registry replica went down.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
void registryDown(std::string_view name, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a registry replica went down.
RegistryObserverPrx(const RegistryObserverPrx &other) noexcept
Copy constructor.
Definition Admin.h:1609
void registryInit(const RegistryInfoSeq &registries, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial state of the registries to the observer.
std::function< void()> registryInitAsync(const RegistryInfoSeq &registries, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial state of the registries to the observer.
RegistryObserverPrx & operator=(RegistryObserverPrx &&rhs) noexcept
Move assignment operator.
Definition Admin.h:1631
std::future< void > registryInitAsync(const RegistryInfoSeq &registries, const Ice::Context &context=Ice::noExplicitContext) const
Provides the initial state of the registries to the observer.
std::function< void()> registryDownAsync(std::string_view name, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a registry replica went down.
std::function< void()> registryUpAsync(const RegistryInfo &registryReplica, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a registry replica came up.
void registryUp(const RegistryInfo &registryReplica, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a registry replica came up.
RegistryObserverPrx & operator=(const RegistryObserverPrx &rhs) noexcept
Copy assignment operator.
Definition Admin.h:1620
RegistryObserverPrx(RegistryObserverPrx &&other) noexcept
Move constructor.
Definition Admin.h:1613
Monitors changes to the state of the registries.
Definition Admin.h:1600
RegistryObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:4288
virtual void registryInit(RegistryInfoSeq registries, const Ice::Current &current)=0
Provides the initial state of the registries to the observer.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
virtual void registryUp(RegistryInfo registryReplica, const Ice::Current &current)=0
Notifies the observer that a registry replica came up.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void registryDown(std::string name, const Ice::Current &current)=0
Notifies the observer that a registry replica went down.
Monitors changes to the state of the registries.
Definition Admin.h:4285
Represents the main entry point into the IceGrid registry service.
Definition Registry.h:275
const char * ice_id() const noexcept override
Returns the type ID of this exception.
void ice_throw() const override
Throws this exception.
RegistryUnreachableException() noexcept=default
Default constructor.
RegistryUnreachableException(const RegistryUnreachableException &) noexcept=default
Copy constructor.
std::string name
The name of the registry that is not reachable.
Definition Admin.h:3370
std::tuple< const std::string &, const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:3355
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
std::string reason
The reason why the registry couldn't be reached.
Definition Admin.h:3373
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
Represents a request received by a connection.
ObjectPrx & operator=(const ObjectPrx &rhs) noexcept=default
Copy assignment operator.
The base class for all Ice proxies.
Definition Proxy.h:232
Object() noexcept=default
Default constructor.
The base class for servants.
Definition Object.h:21
Represents the response to an incoming request.
Provides typed proxy functions.
Definition Proxy.h:45
Abstract base class for all Ice exceptions defined in Slice.
Communicate through firewalls and across NATs.
std::shared_ptr< AdminSession > AdminSessionPtr
A shared pointer to an AdminSession.
Definition Admin.h:4779
std::shared_ptr< ApplicationObserver > ApplicationObserverPtr
A shared pointer to an ApplicationObserver.
Definition Admin.h:4458
std::ostream & operator<<(std::ostream &os, ServerState value)
Outputs the enumerator name or underlying value of a ServerState to a stream.
std::vector< AdapterDynamicInfo > AdapterDynamicInfoSeq
A sequence of AdapterDynamicInfo.
Definition Admin.h:112
std::shared_ptr< AdapterObserver > AdapterObserverPtr
A shared pointer to an AdapterObserver.
Definition Admin.h:4514
std::vector< AdapterInfo > AdapterInfoSeq
A sequence of AdapterInfo.
Definition Admin.h:80
std::vector< NodeDynamicInfo > NodeDynamicInfoSeq
A sequence of NodeDynamicInfo.
Definition Admin.h:119
ServerState
Represents the state of a server.
Definition Admin.h:39
@ Deactivating
The server is being deactivated.
Definition Admin.h:54
@ Inactive
The server is not running.
Definition Admin.h:41
@ Active
The server is running.
Definition Admin.h:51
@ Destroying
The server is being destroyed.
Definition Admin.h:57
@ ActivationTimedOut
The server activation timed out.
Definition Admin.h:48
@ Destroyed
The server is destroyed.
Definition Admin.h:60
@ Activating
The server is being activated and will change to the active state when the registered server object a...
Definition Admin.h:45
std::shared_ptr< FileIterator > FileIteratorPtr
A shared pointer to a FileIterator.
Definition Admin.h:4280
std::vector< RegistryInfo > RegistryInfoSeq
A sequence of RegistryInfo.
Definition Admin.h:89
std::shared_ptr< AsyncFileIterator > AsyncFileIteratorPtr
A shared pointer to an AsyncFileIterator.
Definition Admin.h:5433
std::shared_ptr< AsyncApplicationObserver > AsyncApplicationObserverPtr
A shared pointer to an AsyncApplicationObserver.
Definition Admin.h:5635
std::shared_ptr< AsyncAdmin > AsyncAdminPtr
A shared pointer to an AsyncAdmin.
Definition Admin.h:5383
std::shared_ptr< ServerDescriptor > ServerDescriptorPtr
A shared pointer to a ServerDescriptor.
Definition Descriptor.h:72
std::shared_ptr< RegistryObserver > RegistryObserverPtr
A shared pointer to a RegistryObserver.
Definition Admin.h:4329
std::shared_ptr< AsyncNodeObserver > AsyncNodeObserverPtr
A shared pointer to an AsyncNodeObserver.
Definition Admin.h:5565
std::map< std::string, std::optional< Ice::ObjectPrx > > StringObjectProxyDict
A dictionary of string to proxies.
Definition Admin.h:70
std::shared_ptr< NodeObserver > NodeObserverPtr
A shared pointer to a NodeObserver.
Definition Admin.h:4396
std::shared_ptr< Admin > AdminPtr
A shared pointer to an Admin.
Definition Admin.h:4234
std::shared_ptr< ObjectObserver > ObjectObserverPtr
A shared pointer to an ObjectObserver.
Definition Admin.h:4571
std::shared_ptr< AsyncRegistryObserver > AsyncRegistryObserverPtr
A shared pointer to an AsyncRegistryObserver.
Definition Admin.h:5488
std::shared_ptr< AsyncObjectObserver > AsyncObjectObserverPtr
A shared pointer to an AsyncObjectObserver.
Definition Admin.h:5764
std::vector< ServerDynamicInfo > ServerDynamicInfoSeq
A sequence of ServerDynamicInfo.
Definition Admin.h:107
std::shared_ptr< AsyncAdapterObserver > AsyncAdapterObserverPtr
A shared pointer to an AsyncAdapterObserver.
Definition Admin.h:5699
std::vector< ObjectInfo > ObjectInfoSeq
A sequence of ObjectInfo.
Definition Admin.h:75
std::vector< ApplicationInfo > ApplicationInfoSeq
A sequence of ApplicationInfo.
Definition Admin.h:96
std::shared_ptr< AsyncAdminSession > AsyncAdminSessionPtr
A shared pointer to an AsyncAdminSession.
Definition Admin.h:6002
Deploy and manage Ice servers.
Definition Admin.h:34
std::shared_ptr< Communicator > CommunicatorPtr
A shared pointer to a Communicator.
const Context noExplicitContext
Marker value used to indicate that no explicit request context was passed to a proxy invocation.
std::vector< std::string > StringSeq
A sequence of strings.
std::map< std::string, std::string, std::less<> > Context
Represents additional information carried by an Ice request.
Definition Context.h:28
The Ice RPC framework.
Definition SampleEvent.h:59
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::tuple< const std::string &, const std::optional< Ice::ObjectPrx > & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:3662
std::optional< Ice::ObjectPrx > proxy
The direct proxy containing the adapter endpoints. This proxy is never null.
Definition Admin.h:3658
std::string id
The id of the adapter.
Definition Admin.h:3655
Dynamic information about the state of an adapter.
Definition Admin.h:3653
std::string replicaGroupId
The replica group ID of the object adapter, or empty if the adapter doesn't belong to a replica group...
Definition Admin.h:2995
std::string id
The ID of the adapter.
Definition Admin.h:2989
std::tuple< const std::string &, const std::optional< Ice::ObjectPrx > &, const std::string & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:2999
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::optional< Ice::ObjectPrx > proxy
A dummy direct proxy that contains the adapter endpoints.
Definition Admin.h:2992
Information about an adapter registered with the IceGrid registry.
Definition Admin.h:2987
Describes an application.
std::int64_t updateTime
The last update time.
Definition Admin.h:3175
std::int64_t createTime
The creation time.
Definition Admin.h:3169
std::string updateUser
The user who updated the application.
Definition Admin.h:3178
std::string createUser
The user who created the application.
Definition Admin.h:3172
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
::IceGrid::ApplicationDescriptor descriptor
The application descriptor.
Definition Admin.h:3184
std::tuple< const std::string &, const std::int64_t &, const std::string &, const std::int64_t &, const std::string &, const std::int32_t &, const ::IceGrid::ApplicationDescriptor & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:3188
std::string uuid
Unique application identifier.
Definition Admin.h:3166
std::int32_t revision
The application revision number.
Definition Admin.h:3181
Information about an IceGrid application.
Definition Admin.h:3164
An application update descriptor to describe the updates to apply to a deployed application.
::IceGrid::ApplicationUpdateDescriptor descriptor
The update descriptor.
Definition Admin.h:3218
std::int32_t revision
The application revision number.
Definition Admin.h:3215
std::tuple< const std::int64_t &, const std::string &, const std::int32_t &, const ::IceGrid::ApplicationUpdateDescriptor & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:3222
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::int64_t updateTime
The update time.
Definition Admin.h:3209
std::string updateUser
The user who updated the application.
Definition Admin.h:3212
Information about updates to an IceGrid application.
Definition Admin.h:3207
float avg5
The load average over the past 5 minutes.
Definition Admin.h:3138
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::tuple< const float &, const float &, const float & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:3145
float avg15
The load average over the past 15 minutes.
Definition Admin.h:3141
float avg1
The load average over the past minute.
Definition Admin.h:3135
Information about the load of a node.
Definition Admin.h:3133
::IceGrid::NodeInfo info
Some static information about the node.
Definition Admin.h:3683
::IceGrid::AdapterDynamicInfoSeq adapters
The dynamic information of the adapters deployed on this node.
Definition Admin.h:3689
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::tuple< const ::IceGrid::NodeInfo &, const ::IceGrid::ServerDynamicInfoSeq &, const ::IceGrid::AdapterDynamicInfoSeq & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:3693
::IceGrid::ServerDynamicInfoSeq servers
The dynamic information of the servers deployed on this node.
Definition Admin.h:3686
Dynamic information about the state of a node.
Definition Admin.h:3681
std::string release
The operation system release level.
Definition Admin.h:3069
std::tuple< const std::string &, const std::string &, const std::string &, const std::string &, const std::string &, const std::string &, const std::int32_t &, const std::string & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:3086
std::string machine
The machine hardware type.
Definition Admin.h:3075
std::string hostname
The network name of the host running this node.
Definition Admin.h:3066
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::string os
The operating system name.
Definition Admin.h:3063
std::string version
The operation system version.
Definition Admin.h:3072
std::string name
The name of the node.
Definition Admin.h:3060
std::int32_t nProcessors
The number of processor threads on the node.
Definition Admin.h:3079
std::string dataDir
The path to the node data directory.
Definition Admin.h:3082
Information about an IceGrid node.
Definition Admin.h:3058
std::tuple< const std::optional< Ice::ObjectPrx > &, const std::string & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:2968
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::string type
The type of the object.
Definition Admin.h:2964
std::optional< Ice::ObjectPrx > proxy
The proxy of the object.
Definition Admin.h:2961
Information about an Ice well-known object.
Definition Admin.h:2959
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::tuple< const std::string &, const std::string & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:3114
std::string name
The name of the registry.
Definition Admin.h:3107
std::string hostname
The network name of the host running this registry.
Definition Admin.h:3110
Information about an IceGrid registry replica.
Definition Admin.h:3105
::IceGrid::ServerState state
The state of the server.
Definition Admin.h:3624
std::string id
The ID of the server.
Definition Admin.h:3621
std::int32_t pid
The process ID of the server.
Definition Admin.h:3627
std::tuple< const std::string &, const ::IceGrid::ServerState &, const std::int32_t &, const bool & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:3634
bool enabled
Indicates whether the server is enabled.
Definition Admin.h:3630
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
Dynamic information about the state of a server.
Definition Admin.h:3619
::IceGrid::ServerDescriptorPtr descriptor
The server descriptor.
Definition Admin.h:3032
std::string application
The application to which this server belongs.
Definition Admin.h:3020
std::string uuid
The application UUID.
Definition Admin.h:3023
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::tuple< const std::string &, const std::string &, const std::int32_t &, const std::string &, const ::IceGrid::ServerDescriptorPtr &, const std::string & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition Admin.h:3039
std::string sessionId
The ID of the session which allocated the server.
Definition Admin.h:3035
std::string node
The IceGrid node where this server is deployed.
Definition Admin.h:3029
std::int32_t revision
The application revision.
Definition Admin.h:3026
Information about a server managed by an IceGrid node.
Definition Admin.h:3018
Describes a template instantiation that creates a server.
Definition Descriptor.h:623
Provides information about an incoming request being dispatched.
Definition Current.h:18
Represents the identity of an Ice object.
Definition Identity.h:40