Ice 3.8
C++ API Reference
Loading...
Searching...
No Matches
Admin.h
1// Copyright (c) ZeroC, Inc.
2
3// slice2cpp version 3.8.3
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 / 100 != 308
19# error Ice version mismatch!
20# endif
21# if ICE_INT_VERSION % 100 >= 50
22# error Beta header file detected
23# endif
24# if ICE_INT_VERSION % 100 < 3
25# error Ice patch level mismatch!
26# endif
27#endif
28
29#ifndef ICEGRID_API
30# if defined(ICEGRID_API_EXPORTS)
31# define ICEGRID_API ICE_DECLSPEC_EXPORT
32# else
33# define ICEGRID_API ICE_DECLSPEC_IMPORT
34# endif
35#endif
36
37// NOLINTBEGIN(modernize-concat-nested-namespaces)
38
39namespace IceGrid
40{
41 class RegistryPrx;
42
43 /// Represents the state of a server.
44 /// @remarks The Slice compiler generated this enum class from Slice enumeration `::IceGrid::ServerState`.
45 enum class ServerState : std::uint8_t
46 {
47 /// The server is not running.
49
50 /// The server is being activated and will change to the active state when the registered server object adapters
51 /// are activated or to the activation timed out state if the activation timeout expires.
53
54 /// The server activation timed out.
56
57 /// The server is running.
59
60 /// The server is being deactivated.
62
63 /// The server is being destroyed.
65
66 /// The server is destroyed.
68 };
69
70 /// Outputs the enumerator name or underlying value of a ServerState to a stream.
71 /// @param os The output stream.
72 /// @param value The value to output.
73 /// @return The output stream.
74 ICEGRID_API std::ostream& operator<<(std::ostream& os, ServerState value);
75
76 /// A dictionary of string to proxies.
77 using StringObjectProxyDict = std::map<std::string, std::optional<Ice::ObjectPrx>>;
78
79 struct ObjectInfo;
80
81 /// A sequence of ObjectInfo.
82 using ObjectInfoSeq = std::vector<ObjectInfo>;
83
84 struct AdapterInfo;
85
86 /// A sequence of AdapterInfo.
87 using AdapterInfoSeq = std::vector<AdapterInfo>;
88
89 struct ServerInfo;
90
91 struct NodeInfo;
92
93 struct RegistryInfo;
94
95 /// A sequence of RegistryInfo.
96 using RegistryInfoSeq = std::vector<RegistryInfo>;
97
98 struct LoadInfo;
99
100 struct ApplicationInfo;
101
102 /// A sequence of ApplicationInfo.
103 using ApplicationInfoSeq = std::vector<ApplicationInfo>;
104
106
107 class AdminPrx;
108
109 class FileIteratorPrx;
110
111 struct ServerDynamicInfo;
112
113 /// A sequence of ServerDynamicInfo.
114 using ServerDynamicInfoSeq = std::vector<ServerDynamicInfo>;
115
116 struct AdapterDynamicInfo;
117
118 /// A sequence of AdapterDynamicInfo.
119 using AdapterDynamicInfoSeq = std::vector<AdapterDynamicInfo>;
120
121 struct NodeDynamicInfo;
122
124
125 /// A sequence of NodeDynamicInfo.
126 using NodeDynamicInfoSeq = std::vector<NodeDynamicInfo>;
127
128 class NodeObserverPrx;
129
131
132 class AdapterObserverPrx;
133
134 class ObjectObserverPrx;
135
136 class AdminSessionPrx;
137}
138
139namespace IceGrid
140{
141 /// Provides administrative access to an IceGrid deployment.
142 /// @remarks The Slice compiler generated this proxy class from Slice interface `::IceGrid::Admin`.
143 /// @headerfile IceGrid/IceGrid.h
144 class ICEGRID_API AdminPrx : public Ice::Proxy<AdminPrx, Ice::ObjectPrx>
145 {
146 public:
147 /// Constructs a proxy from a Communicator and a proxy string.
148 /// @param communicator The communicator of the new proxy.
149 /// @param proxyString The proxy string to parse.
150 AdminPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
151
152 /// Copy constructor. Constructs with a copy of the contents of @p other.
153 /// @param other The proxy to copy from.
154 AdminPrx(const AdminPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
155
156 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
157 /// @param other The proxy to move from.
158 AdminPrx(AdminPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
159
160 ~AdminPrx() override;
161
162 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
163 /// @param rhs The proxy to copy from.
164 /// @return A reference to this proxy.
165 AdminPrx& operator=(const AdminPrx& rhs) noexcept
166 {
167 if (this != &rhs)
168 {
170 }
171 return *this;
172 }
173
174 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
175 /// @param rhs The proxy to move from.
176 AdminPrx& operator=(AdminPrx&& rhs) noexcept
177 {
178 if (this != &rhs)
179 {
180 Ice::ObjectPrx::operator=(std::move(rhs));
181 }
182 return *this;
183 }
184
185 /// Adds an application to IceGrid.
186 /// @param descriptor The application descriptor.
187 /// @param context The request context.
188 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
189 /// session is holding the lock.
190 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
191 void addApplication(const ApplicationDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
192
193 /// Adds an application to IceGrid.
194 /// @param descriptor The application descriptor.
195 /// @param context The request context.
196 /// @return A future that becomes available when the invocation completes.
197 [[nodiscard]] std::future<void> addApplicationAsync(const ApplicationDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
198
199 /// Adds an application to IceGrid.
200 /// @param descriptor The application descriptor.
201 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
202 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
203 /// function.
204 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
205 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
206 /// function.
207 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
208 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
209 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
210 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
211 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
212 /// asynchronous case.
213 /// @param context The request context.
214 /// @return A function that can be called to cancel the invocation locally.
215 // NOLINTNEXTLINE(modernize-use-nodiscard)
216 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;
217
218 /// @private
219 void _iceI_addApplication(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ApplicationDescriptor&, const Ice::Context&) const;
220
221 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor.
222 /// @param descriptor The new application descriptor.
223 /// @param context The request context.
224 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
225 /// session is holding the lock.
226 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
227 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
228 void syncApplication(const ApplicationDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
229
230 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor.
231 /// @param descriptor The new application descriptor.
232 /// @param context The request context.
233 /// @return A future that becomes available when the invocation completes.
234 [[nodiscard]] std::future<void> syncApplicationAsync(const ApplicationDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
235
236 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor.
237 /// @param descriptor The new application descriptor.
238 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
239 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
240 /// function.
241 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
242 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
243 /// function.
244 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
245 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
246 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
247 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
248 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
249 /// asynchronous case.
250 /// @param context The request context.
251 /// @return A function that can be called to cancel the invocation locally.
252 // NOLINTNEXTLINE(modernize-use-nodiscard)
253 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;
254
255 /// @private
256 void _iceI_syncApplication(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ApplicationDescriptor&, const Ice::Context&) const;
257
258 /// Updates a deployed application.
259 /// @param descriptor The update descriptor.
260 /// @param context The request context.
261 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
262 /// session is holding the lock.
263 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
264 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
266
267 /// Updates a deployed application.
268 /// @param descriptor The update descriptor.
269 /// @param context The request context.
270 /// @return A future that becomes available when the invocation completes.
271 [[nodiscard]] std::future<void> updateApplicationAsync(const ApplicationUpdateDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
272
273 /// Updates a deployed application.
274 /// @param descriptor The update descriptor.
275 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
276 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
277 /// function.
278 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
279 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
280 /// function.
281 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
282 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
283 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
284 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
285 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
286 /// asynchronous case.
287 /// @param context The request context.
288 /// @return A function that can be called to cancel the invocation locally.
289 // NOLINTNEXTLINE(modernize-use-nodiscard)
290 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;
291
292 /// @private
293 void _iceI_updateApplication(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ApplicationUpdateDescriptor&, const Ice::Context&) const;
294
295 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor
296 /// only if no server restarts are necessary for the update of the application. If some servers need to be
297 /// restarted, the synchronization is rejected with a DeploymentException.
298 /// @param descriptor The application descriptor.
299 /// @param context The request context.
300 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
301 /// session is holding the lock.
302 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
303 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
305
306 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor
307 /// only if no server restarts are necessary for the update of the application. If some servers need to be
308 /// restarted, the synchronization is rejected with a DeploymentException.
309 /// @param descriptor The application descriptor.
310 /// @param context The request context.
311 /// @return A future that becomes available when the invocation completes.
312 [[nodiscard]] std::future<void> syncApplicationWithoutRestartAsync(const ApplicationDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
313
314 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor
315 /// only if no server restarts are necessary for the update of the application. If some servers need to be
316 /// restarted, the synchronization is rejected with a DeploymentException.
317 /// @param descriptor The application descriptor.
318 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
319 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
320 /// function.
321 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
322 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
323 /// function.
324 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
325 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
326 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
327 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
328 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
329 /// asynchronous case.
330 /// @param context The request context.
331 /// @return A function that can be called to cancel the invocation locally.
332 // NOLINTNEXTLINE(modernize-use-nodiscard)
333 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;
334
335 /// @private
336 void _iceI_syncApplicationWithoutRestart(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ApplicationDescriptor&, const Ice::Context&) const;
337
338 /// Updates a deployed application. This operation succeeds only when no server restarts are necessary for the
339 /// update of the application. If some servers need to be restarted, the synchronization is rejected with a
340 /// DeploymentException.
341 /// @param descriptor The update descriptor.
342 /// @param context The request context.
343 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
344 /// session is holding the lock.
345 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
346 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
348
349 /// Updates a deployed application. This operation succeeds only when no server restarts are necessary for the
350 /// update of the application. If some servers need to be restarted, the synchronization is rejected with a
351 /// DeploymentException.
352 /// @param descriptor The update descriptor.
353 /// @param context The request context.
354 /// @return A future that becomes available when the invocation completes.
355 [[nodiscard]] std::future<void> updateApplicationWithoutRestartAsync(const ApplicationUpdateDescriptor& descriptor, const Ice::Context& context = Ice::noExplicitContext) const;
356
357 /// Updates a deployed application. This operation succeeds only when no server restarts are necessary for the
358 /// update of the application. If some servers need to be restarted, the synchronization is rejected with a
359 /// DeploymentException.
360 /// @param descriptor The update descriptor.
361 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
362 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
363 /// function.
364 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
365 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
366 /// function.
367 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
368 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
369 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
370 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
371 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
372 /// asynchronous case.
373 /// @param context The request context.
374 /// @return A function that can be called to cancel the invocation locally.
375 // NOLINTNEXTLINE(modernize-use-nodiscard)
376 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;
377
378 /// @private
379 void _iceI_updateApplicationWithoutRestart(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ApplicationUpdateDescriptor&, const Ice::Context&) const;
380
381 /// Removes an application from IceGrid.
382 /// @param name The application name.
383 /// @param context The request context.
384 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
385 /// session is holding the lock.
386 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
387 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
388 void removeApplication(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
389
390 /// Removes an application from IceGrid.
391 /// @param name The application name.
392 /// @param context The request context.
393 /// @return A future that becomes available when the invocation completes.
394 [[nodiscard]] std::future<void> removeApplicationAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
395
396 /// Removes an application from IceGrid.
397 /// @param name The application name.
398 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
399 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
400 /// function.
401 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
402 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
403 /// function.
404 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
405 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
406 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
407 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
408 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
409 /// asynchronous case.
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()> 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;
414
415 /// @private
416 void _iceI_removeApplication(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
417
418 /// Instantiates a server template.
419 /// @param application The application name.
420 /// @param node The name of the node where the server will be deployed.
421 /// @param desc The descriptor of the server instance to deploy.
422 /// @param context The request context.
423 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
424 /// session is holding the lock.
425 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
426 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
427 void instantiateServer(std::string_view application, std::string_view node, const ServerInstanceDescriptor& desc, const Ice::Context& context = Ice::noExplicitContext) const;
428
429 /// Instantiates a server template.
430 /// @param application The application name.
431 /// @param node The name of the node where the server will be deployed.
432 /// @param desc The descriptor of the server instance to deploy.
433 /// @param context The request context.
434 /// @return A future that becomes available when the invocation completes.
435 [[nodiscard]] std::future<void> instantiateServerAsync(std::string_view application, std::string_view node, const ServerInstanceDescriptor& desc, const Ice::Context& context = Ice::noExplicitContext) const;
436
437 /// Instantiates a server template.
438 /// @param application The application name.
439 /// @param node The name of the node where the server will be deployed.
440 /// @param desc The descriptor of the server instance to deploy.
441 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
442 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
443 /// function.
444 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
445 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
446 /// function.
447 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
448 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
449 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
450 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
451 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
452 /// asynchronous case.
453 /// @param context The request context.
454 /// @return A function that can be called to cancel the invocation locally.
455 // NOLINTNEXTLINE(modernize-use-nodiscard)
456 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;
457
458 /// @private
459 void _iceI_instantiateServer(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, std::string_view, const ServerInstanceDescriptor&, const Ice::Context&) const;
460
461 /// Gets information about an application.
462 /// @param name The application name.
463 /// @param context The request context.
464 /// @return The application information.
465 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
466 ApplicationInfo getApplicationInfo(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
467
468 /// Gets information about an application.
469 /// @param name The application name.
470 /// @param context The request context.
471 /// @return A future that becomes available when the invocation completes. This future holds:
472 /// - The application information.
473 [[nodiscard]] std::future<ApplicationInfo> getApplicationInfoAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
474
475 /// Gets information about an application.
476 /// @param name The application name.
477 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
478 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
479 /// function. It accepts:
480 /// - The application information.
481 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
482 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
483 /// function.
484 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
485 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
486 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
487 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
488 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
489 /// asynchronous case.
490 /// @param context The request context.
491 /// @return A function that can be called to cancel the invocation locally.
492 // NOLINTNEXTLINE(modernize-use-nodiscard)
493 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;
494
495 /// @private
496 void _iceI_getApplicationInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<ApplicationInfo>>&, std::string_view, const Ice::Context&) const;
497
498 /// Gets the default application descriptor.
499 /// @param context The request context.
500 /// @return The default application descriptor.
501 /// @throws IceGrid::DeploymentException Thrown when the default application descriptor is invalid or unreachable.
502 ApplicationDescriptor getDefaultApplicationDescriptor(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
503
504 /// Gets the default application descriptor.
505 /// @param context The request context.
506 /// @return A future that becomes available when the invocation completes. This future holds:
507 /// - The default application descriptor.
508 [[nodiscard]] std::future<ApplicationDescriptor> getDefaultApplicationDescriptorAsync(const Ice::Context& context = Ice::noExplicitContext) const;
509
510 /// Gets the default application descriptor.
511 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
512 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
513 /// function. It accepts:
514 /// - The default application descriptor.
515 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
516 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
517 /// function.
518 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
519 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
520 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
521 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
522 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
523 /// asynchronous case.
524 /// @param context The request context.
525 /// @return A function that can be called to cancel the invocation locally.
526 // NOLINTNEXTLINE(modernize-use-nodiscard)
527 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;
528
529 /// @private
530 void _iceI_getDefaultApplicationDescriptor(const std::shared_ptr<IceInternal::OutgoingAsyncT<ApplicationDescriptor>>&, const Ice::Context&) const;
531
532 /// Gets all the IceGrid applications currently registered.
533 /// @param context The request context.
534 /// @return The application names.
535 ::Ice::StringSeq getAllApplicationNames(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
536
537 /// Gets all the IceGrid applications currently registered.
538 /// @param context The request context.
539 /// @return A future that becomes available when the invocation completes. This future holds:
540 /// - The application names.
541 [[nodiscard]] std::future<::Ice::StringSeq> getAllApplicationNamesAsync(const Ice::Context& context = Ice::noExplicitContext) const;
542
543 /// Gets all the IceGrid applications currently registered.
544 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
545 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
546 /// function. It accepts:
547 /// - The application names.
548 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
549 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
550 /// function.
551 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
552 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
553 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
554 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
555 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
556 /// asynchronous case.
557 /// @param context The request context.
558 /// @return A function that can be called to cancel the invocation locally.
559 // NOLINTNEXTLINE(modernize-use-nodiscard)
560 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;
561
562 /// @private
563 void _iceI_getAllApplicationNames(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
564
565 /// Gets information about a server.
566 /// @param id The server ID.
567 /// @param context The request context.
568 /// @return The server information.
569 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
570 ServerInfo getServerInfo(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
571
572 /// Gets information about a server.
573 /// @param id The server ID.
574 /// @param context The request context.
575 /// @return A future that becomes available when the invocation completes. This future holds:
576 /// - The server information.
577 [[nodiscard]] std::future<ServerInfo> getServerInfoAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
578
579 /// Gets information about a server.
580 /// @param id The server ID.
581 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
582 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
583 /// function. It accepts:
584 /// - The server information.
585 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
586 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
587 /// function.
588 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
589 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
590 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
591 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
592 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
593 /// asynchronous case.
594 /// @param context The request context.
595 /// @return A function that can be called to cancel the invocation locally.
596 // NOLINTNEXTLINE(modernize-use-nodiscard)
597 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;
598
599 /// @private
600 void _iceI_getServerInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<ServerInfo>>&, std::string_view, const Ice::Context&) const;
601
602 /// Gets the state of a server.
603 /// @param id The server ID.
604 /// @param context The request context.
605 /// @return The server state.
606 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
607 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
608 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
609 ServerState getServerState(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
610
611 /// Gets the state of a server.
612 /// @param id The server ID.
613 /// @param context The request context.
614 /// @return A future that becomes available when the invocation completes. This future holds:
615 /// - The server state.
616 [[nodiscard]] std::future<ServerState> getServerStateAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
617
618 /// Gets the state of a server.
619 /// @param id The server ID.
620 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
621 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
622 /// function. It accepts:
623 /// - The server state.
624 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
625 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
626 /// function.
627 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
628 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
629 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
630 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
631 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
632 /// asynchronous case.
633 /// @param context The request context.
634 /// @return A function that can be called to cancel the invocation locally.
635 // NOLINTNEXTLINE(modernize-use-nodiscard)
636 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;
637
638 /// @private
639 void _iceI_getServerState(const std::shared_ptr<IceInternal::OutgoingAsyncT<ServerState>>&, std::string_view, const Ice::Context&) const;
640
641 /// Gets the system process ID of a server. The process ID is operating system dependent.
642 /// @param id The server ID.
643 /// @param context The request context.
644 /// @return The process ID.
645 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
646 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
647 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
648 std::int32_t getServerPid(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
649
650 /// Gets the system process ID of a server. The process ID is operating system dependent.
651 /// @param id The server ID.
652 /// @param context The request context.
653 /// @return A future that becomes available when the invocation completes. This future holds:
654 /// - The process ID.
655 [[nodiscard]] std::future<std::int32_t> getServerPidAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
656
657 /// Gets the system process ID of a server. The process ID is operating system dependent.
658 /// @param id The server ID.
659 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
660 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
661 /// function. It accepts:
662 /// - The process ID.
663 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
664 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
665 /// function.
666 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
667 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
668 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
669 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
670 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
671 /// asynchronous case.
672 /// @param context The request context.
673 /// @return A function that can be called to cancel the invocation locally.
674 // NOLINTNEXTLINE(modernize-use-nodiscard)
675 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;
676
677 /// @private
678 void _iceI_getServerPid(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::int32_t>>&, std::string_view, const Ice::Context&) const;
679
680 /// Gets the category for server admin objects. You can manufacture a server admin proxy from the admin proxy by
681 /// changing its identity: use the server ID as name and the returned category as category.
682 /// @param context The request context.
683 /// @return The category for server admin objects.
684 std::string getServerAdminCategory(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
685
686 /// Gets the category for server admin objects. You can manufacture a server admin proxy from the admin proxy by
687 /// changing its identity: use the server ID as name and the returned category as category.
688 /// @param context The request context.
689 /// @return A future that becomes available when the invocation completes. This future holds:
690 /// - The category for server admin objects.
691 [[nodiscard]] std::future<std::string> getServerAdminCategoryAsync(const Ice::Context& context = Ice::noExplicitContext) const;
692
693 /// Gets the category for server admin objects. You can manufacture a server admin proxy from the admin proxy by
694 /// changing its identity: use the server ID as name and the returned category as category.
695 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
696 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
697 /// function. It accepts:
698 /// - The category for server admin objects.
699 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
700 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
701 /// function.
702 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
703 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
704 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
705 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
706 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
707 /// asynchronous case.
708 /// @param context The request context.
709 /// @return A function that can be called to cancel the invocation locally.
710 // NOLINTNEXTLINE(modernize-use-nodiscard)
711 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;
712
713 /// @private
714 void _iceI_getServerAdminCategory(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::string>>&, const Ice::Context&) const;
715
716 /// Gets a proxy to the admin object of a server.
717 /// @param id The server ID.
718 /// @param context The request context.
719 /// @return A proxy to the admin object of the server. This proxy is never null.
720 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
721 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
722 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
723 std::optional<Ice::ObjectPrx> getServerAdmin(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
724
725 /// Gets a proxy to the admin object of a server.
726 /// @param id The server ID.
727 /// @param context The request context.
728 /// @return A future that becomes available when the invocation completes. This future holds:
729 /// - A proxy to the admin object of the server. This proxy is never null.
730 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> getServerAdminAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
731
732 /// Gets a proxy to the admin object of a server.
733 /// @param id The server ID.
734 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
735 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
736 /// function. It accepts:
737 /// - A proxy to the admin object of the server. This proxy is never null.
738 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
739 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
740 /// function.
741 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
742 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
743 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
744 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
745 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
746 /// asynchronous case.
747 /// @param context The request context.
748 /// @return A function that can be called to cancel the invocation locally.
749 // NOLINTNEXTLINE(modernize-use-nodiscard)
750 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;
751
752 /// @private
753 void _iceI_getServerAdmin(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, std::string_view, const Ice::Context&) const;
754
755 /// Enables or disables a server. A disabled server can't be started on demand or administratively. The enable
756 /// state of the server is not persistent: if the node is shut down and restarted, the server will be enabled by
757 /// default.
758 /// @param id The server ID.
759 /// @param enabled `true` to enable the server, `false` to disable it.
760 /// @param context The request context.
761 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
762 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
763 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
764 void enableServer(std::string_view id, bool enabled, const Ice::Context& context = Ice::noExplicitContext) const;
765
766 /// Enables or disables a server. A disabled server can't be started on demand or administratively. The enable
767 /// state of the server is not persistent: if the node is shut down and restarted, the server will be enabled by
768 /// default.
769 /// @param id The server ID.
770 /// @param enabled `true` to enable the server, `false` to disable it.
771 /// @param context The request context.
772 /// @return A future that becomes available when the invocation completes.
773 [[nodiscard]] std::future<void> enableServerAsync(std::string_view id, bool enabled, const Ice::Context& context = Ice::noExplicitContext) const;
774
775 /// Enables or disables a server. A disabled server can't be started on demand or administratively. The enable
776 /// state of the server is not persistent: if the node is shut down and restarted, the server will be enabled by
777 /// default.
778 /// @param id The server ID.
779 /// @param enabled `true` to enable the server, `false` to disable it.
780 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
781 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
782 /// function.
783 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
784 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
785 /// function.
786 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
787 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
788 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
789 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
790 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
791 /// asynchronous case.
792 /// @param context The request context.
793 /// @return A function that can be called to cancel the invocation locally.
794 // NOLINTNEXTLINE(modernize-use-nodiscard)
795 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;
796
797 /// @private
798 void _iceI_enableServer(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, bool, const Ice::Context&) const;
799
800 /// Checks if the server is enabled or disabled.
801 /// @param id The server ID.
802 /// @param context The request context.
803 /// @return `true` if the server is enabled, `false` otherwise.
804 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
805 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
806 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
807 bool isServerEnabled(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
808
809 /// Checks if the server is enabled or disabled.
810 /// @param id The server ID.
811 /// @param context The request context.
812 /// @return A future that becomes available when the invocation completes. This future holds:
813 /// - `true` if the server is enabled, `false` otherwise.
814 [[nodiscard]] std::future<bool> isServerEnabledAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
815
816 /// Checks if the server is enabled or disabled.
817 /// @param id The server ID.
818 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
819 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
820 /// function. It accepts:
821 /// - `true` if the server is enabled, `false` otherwise.
822 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
823 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
824 /// function.
825 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
826 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
827 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
828 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
829 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
830 /// asynchronous case.
831 /// @param context The request context.
832 /// @return A function that can be called to cancel the invocation locally.
833 // NOLINTNEXTLINE(modernize-use-nodiscard)
834 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;
835
836 /// @private
837 void _iceI_isServerEnabled(const std::shared_ptr<IceInternal::OutgoingAsyncT<bool>>&, std::string_view, const Ice::Context&) const;
838
839 /// Starts a server and waits for its activation.
840 /// @param id The server id.
841 /// @param context The request context.
842 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
843 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
844 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
845 /// @throws IceGrid::ServerStartException Thrown when the server startup failed.
846 void startServer(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
847
848 /// Starts a server and waits for its activation.
849 /// @param id The server id.
850 /// @param context The request context.
851 /// @return A future that becomes available when the invocation completes.
852 [[nodiscard]] std::future<void> startServerAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
853
854 /// Starts a server and waits for its activation.
855 /// @param id The server id.
856 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
857 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
858 /// function.
859 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
860 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
861 /// function.
862 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
863 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
864 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
865 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
866 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
867 /// asynchronous case.
868 /// @param context The request context.
869 /// @return A function that can be called to cancel the invocation locally.
870 // NOLINTNEXTLINE(modernize-use-nodiscard)
871 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;
872
873 /// @private
874 void _iceI_startServer(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
875
876 /// Stops a server.
877 /// @param id The server ID.
878 /// @param context The request context.
879 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
880 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
881 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
882 /// @throws IceGrid::ServerStopException Thrown when the server stop failed.
883 void stopServer(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
884
885 /// Stops a server.
886 /// @param id The server ID.
887 /// @param context The request context.
888 /// @return A future that becomes available when the invocation completes.
889 [[nodiscard]] std::future<void> stopServerAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
890
891 /// Stops a server.
892 /// @param id The server ID.
893 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
894 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
895 /// function.
896 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
897 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
898 /// function.
899 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
900 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
901 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
902 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
903 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
904 /// asynchronous case.
905 /// @param context The request context.
906 /// @return A function that can be called to cancel the invocation locally.
907 // NOLINTNEXTLINE(modernize-use-nodiscard)
908 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;
909
910 /// @private
911 void _iceI_stopServer(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
912
913 /// Sends a signal to a server.
914 /// @param id The server ID.
915 /// @param signal The signal, for example SIGTERM or 15.
916 /// @param context The request context.
917 /// @throws IceGrid::BadSignalException Thrown when the signal is not recognized by the target server.
918 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
919 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
920 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
921 void sendSignal(std::string_view id, std::string_view signal, const Ice::Context& context = Ice::noExplicitContext) const;
922
923 /// Sends a signal to a server.
924 /// @param id The server ID.
925 /// @param signal The signal, for example SIGTERM or 15.
926 /// @param context The request context.
927 /// @return A future that becomes available when the invocation completes.
928 [[nodiscard]] std::future<void> sendSignalAsync(std::string_view id, std::string_view signal, const Ice::Context& context = Ice::noExplicitContext) const;
929
930 /// Sends a signal to a server.
931 /// @param id The server ID.
932 /// @param signal The signal, for example SIGTERM or 15.
933 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
934 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
935 /// function.
936 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
937 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
938 /// function.
939 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
940 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
941 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
942 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
943 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
944 /// asynchronous case.
945 /// @param context The request context.
946 /// @return A function that can be called to cancel the invocation locally.
947 // NOLINTNEXTLINE(modernize-use-nodiscard)
948 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;
949
950 /// @private
951 void _iceI_sendSignal(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, std::string_view, const Ice::Context&) const;
952
953 /// Gets the IDs of all the servers registered with IceGrid.
954 /// @param context The request context.
955 /// @return The server IDs.
956 ::Ice::StringSeq getAllServerIds(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
957
958 /// Gets the IDs of all the servers registered with IceGrid.
959 /// @param context The request context.
960 /// @return A future that becomes available when the invocation completes. This future holds:
961 /// - The server IDs.
962 [[nodiscard]] std::future<::Ice::StringSeq> getAllServerIdsAsync(const Ice::Context& context = Ice::noExplicitContext) const;
963
964 /// Gets the IDs of all the servers registered with IceGrid.
965 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
966 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
967 /// function. It accepts:
968 /// - The server IDs.
969 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
970 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
971 /// function.
972 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
973 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
974 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
975 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
976 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
977 /// asynchronous case.
978 /// @param context The request context.
979 /// @return A function that can be called to cancel the invocation locally.
980 // NOLINTNEXTLINE(modernize-use-nodiscard)
981 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;
982
983 /// @private
984 void _iceI_getAllServerIds(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
985
986 /// Gets adapter information for the replica group or adapter with the given ID.
987 /// @param id The adapter or replica group ID.
988 /// @param context The request context.
989 /// @return A sequence of AdapterInfo. If @p id refers to an adapter, this sequence contains a single element.
990 /// If @p id refers to a replica group, this sequence contains adapter information for each member of the
991 /// replica group.
992 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter or replica group doesn't exist.
993 AdapterInfoSeq getAdapterInfo(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
994
995 /// Gets adapter information for the replica group or adapter with the given ID.
996 /// @param id The adapter or replica group ID.
997 /// @param context The request context.
998 /// @return A future that becomes available when the invocation completes. This future holds:
999 /// - A sequence of AdapterInfo. If @p id refers to an adapter, this sequence contains a single element.
1000 /// If @p id refers to a replica group, this sequence contains adapter information for each member of the
1001 /// replica group.
1002 [[nodiscard]] std::future<AdapterInfoSeq> getAdapterInfoAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
1003
1004 /// Gets adapter information for the replica group or adapter with the given ID.
1005 /// @param id The adapter or replica group ID.
1006 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1007 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1008 /// function. It accepts:
1009 /// - A sequence of AdapterInfo. If @p id refers to an adapter, this sequence contains a single element.
1010 /// If @p id refers to a replica group, this sequence contains adapter information for each member of the
1011 /// replica group.
1012 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1013 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1014 /// function.
1015 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1016 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1017 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1018 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1019 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1020 /// asynchronous case.
1021 /// @param context The request context.
1022 /// @return A function that can be called to cancel the invocation locally.
1023 // NOLINTNEXTLINE(modernize-use-nodiscard)
1024 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;
1025
1026 /// @private
1027 void _iceI_getAdapterInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<AdapterInfoSeq>>&, std::string_view, const Ice::Context&) const;
1028
1029 /// Removes the adapter with the given ID.
1030 /// @param id The adapter ID.
1031 /// @param context The request context.
1032 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter doesn't exist.
1033 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
1034 void removeAdapter(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
1035
1036 /// Removes the adapter with the given ID.
1037 /// @param id The adapter ID.
1038 /// @param context The request context.
1039 /// @return A future that becomes available when the invocation completes.
1040 [[nodiscard]] std::future<void> removeAdapterAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
1041
1042 /// Removes the adapter with the given ID.
1043 /// @param id The adapter ID.
1044 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1045 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1046 /// function.
1047 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1048 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1049 /// function.
1050 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1051 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1052 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1053 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1054 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1055 /// asynchronous case.
1056 /// @param context The request context.
1057 /// @return A function that can be called to cancel the invocation locally.
1058 // NOLINTNEXTLINE(modernize-use-nodiscard)
1059 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;
1060
1061 /// @private
1062 void _iceI_removeAdapter(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
1063
1064 /// Gets the IDs of all adapters registered with IceGrid.
1065 /// @param context The request context.
1066 /// @return The adapter IDs.
1067 ::Ice::StringSeq getAllAdapterIds(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1068
1069 /// Gets the IDs of all adapters registered with IceGrid.
1070 /// @param context The request context.
1071 /// @return A future that becomes available when the invocation completes. This future holds:
1072 /// - The adapter IDs.
1073 [[nodiscard]] std::future<::Ice::StringSeq> getAllAdapterIdsAsync(const Ice::Context& context = Ice::noExplicitContext) const;
1074
1075 /// Gets the IDs of all adapters registered with IceGrid.
1076 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1077 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1078 /// function. It accepts:
1079 /// - The adapter IDs.
1080 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1081 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1082 /// function.
1083 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1084 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1085 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1086 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1087 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1088 /// asynchronous case.
1089 /// @param context The request context.
1090 /// @return A function that can be called to cancel the invocation locally.
1091 // NOLINTNEXTLINE(modernize-use-nodiscard)
1092 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;
1093
1094 /// @private
1095 void _iceI_getAllAdapterIds(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
1096
1097 /// Adds an object to the object registry. IceGrid gets the object type by calling `ice_id` on @p obj. The
1098 /// object must be reachable.
1099 /// @param obj A proxy to the object. This proxy is never null.
1100 /// @param context The request context.
1101 /// @throws IceGrid::DeploymentException Thrown when the object can't be added.
1102 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
1103 void addObject(const std::optional<Ice::ObjectPrx>& obj, const Ice::Context& context = Ice::noExplicitContext) const;
1104
1105 /// Adds an object to the object registry. IceGrid gets the object type by calling `ice_id` on @p obj. The
1106 /// object must be reachable.
1107 /// @param obj A proxy to the object. This proxy is never null.
1108 /// @param context The request context.
1109 /// @return A future that becomes available when the invocation completes.
1110 [[nodiscard]] std::future<void> addObjectAsync(const std::optional<Ice::ObjectPrx>& obj, const Ice::Context& context = Ice::noExplicitContext) const;
1111
1112 /// Adds an object to the object registry. IceGrid gets the object type by calling `ice_id` on @p obj. The
1113 /// object must be reachable.
1114 /// @param obj A proxy to the object. This proxy is never null.
1115 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1116 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1117 /// function.
1118 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1119 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1120 /// function.
1121 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1122 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1123 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1124 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1125 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1126 /// asynchronous case.
1127 /// @param context The request context.
1128 /// @return A function that can be called to cancel the invocation locally.
1129 // NOLINTNEXTLINE(modernize-use-nodiscard)
1130 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;
1131
1132 /// @private
1133 void _iceI_addObject(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const std::optional<Ice::ObjectPrx>&, const Ice::Context&) const;
1134
1135 /// Updates an object in the object registry. Only objects added with this interface can be updated with this
1136 /// operation. Objects added with deployment descriptors should be updated with the deployment mechanism.
1137 /// @param obj A proxy to the object. This proxy is never null.
1138 /// @param context The request context.
1139 /// @throws IceGrid::DeploymentException Thrown when the object can't be updated.
1140 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
1141 void updateObject(const std::optional<Ice::ObjectPrx>& obj, const Ice::Context& context = Ice::noExplicitContext) const;
1142
1143 /// Updates an object in the object registry. Only objects added with this interface can be updated with this
1144 /// operation. Objects added with deployment descriptors should be updated with the deployment mechanism.
1145 /// @param obj A proxy to the object. This proxy is never null.
1146 /// @param context The request context.
1147 /// @return A future that becomes available when the invocation completes.
1148 [[nodiscard]] std::future<void> updateObjectAsync(const std::optional<Ice::ObjectPrx>& obj, const Ice::Context& context = Ice::noExplicitContext) const;
1149
1150 /// Updates an object in the object registry. Only objects added with this interface can be updated with this
1151 /// operation. Objects added with deployment descriptors should be updated with the deployment mechanism.
1152 /// @param obj A proxy to the object. This proxy is never null.
1153 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1154 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1155 /// function.
1156 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1157 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1158 /// function.
1159 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1160 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1161 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1162 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1163 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1164 /// asynchronous case.
1165 /// @param context The request context.
1166 /// @return A function that can be called to cancel the invocation locally.
1167 // NOLINTNEXTLINE(modernize-use-nodiscard)
1168 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;
1169
1170 /// @private
1171 void _iceI_updateObject(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const std::optional<Ice::ObjectPrx>&, const Ice::Context&) const;
1172
1173 /// Adds an object to the object registry and explicitly specifies its type.
1174 /// @param obj The object to be added to the registry. The proxy is never null.
1175 /// @param type The type name.
1176 /// @param context The request context.
1177 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
1178 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
1179 void addObjectWithType(const std::optional<Ice::ObjectPrx>& obj, std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const;
1180
1181 /// Adds an object to the object registry and explicitly specifies its type.
1182 /// @param obj The object to be added to the registry. The proxy is never null.
1183 /// @param type The type name.
1184 /// @param context The request context.
1185 /// @return A future that becomes available when the invocation completes.
1186 [[nodiscard]] std::future<void> addObjectWithTypeAsync(const std::optional<Ice::ObjectPrx>& obj, std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const;
1187
1188 /// Adds an object to the object registry and explicitly specifies its type.
1189 /// @param obj The object to be added to the registry. The proxy is never null.
1190 /// @param type The type name.
1191 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1192 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1193 /// function.
1194 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1195 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1196 /// function.
1197 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1198 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1199 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1200 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1201 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1202 /// asynchronous case.
1203 /// @param context The request context.
1204 /// @return A function that can be called to cancel the invocation locally.
1205 // NOLINTNEXTLINE(modernize-use-nodiscard)
1206 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;
1207
1208 /// @private
1209 void _iceI_addObjectWithType(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const std::optional<Ice::ObjectPrx>&, std::string_view, const Ice::Context&) const;
1210
1211 /// Removes an object from the object registry. Only objects added with this interface can be removed with this
1212 /// operation. Objects added with deployment descriptors should be removed with the deployment mechanism.
1213 /// @param id The identity of the object to remove.
1214 /// @param context The request context.
1215 /// @throws IceGrid::DeploymentException Thrown when the object can't be removed.
1216 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
1217 void removeObject(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
1218
1219 /// Removes an object from the object registry. Only objects added with this interface can be removed with this
1220 /// operation. Objects added with deployment descriptors should be removed with the deployment mechanism.
1221 /// @param id The identity of the object to remove.
1222 /// @param context The request context.
1223 /// @return A future that becomes available when the invocation completes.
1224 [[nodiscard]] std::future<void> removeObjectAsync(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
1225
1226 /// Removes an object from the object registry. Only objects added with this interface can be removed with this
1227 /// operation. Objects added with deployment descriptors should be removed with the deployment mechanism.
1228 /// @param id The identity of the object to remove.
1229 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1230 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1231 /// function.
1232 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1233 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1234 /// function.
1235 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1236 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1237 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1238 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1239 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1240 /// asynchronous case.
1241 /// @param context The request context.
1242 /// @return A function that can be called to cancel the invocation locally.
1243 // NOLINTNEXTLINE(modernize-use-nodiscard)
1244 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;
1245
1246 /// @private
1247 void _iceI_removeObject(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ::Ice::Identity&, const Ice::Context&) const;
1248
1249 /// Gets the object info for the object.
1250 /// @param id The identity of the object.
1251 /// @param context The request context.
1252 /// @return The object info.
1253 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
1254 ObjectInfo getObjectInfo(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1255
1256 /// Gets the object info for the object.
1257 /// @param id The identity of the object.
1258 /// @param context The request context.
1259 /// @return A future that becomes available when the invocation completes. This future holds:
1260 /// - The object info.
1261 [[nodiscard]] std::future<ObjectInfo> getObjectInfoAsync(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
1262
1263 /// Gets the object info for the object.
1264 /// @param id The identity of the object.
1265 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1266 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1267 /// function. It accepts:
1268 /// - The object info.
1269 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1270 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1271 /// function.
1272 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1273 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1274 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1275 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1276 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1277 /// asynchronous case.
1278 /// @param context The request context.
1279 /// @return A function that can be called to cancel the invocation locally.
1280 // NOLINTNEXTLINE(modernize-use-nodiscard)
1281 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;
1282
1283 /// @private
1284 void _iceI_getObjectInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<ObjectInfo>>&, const ::Ice::Identity&, const Ice::Context&) const;
1285
1286 /// Gets the object info of all the registered objects with a given type.
1287 /// @param type The type name.
1288 /// @param context The request context.
1289 /// @return The object infos.
1290 ObjectInfoSeq getObjectInfosByType(std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1291
1292 /// Gets the object info of all the registered objects with a given type.
1293 /// @param type The type name.
1294 /// @param context The request context.
1295 /// @return A future that becomes available when the invocation completes. This future holds:
1296 /// - The object infos.
1297 [[nodiscard]] std::future<ObjectInfoSeq> getObjectInfosByTypeAsync(std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const;
1298
1299 /// Gets the object info of all the registered objects with a given type.
1300 /// @param type The type name.
1301 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1302 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1303 /// function. It accepts:
1304 /// - The object infos.
1305 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1306 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1307 /// function.
1308 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1309 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1310 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1311 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1312 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1313 /// asynchronous case.
1314 /// @param context The request context.
1315 /// @return A function that can be called to cancel the invocation locally.
1316 // NOLINTNEXTLINE(modernize-use-nodiscard)
1317 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;
1318
1319 /// @private
1320 void _iceI_getObjectInfosByType(const std::shared_ptr<IceInternal::OutgoingAsyncT<ObjectInfoSeq>>&, std::string_view, const Ice::Context&) const;
1321
1322 /// Gets the object info of all the registered objects whose stringified identities match the given expression.
1323 /// @param expr The expression to match against the stringified identities of registered objects. The expression
1324 /// may contain a trailing wildcard (`*`) character.
1325 /// @param context The request context.
1326 /// @return All the object infos with a stringified identity matching the given expression.
1327 ObjectInfoSeq getAllObjectInfos(std::string_view expr, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1328
1329 /// Gets the object info of all the registered objects whose stringified identities match the given expression.
1330 /// @param expr The expression to match against the stringified identities of registered objects. The expression
1331 /// may contain a trailing wildcard (`*`) character.
1332 /// @param context The request context.
1333 /// @return A future that becomes available when the invocation completes. This future holds:
1334 /// - All the object infos with a stringified identity matching the given expression.
1335 [[nodiscard]] std::future<ObjectInfoSeq> getAllObjectInfosAsync(std::string_view expr, const Ice::Context& context = Ice::noExplicitContext) const;
1336
1337 /// Gets the object info of all the registered objects whose stringified identities match the given expression.
1338 /// @param expr The expression to match against the stringified identities of registered objects. The expression
1339 /// may contain a trailing wildcard (`*`) character.
1340 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1341 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1342 /// function. It accepts:
1343 /// - All the object infos with a stringified identity matching the given expression.
1344 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1345 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1346 /// function.
1347 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1348 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1349 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1350 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1351 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1352 /// asynchronous case.
1353 /// @param context The request context.
1354 /// @return A function that can be called to cancel the invocation locally.
1355 // NOLINTNEXTLINE(modernize-use-nodiscard)
1356 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;
1357
1358 /// @private
1359 void _iceI_getAllObjectInfos(const std::shared_ptr<IceInternal::OutgoingAsyncT<ObjectInfoSeq>>&, std::string_view, const Ice::Context&) const;
1360
1361 /// Pings an IceGrid node to see if it is active.
1362 /// @param name The node name.
1363 /// @param context The request context.
1364 /// @return `true` if the node ping succeeded, `false` otherwise.
1365 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1366 bool pingNode(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1367
1368 /// Pings an IceGrid node to see if it is active.
1369 /// @param name The node name.
1370 /// @param context The request context.
1371 /// @return A future that becomes available when the invocation completes. This future holds:
1372 /// - `true` if the node ping succeeded, `false` otherwise.
1373 [[nodiscard]] std::future<bool> pingNodeAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1374
1375 /// Pings an IceGrid node to see if it is active.
1376 /// @param name The node name.
1377 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1378 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1379 /// function. It accepts:
1380 /// - `true` if the node ping succeeded, `false` otherwise.
1381 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1382 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1383 /// function.
1384 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1385 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1386 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1387 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1388 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1389 /// asynchronous case.
1390 /// @param context The request context.
1391 /// @return A function that can be called to cancel the invocation locally.
1392 // NOLINTNEXTLINE(modernize-use-nodiscard)
1393 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;
1394
1395 /// @private
1396 void _iceI_pingNode(const std::shared_ptr<IceInternal::OutgoingAsyncT<bool>>&, std::string_view, const Ice::Context&) const;
1397
1398 /// Gets the load averages of a node.
1399 /// @param name The node name.
1400 /// @param context The request context.
1401 /// @return The node load information.
1402 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1403 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1404 LoadInfo getNodeLoad(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1405
1406 /// Gets the load averages of a node.
1407 /// @param name The node name.
1408 /// @param context The request context.
1409 /// @return A future that becomes available when the invocation completes. This future holds:
1410 /// - The node load information.
1411 [[nodiscard]] std::future<LoadInfo> getNodeLoadAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1412
1413 /// Gets the load averages of a node.
1414 /// @param name The node name.
1415 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1416 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1417 /// function. It accepts:
1418 /// - The node load information.
1419 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1420 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1421 /// function.
1422 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1423 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1424 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1425 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1426 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1427 /// asynchronous case.
1428 /// @param context The request context.
1429 /// @return A function that can be called to cancel the invocation locally.
1430 // NOLINTNEXTLINE(modernize-use-nodiscard)
1431 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;
1432
1433 /// @private
1434 void _iceI_getNodeLoad(const std::shared_ptr<IceInternal::OutgoingAsyncT<LoadInfo>>&, std::string_view, const Ice::Context&) const;
1435
1436 /// Gets the node information of a node.
1437 /// @param name The node name.
1438 /// @param context The request context.
1439 /// @return The node information.
1440 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1441 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1442 NodeInfo getNodeInfo(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1443
1444 /// Gets the node information of a node.
1445 /// @param name The node name.
1446 /// @param context The request context.
1447 /// @return A future that becomes available when the invocation completes. This future holds:
1448 /// - The node information.
1449 [[nodiscard]] std::future<NodeInfo> getNodeInfoAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1450
1451 /// Gets the node information of a node.
1452 /// @param name The node name.
1453 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1454 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1455 /// function. It accepts:
1456 /// - The node information.
1457 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1458 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1459 /// function.
1460 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1461 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1462 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1463 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1464 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1465 /// asynchronous case.
1466 /// @param context The request context.
1467 /// @return A function that can be called to cancel the invocation locally.
1468 // NOLINTNEXTLINE(modernize-use-nodiscard)
1469 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;
1470
1471 /// @private
1472 void _iceI_getNodeInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<NodeInfo>>&, std::string_view, const Ice::Context&) const;
1473
1474 /// Gets a proxy to the admin object of an IceGrid node.
1475 /// @param name The IceGrid node name.
1476 /// @param context The request context.
1477 /// @return A proxy to the IceGrid node's admin object. This proxy is never null.
1478 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1479 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1480 std::optional<Ice::ObjectPrx> getNodeAdmin(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1481
1482 /// Gets a proxy to the admin object of an IceGrid node.
1483 /// @param name The IceGrid node name.
1484 /// @param context The request context.
1485 /// @return A future that becomes available when the invocation completes. This future holds:
1486 /// - A proxy to the IceGrid node's admin object. This proxy is never null.
1487 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> getNodeAdminAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1488
1489 /// Gets a proxy to the admin object of an IceGrid node.
1490 /// @param name The IceGrid node name.
1491 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1492 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1493 /// function. It accepts:
1494 /// - A proxy to the IceGrid node's admin object. This proxy is never null.
1495 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1496 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1497 /// function.
1498 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1499 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1500 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1501 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1502 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1503 /// asynchronous case.
1504 /// @param context The request context.
1505 /// @return A function that can be called to cancel the invocation locally.
1506 // NOLINTNEXTLINE(modernize-use-nodiscard)
1507 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;
1508
1509 /// @private
1510 void _iceI_getNodeAdmin(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, std::string_view, const Ice::Context&) const;
1511
1512 /// Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
1513 /// Note that this operation returns 1 on operating systems where this can't be automatically determined and
1514 /// where the `IceGrid.Node.ProcessorSocketCount` property for the node is not set.
1515 /// @param name The node name.
1516 /// @param context The request context.
1517 /// @return The number of processor sockets or 1 if the number of sockets can't be determined.
1518 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1519 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1520 std::int32_t getNodeProcessorSocketCount(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1521
1522 /// Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
1523 /// Note that this operation returns 1 on operating systems where this can't be automatically determined and
1524 /// where the `IceGrid.Node.ProcessorSocketCount` property for the node is not set.
1525 /// @param name The node name.
1526 /// @param context The request context.
1527 /// @return A future that becomes available when the invocation completes. This future holds:
1528 /// - The number of processor sockets or 1 if the number of sockets can't be determined.
1529 [[nodiscard]] std::future<std::int32_t> getNodeProcessorSocketCountAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1530
1531 /// Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
1532 /// Note that this operation returns 1 on operating systems where this can't be automatically determined and
1533 /// where the `IceGrid.Node.ProcessorSocketCount` property for the node is not set.
1534 /// @param name The node name.
1535 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1536 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1537 /// function. It accepts:
1538 /// - The number of processor sockets or 1 if the number of sockets can't be determined.
1539 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1540 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1541 /// function.
1542 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1543 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1544 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1545 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1546 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1547 /// asynchronous case.
1548 /// @param context The request context.
1549 /// @return A function that can be called to cancel the invocation locally.
1550 // NOLINTNEXTLINE(modernize-use-nodiscard)
1551 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;
1552
1553 /// @private
1554 void _iceI_getNodeProcessorSocketCount(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::int32_t>>&, std::string_view, const Ice::Context&) const;
1555
1556 /// Shuts down an IceGrid node.
1557 /// @param name The node name.
1558 /// @param context The request context.
1559 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1560 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1561 void shutdownNode(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1562
1563 /// Shuts down an IceGrid node.
1564 /// @param name The node name.
1565 /// @param context The request context.
1566 /// @return A future that becomes available when the invocation completes.
1567 [[nodiscard]] std::future<void> shutdownNodeAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1568
1569 /// Shuts down an IceGrid node.
1570 /// @param name The node name.
1571 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1572 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1573 /// function.
1574 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1575 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1576 /// function.
1577 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1578 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1579 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1580 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1581 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1582 /// asynchronous case.
1583 /// @param context The request context.
1584 /// @return A function that can be called to cancel the invocation locally.
1585 // NOLINTNEXTLINE(modernize-use-nodiscard)
1586 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;
1587
1588 /// @private
1589 void _iceI_shutdownNode(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
1590
1591 /// Get the hostname of a node.
1592 /// @param name The node name.
1593 /// @param context The request context.
1594 /// @return The node hostname.
1595 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
1596 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
1597 std::string getNodeHostname(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1598
1599 /// Get the hostname of a node.
1600 /// @param name The node name.
1601 /// @param context The request context.
1602 /// @return A future that becomes available when the invocation completes. This future holds:
1603 /// - The node hostname.
1604 [[nodiscard]] std::future<std::string> getNodeHostnameAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1605
1606 /// Get the hostname of a node.
1607 /// @param name The node name.
1608 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1609 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1610 /// function. It accepts:
1611 /// - The node hostname.
1612 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1613 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1614 /// function.
1615 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1616 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1617 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1618 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1619 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1620 /// asynchronous case.
1621 /// @param context The request context.
1622 /// @return A function that can be called to cancel the invocation locally.
1623 // NOLINTNEXTLINE(modernize-use-nodiscard)
1624 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;
1625
1626 /// @private
1627 void _iceI_getNodeHostname(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::string>>&, std::string_view, const Ice::Context&) const;
1628
1629 /// Gets the names of all IceGrid nodes currently registered.
1630 /// @param context The request context.
1631 /// @return The node names.
1632 ::Ice::StringSeq getAllNodeNames(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1633
1634 /// Gets the names of all IceGrid nodes currently registered.
1635 /// @param context The request context.
1636 /// @return A future that becomes available when the invocation completes. This future holds:
1637 /// - The node names.
1638 [[nodiscard]] std::future<::Ice::StringSeq> getAllNodeNamesAsync(const Ice::Context& context = Ice::noExplicitContext) const;
1639
1640 /// Gets the names of all IceGrid nodes currently registered.
1641 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1642 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1643 /// function. It accepts:
1644 /// - The node names.
1645 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1646 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1647 /// function.
1648 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1649 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1650 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1651 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1652 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1653 /// asynchronous case.
1654 /// @param context The request context.
1655 /// @return A function that can be called to cancel the invocation locally.
1656 // NOLINTNEXTLINE(modernize-use-nodiscard)
1657 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;
1658
1659 /// @private
1660 void _iceI_getAllNodeNames(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
1661
1662 /// Pings an IceGrid registry to see if it is active.
1663 /// @param name The registry name.
1664 /// @param context The request context.
1665 /// @return `true` if the registry ping succeeded, `false` otherwise.
1666 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
1667 bool pingRegistry(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1668
1669 /// Pings an IceGrid registry to see if it is active.
1670 /// @param name The registry name.
1671 /// @param context The request context.
1672 /// @return A future that becomes available when the invocation completes. This future holds:
1673 /// - `true` if the registry ping succeeded, `false` otherwise.
1674 [[nodiscard]] std::future<bool> pingRegistryAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1675
1676 /// Pings an IceGrid registry to see if it is active.
1677 /// @param name The registry name.
1678 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1679 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1680 /// function. It accepts:
1681 /// - `true` if the registry ping succeeded, `false` otherwise.
1682 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1683 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1684 /// function.
1685 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1686 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1687 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1688 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1689 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1690 /// asynchronous case.
1691 /// @param context The request context.
1692 /// @return A function that can be called to cancel the invocation locally.
1693 // NOLINTNEXTLINE(modernize-use-nodiscard)
1694 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;
1695
1696 /// @private
1697 void _iceI_pingRegistry(const std::shared_ptr<IceInternal::OutgoingAsyncT<bool>>&, std::string_view, const Ice::Context&) const;
1698
1699 /// Gets the registry information of an IceGrid registry.
1700 /// @param name The registry name.
1701 /// @param context The request context.
1702 /// @return The registry information.
1703 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
1704 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
1705 RegistryInfo getRegistryInfo(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1706
1707 /// Gets the registry information of an IceGrid registry.
1708 /// @param name The registry name.
1709 /// @param context The request context.
1710 /// @return A future that becomes available when the invocation completes. This future holds:
1711 /// - The registry information.
1712 [[nodiscard]] std::future<RegistryInfo> getRegistryInfoAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1713
1714 /// Gets the registry information of an IceGrid registry.
1715 /// @param name The registry name.
1716 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1717 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1718 /// function. It accepts:
1719 /// - The registry information.
1720 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1721 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1722 /// function.
1723 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1724 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1725 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1726 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1727 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1728 /// asynchronous case.
1729 /// @param context The request context.
1730 /// @return A function that can be called to cancel the invocation locally.
1731 // NOLINTNEXTLINE(modernize-use-nodiscard)
1732 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;
1733
1734 /// @private
1735 void _iceI_getRegistryInfo(const std::shared_ptr<IceInternal::OutgoingAsyncT<RegistryInfo>>&, std::string_view, const Ice::Context&) const;
1736
1737 /// Gets a proxy to the admin object of an IceGrid registry.
1738 /// @param name The registry name.
1739 /// @param context The request context.
1740 /// @return A proxy to the admin object of an IceGrid registry. This proxy is never null.
1741 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
1742 std::optional<Ice::ObjectPrx> getRegistryAdmin(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1743
1744 /// Gets a proxy to the admin object of an IceGrid registry.
1745 /// @param name The registry name.
1746 /// @param context The request context.
1747 /// @return A future that becomes available when the invocation completes. This future holds:
1748 /// - A proxy to the admin object of an IceGrid registry. This proxy is never null.
1749 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> getRegistryAdminAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1750
1751 /// Gets a proxy to the admin object of an IceGrid registry.
1752 /// @param name The registry name.
1753 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1754 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1755 /// function. It accepts:
1756 /// - A proxy to the admin object of an IceGrid registry. This proxy is never null.
1757 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1758 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1759 /// function.
1760 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1761 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1762 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1763 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1764 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1765 /// asynchronous case.
1766 /// @param context The request context.
1767 /// @return A function that can be called to cancel the invocation locally.
1768 // NOLINTNEXTLINE(modernize-use-nodiscard)
1769 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;
1770
1771 /// @private
1772 void _iceI_getRegistryAdmin(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, std::string_view, const Ice::Context&) const;
1773
1774 /// Shuts down an IceGrid registry.
1775 /// @param name The registry name.
1776 /// @param context The request context.
1777 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
1778 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
1779 void shutdownRegistry(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1780
1781 /// Shuts down an IceGrid registry.
1782 /// @param name The registry name.
1783 /// @param context The request context.
1784 /// @return A future that becomes available when the invocation completes.
1785 [[nodiscard]] std::future<void> shutdownRegistryAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
1786
1787 /// Shuts down an IceGrid registry.
1788 /// @param name The registry name.
1789 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1790 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1791 /// function.
1792 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1793 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1794 /// function.
1795 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1796 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1797 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1798 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1799 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1800 /// asynchronous case.
1801 /// @param context The request context.
1802 /// @return A function that can be called to cancel the invocation locally.
1803 // NOLINTNEXTLINE(modernize-use-nodiscard)
1804 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;
1805
1806 /// @private
1807 void _iceI_shutdownRegistry(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
1808
1809 /// Gets the names of all the IceGrid registries currently registered.
1810 /// @param context The request context.
1811 /// @return The registry names.
1812 ::Ice::StringSeq getAllRegistryNames(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
1813
1814 /// Gets the names of all the IceGrid registries currently registered.
1815 /// @param context The request context.
1816 /// @return A future that becomes available when the invocation completes. This future holds:
1817 /// - The registry names.
1818 [[nodiscard]] std::future<::Ice::StringSeq> getAllRegistryNamesAsync(const Ice::Context& context = Ice::noExplicitContext) const;
1819
1820 /// Gets the names of all the IceGrid registries currently registered.
1821 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1822 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1823 /// function. It accepts:
1824 /// - The registry names.
1825 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1826 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1827 /// function.
1828 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1829 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1830 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1831 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1832 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1833 /// asynchronous case.
1834 /// @param context The request context.
1835 /// @return A function that can be called to cancel the invocation locally.
1836 // NOLINTNEXTLINE(modernize-use-nodiscard)
1837 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;
1838
1839 /// @private
1840 void _iceI_getAllRegistryNames(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
1841
1842 /// Shuts down the IceGrid registry.
1843 /// @param context The request context.
1844 void shutdown(const Ice::Context& context = Ice::noExplicitContext) const;
1845
1846 /// Shuts down the IceGrid registry.
1847 /// @param context The request context.
1848 /// @return A future that becomes available when the invocation completes.
1849 [[nodiscard]] std::future<void> shutdownAsync(const Ice::Context& context = Ice::noExplicitContext) const;
1850
1851 /// Shuts down the IceGrid registry.
1852 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1853 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1854 /// function.
1855 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1856 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1857 /// function.
1858 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1859 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1860 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1861 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1862 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1863 /// asynchronous case.
1864 /// @param context The request context.
1865 /// @return A function that can be called to cancel the invocation locally.
1866 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
1867 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
1868 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
1869 /// callbacks, and the request is sent later, by a flush.
1870 // NOLINTNEXTLINE(modernize-use-nodiscard)
1871 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;
1872
1873 /// @private
1874 void _iceI_shutdown(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const Ice::Context&) const;
1875
1876 /// Gets the type ID of the associated Slice interface.
1877 /// @return The string `"::IceGrid::Admin"`.
1878 static const char* ice_staticId() noexcept;
1879
1880 /// @private
1881 static AdminPrx _fromReference(IceInternal::ReferencePtr ref) { return AdminPrx{std::move(ref)}; }
1882
1883 protected:
1884 /// @private
1885 AdminPrx() = default;
1886
1887 /// @private
1888 explicit AdminPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
1889 {
1890 }
1891 };
1892
1893 /// Iterates over an IceGrid log file.
1894 /// @remarks The Slice compiler generated this proxy class from Slice interface `::IceGrid::FileIterator`.
1895 /// @headerfile IceGrid/IceGrid.h
1896 class ICEGRID_API FileIteratorPrx : public Ice::Proxy<FileIteratorPrx, Ice::ObjectPrx>
1897 {
1898 public:
1899 /// Constructs a proxy from a Communicator and a proxy string.
1900 /// @param communicator The communicator of the new proxy.
1901 /// @param proxyString The proxy string to parse.
1902 FileIteratorPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
1903
1904 /// Copy constructor. Constructs with a copy of the contents of @p other.
1905 /// @param other The proxy to copy from.
1906 FileIteratorPrx(const FileIteratorPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
1907
1908 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
1909 /// @param other The proxy to move from.
1910 FileIteratorPrx(FileIteratorPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
1911
1912 ~FileIteratorPrx() override;
1913
1914 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
1915 /// @param rhs The proxy to copy from.
1916 /// @return A reference to this proxy.
1918 {
1919 if (this != &rhs)
1920 {
1922 }
1923 return *this;
1924 }
1925
1926 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
1927 /// @param rhs The proxy to move from.
1929 {
1930 if (this != &rhs)
1931 {
1932 Ice::ObjectPrx::operator=(std::move(rhs));
1933 }
1934 return *this;
1935 }
1936
1937 /// Read lines from the log file.
1938 /// @param size Specifies the maximum number of bytes to be received. The server will ensure that the returned
1939 /// message doesn't exceed the given size.
1940 /// @param[out] lines The lines read from the file. If there was nothing to read from the file since the last call to
1941 /// read, an empty sequence is returned. The last line of the sequence is always incomplete (and therefore no
1942 /// newline character should be added when writing the last line to the output device).
1943 /// @param context The request context.
1944 /// @return `true` if EOF is encountered.
1945 /// @throws IceGrid::FileNotAvailableException Thrown when the implementation failed to read from the file.
1946 bool read(std::int32_t size, ::Ice::StringSeq& lines, const Ice::Context& context = Ice::noExplicitContext) const;
1947
1948 /// Read lines from the log file.
1949 /// @param size Specifies the maximum number of bytes to be received. The server will ensure that the returned
1950 /// message doesn't exceed the given size.
1951 /// @param context The request context.
1952 /// @return A future that becomes available when the invocation completes. This future holds:
1953 /// - `returnValue` `true` if EOF is encountered.
1954 /// - `lines` The lines read from the file. If there was nothing to read from the file since the last call to
1955 /// read, an empty sequence is returned. The last line of the sequence is always incomplete (and therefore no
1956 /// newline character should be added when writing the last line to the output device).
1957 [[nodiscard]] std::future<std::tuple<bool, ::Ice::StringSeq>> readAsync(std::int32_t size, const Ice::Context& context = Ice::noExplicitContext) const;
1958
1959 /// Read lines from the log file.
1960 /// @param size Specifies the maximum number of bytes to be received. The server will ensure that the returned
1961 /// message doesn't exceed the given size.
1962 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1963 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1964 /// function. It accepts:
1965 /// - `returnValue` `true` if EOF is encountered.
1966 /// - `lines` The lines read from the file. If there was nothing to read from the file since the last call to
1967 /// read, an empty sequence is returned. The last line of the sequence is always incomplete (and therefore no
1968 /// newline character should be added when writing the last line to the output device).
1969 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
1970 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1971 /// function.
1972 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
1973 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
1974 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
1975 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
1976 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
1977 /// asynchronous case.
1978 /// @param context The request context.
1979 /// @return A function that can be called to cancel the invocation locally.
1980 // NOLINTNEXTLINE(modernize-use-nodiscard)
1981 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;
1982
1983 /// @private
1984 void _iceI_read(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::tuple<bool, ::Ice::StringSeq>>>&, std::int32_t, const Ice::Context&) const;
1985
1986 /// Destroys the iterator.
1987 /// @param context The request context.
1988 void destroy(const Ice::Context& context = Ice::noExplicitContext) const;
1989
1990 /// Destroys the iterator.
1991 /// @param context The request context.
1992 /// @return A future that becomes available when the invocation completes.
1993 [[nodiscard]] std::future<void> destroyAsync(const Ice::Context& context = Ice::noExplicitContext) const;
1994
1995 /// Destroys the iterator.
1996 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
1997 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
1998 /// function.
1999 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2000 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2001 /// function.
2002 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2003 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2004 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2005 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2006 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2007 /// asynchronous case.
2008 /// @param context The request context.
2009 /// @return A function that can be called to cancel the invocation locally.
2010 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2011 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2012 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2013 /// callbacks, and the request is sent later, by a flush.
2014 // NOLINTNEXTLINE(modernize-use-nodiscard)
2015 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;
2016
2017 /// @private
2018 void _iceI_destroy(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const Ice::Context&) const;
2019
2020 /// Gets the type ID of the associated Slice interface.
2021 /// @return The string `"::IceGrid::FileIterator"`.
2022 static const char* ice_staticId() noexcept;
2023
2024 /// @private
2025 static FileIteratorPrx _fromReference(IceInternal::ReferencePtr ref) { return FileIteratorPrx{std::move(ref)}; }
2026
2027 protected:
2028 /// @private
2029 FileIteratorPrx() = default;
2030
2031 /// @private
2032 explicit FileIteratorPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
2033 {
2034 }
2035 };
2036
2037 /// Monitors changes to the state of the registries.
2038 /// @remarks The Slice compiler generated this proxy class from Slice interface `::IceGrid::RegistryObserver`.
2039 /// @headerfile IceGrid/IceGrid.h
2040 class ICEGRID_API RegistryObserverPrx : public Ice::Proxy<RegistryObserverPrx, Ice::ObjectPrx>
2041 {
2042 public:
2043 /// Constructs a proxy from a Communicator and a proxy string.
2044 /// @param communicator The communicator of the new proxy.
2045 /// @param proxyString The proxy string to parse.
2046 RegistryObserverPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
2047
2048 /// Copy constructor. Constructs with a copy of the contents of @p other.
2049 /// @param other The proxy to copy from.
2050 RegistryObserverPrx(const RegistryObserverPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
2051
2052 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
2053 /// @param other The proxy to move from.
2054 RegistryObserverPrx(RegistryObserverPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
2055
2056 ~RegistryObserverPrx() override;
2057
2058 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
2059 /// @param rhs The proxy to copy from.
2060 /// @return A reference to this proxy.
2062 {
2063 if (this != &rhs)
2064 {
2066 }
2067 return *this;
2068 }
2069
2070 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
2071 /// @param rhs The proxy to move from.
2073 {
2074 if (this != &rhs)
2075 {
2076 Ice::ObjectPrx::operator=(std::move(rhs));
2077 }
2078 return *this;
2079 }
2080
2081 /// Provides the initial state of the registries to the observer.
2082 /// @param registries The current state of the registries.
2083 /// @param context The request context.
2084 void registryInit(const RegistryInfoSeq& registries, const Ice::Context& context = Ice::noExplicitContext) const;
2085
2086 /// Provides the initial state of the registries to the observer.
2087 /// @param registries The current state of the registries.
2088 /// @param context The request context.
2089 /// @return A future that becomes available when the invocation completes.
2090 [[nodiscard]] std::future<void> registryInitAsync(const RegistryInfoSeq& registries, const Ice::Context& context = Ice::noExplicitContext) const;
2091
2092 /// Provides the initial state of the registries to the observer.
2093 /// @param registries The current state of the registries.
2094 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2095 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2096 /// function.
2097 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2098 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2099 /// function.
2100 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2101 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2102 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2103 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2104 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2105 /// asynchronous case.
2106 /// @param context The request context.
2107 /// @return A function that can be called to cancel the invocation locally.
2108 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2109 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2110 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2111 /// callbacks, and the request is sent later, by a flush.
2112 // NOLINTNEXTLINE(modernize-use-nodiscard)
2113 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;
2114
2115 /// @private
2116 void _iceI_registryInit(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const RegistryInfoSeq&, const Ice::Context&) const;
2117
2118 /// Notifies the observer that a registry replica came up.
2119 /// @param registryReplica The registry state.
2120 /// @param context The request context.
2121 void registryUp(const RegistryInfo& registryReplica, const Ice::Context& context = Ice::noExplicitContext) const;
2122
2123 /// Notifies the observer that a registry replica came up.
2124 /// @param registryReplica The registry state.
2125 /// @param context The request context.
2126 /// @return A future that becomes available when the invocation completes.
2127 [[nodiscard]] std::future<void> registryUpAsync(const RegistryInfo& registryReplica, const Ice::Context& context = Ice::noExplicitContext) const;
2128
2129 /// Notifies the observer that a registry replica came up.
2130 /// @param registryReplica The registry state.
2131 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2132 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2133 /// function.
2134 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2135 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2136 /// function.
2137 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2138 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2139 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2140 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2141 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2142 /// asynchronous case.
2143 /// @param context The request context.
2144 /// @return A function that can be called to cancel the invocation locally.
2145 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2146 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2147 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2148 /// callbacks, and the request is sent later, by a flush.
2149 // NOLINTNEXTLINE(modernize-use-nodiscard)
2150 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;
2151
2152 /// @private
2153 void _iceI_registryUp(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const RegistryInfo&, const Ice::Context&) const;
2154
2155 /// Notifies the observer that a registry replica went down.
2156 /// @param name The registry name.
2157 /// @param context The request context.
2158 void registryDown(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
2159
2160 /// Notifies the observer that a registry replica went down.
2161 /// @param name The registry name.
2162 /// @param context The request context.
2163 /// @return A future that becomes available when the invocation completes.
2164 [[nodiscard]] std::future<void> registryDownAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
2165
2166 /// Notifies the observer that a registry replica went down.
2167 /// @param name The registry name.
2168 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2169 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2170 /// function.
2171 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2172 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2173 /// function.
2174 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2175 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2176 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2177 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2178 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2179 /// asynchronous case.
2180 /// @param context The request context.
2181 /// @return A function that can be called to cancel the invocation locally.
2182 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2183 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2184 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2185 /// callbacks, and the request is sent later, by a flush.
2186 // NOLINTNEXTLINE(modernize-use-nodiscard)
2187 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;
2188
2189 /// @private
2190 void _iceI_registryDown(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
2191
2192 /// Gets the type ID of the associated Slice interface.
2193 /// @return The string `"::IceGrid::RegistryObserver"`.
2194 static const char* ice_staticId() noexcept;
2195
2196 /// @private
2197 static RegistryObserverPrx _fromReference(IceInternal::ReferencePtr ref) { return RegistryObserverPrx{std::move(ref)}; }
2198
2199 protected:
2200 /// @private
2201 RegistryObserverPrx() = default;
2202
2203 /// @private
2204 explicit RegistryObserverPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
2205 {
2206 }
2207 };
2208
2209 /// Monitors changes to the state of the nodes.
2210 /// @remarks The Slice compiler generated this proxy class from Slice interface `::IceGrid::NodeObserver`.
2211 /// @headerfile IceGrid/IceGrid.h
2212 class ICEGRID_API NodeObserverPrx : public Ice::Proxy<NodeObserverPrx, Ice::ObjectPrx>
2213 {
2214 public:
2215 /// Constructs a proxy from a Communicator and a proxy string.
2216 /// @param communicator The communicator of the new proxy.
2217 /// @param proxyString The proxy string to parse.
2218 NodeObserverPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
2219
2220 /// Copy constructor. Constructs with a copy of the contents of @p other.
2221 /// @param other The proxy to copy from.
2222 NodeObserverPrx(const NodeObserverPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
2223
2224 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
2225 /// @param other The proxy to move from.
2226 NodeObserverPrx(NodeObserverPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
2227
2228 ~NodeObserverPrx() override;
2229
2230 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
2231 /// @param rhs The proxy to copy from.
2232 /// @return A reference to this proxy.
2234 {
2235 if (this != &rhs)
2236 {
2238 }
2239 return *this;
2240 }
2241
2242 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
2243 /// @param rhs The proxy to move from.
2245 {
2246 if (this != &rhs)
2247 {
2248 Ice::ObjectPrx::operator=(std::move(rhs));
2249 }
2250 return *this;
2251 }
2252
2253 /// Provides the initial state of the nodes to the observer.
2254 /// @param nodes The current state of the nodes.
2255 /// @param context The request context.
2256 void nodeInit(const NodeDynamicInfoSeq& nodes, const Ice::Context& context = Ice::noExplicitContext) const;
2257
2258 /// Provides the initial state of the nodes to the observer.
2259 /// @param nodes The current state of the nodes.
2260 /// @param context The request context.
2261 /// @return A future that becomes available when the invocation completes.
2262 [[nodiscard]] std::future<void> nodeInitAsync(const NodeDynamicInfoSeq& nodes, const Ice::Context& context = Ice::noExplicitContext) const;
2263
2264 /// Provides the initial state of the nodes to the observer.
2265 /// @param nodes The current state of the nodes.
2266 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2267 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2268 /// function.
2269 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2270 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2271 /// function.
2272 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2273 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2274 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2275 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2276 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2277 /// asynchronous case.
2278 /// @param context The request context.
2279 /// @return A function that can be called to cancel the invocation locally.
2280 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2281 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2282 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2283 /// callbacks, and the request is sent later, by a flush.
2284 // NOLINTNEXTLINE(modernize-use-nodiscard)
2285 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;
2286
2287 /// @private
2288 void _iceI_nodeInit(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const NodeDynamicInfoSeq&, const Ice::Context&) const;
2289
2290 /// Notifies the observer that a node came up.
2291 /// @param node The node state.
2292 /// @param context The request context.
2293 void nodeUp(const NodeDynamicInfo& node, const Ice::Context& context = Ice::noExplicitContext) const;
2294
2295 /// Notifies the observer that a node came up.
2296 /// @param node The node state.
2297 /// @param context The request context.
2298 /// @return A future that becomes available when the invocation completes.
2299 [[nodiscard]] std::future<void> nodeUpAsync(const NodeDynamicInfo& node, const Ice::Context& context = Ice::noExplicitContext) const;
2300
2301 /// Notifies the observer that a node came up.
2302 /// @param node The node state.
2303 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2304 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2305 /// function.
2306 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2307 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2308 /// function.
2309 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2310 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2311 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2312 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2313 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2314 /// asynchronous case.
2315 /// @param context The request context.
2316 /// @return A function that can be called to cancel the invocation locally.
2317 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2318 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2319 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2320 /// callbacks, and the request is sent later, by a flush.
2321 // NOLINTNEXTLINE(modernize-use-nodiscard)
2322 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;
2323
2324 /// @private
2325 void _iceI_nodeUp(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const NodeDynamicInfo&, const Ice::Context&) const;
2326
2327 /// Notifies the observer that a node went down.
2328 /// @param name The node name.
2329 /// @param context The request context.
2330 void nodeDown(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
2331
2332 /// Notifies the observer that a node went down.
2333 /// @param name The node name.
2334 /// @param context The request context.
2335 /// @return A future that becomes available when the invocation completes.
2336 [[nodiscard]] std::future<void> nodeDownAsync(std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
2337
2338 /// Notifies the observer that a node went down.
2339 /// @param name The node name.
2340 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2341 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2342 /// function.
2343 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2344 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2345 /// function.
2346 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2347 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2348 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2349 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2350 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2351 /// asynchronous case.
2352 /// @param context The request context.
2353 /// @return A function that can be called to cancel the invocation locally.
2354 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2355 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2356 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2357 /// callbacks, and the request is sent later, by a flush.
2358 // NOLINTNEXTLINE(modernize-use-nodiscard)
2359 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;
2360
2361 /// @private
2362 void _iceI_nodeDown(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
2363
2364 /// Notifies the observer that the state of a server changed.
2365 /// @param node The node hosting the server.
2366 /// @param updatedInfo The new server state.
2367 /// @param context The request context.
2368 void updateServer(std::string_view node, const ServerDynamicInfo& updatedInfo, const Ice::Context& context = Ice::noExplicitContext) const;
2369
2370 /// Notifies the observer that the state of a server changed.
2371 /// @param node The node hosting the server.
2372 /// @param updatedInfo The new server state.
2373 /// @param context The request context.
2374 /// @return A future that becomes available when the invocation completes.
2375 [[nodiscard]] std::future<void> updateServerAsync(std::string_view node, const ServerDynamicInfo& updatedInfo, const Ice::Context& context = Ice::noExplicitContext) const;
2376
2377 /// Notifies the observer that the state of a server changed.
2378 /// @param node The node hosting the server.
2379 /// @param updatedInfo The new server state.
2380 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2381 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2382 /// function.
2383 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2384 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2385 /// function.
2386 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2387 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2388 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2389 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2390 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2391 /// asynchronous case.
2392 /// @param context The request context.
2393 /// @return A function that can be called to cancel the invocation locally.
2394 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2395 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2396 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2397 /// callbacks, and the request is sent later, by a flush.
2398 // NOLINTNEXTLINE(modernize-use-nodiscard)
2399 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;
2400
2401 /// @private
2402 void _iceI_updateServer(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const ServerDynamicInfo&, const Ice::Context&) const;
2403
2404 /// Notifies the observer that the state of an object adapter changed.
2405 /// @param node The node hosting the adapter.
2406 /// @param updatedInfo The new adapter state.
2407 /// @param context The request context.
2408 void updateAdapter(std::string_view node, const AdapterDynamicInfo& updatedInfo, const Ice::Context& context = Ice::noExplicitContext) const;
2409
2410 /// Notifies the observer that the state of an object adapter changed.
2411 /// @param node The node hosting the adapter.
2412 /// @param updatedInfo The new adapter state.
2413 /// @param context The request context.
2414 /// @return A future that becomes available when the invocation completes.
2415 [[nodiscard]] std::future<void> updateAdapterAsync(std::string_view node, const AdapterDynamicInfo& updatedInfo, const Ice::Context& context = Ice::noExplicitContext) const;
2416
2417 /// Notifies the observer that the state of an object adapter changed.
2418 /// @param node The node hosting the adapter.
2419 /// @param updatedInfo The new adapter state.
2420 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2421 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2422 /// function.
2423 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2424 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2425 /// function.
2426 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2427 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2428 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2429 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2430 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2431 /// asynchronous case.
2432 /// @param context The request context.
2433 /// @return A function that can be called to cancel the invocation locally.
2434 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2435 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2436 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2437 /// callbacks, and the request is sent later, by a flush.
2438 // NOLINTNEXTLINE(modernize-use-nodiscard)
2439 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;
2440
2441 /// @private
2442 void _iceI_updateAdapter(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const AdapterDynamicInfo&, const Ice::Context&) const;
2443
2444 /// Gets the type ID of the associated Slice interface.
2445 /// @return The string `"::IceGrid::NodeObserver"`.
2446 static const char* ice_staticId() noexcept;
2447
2448 /// @private
2449 static NodeObserverPrx _fromReference(IceInternal::ReferencePtr ref) { return NodeObserverPrx{std::move(ref)}; }
2450
2451 protected:
2452 /// @private
2453 NodeObserverPrx() = default;
2454
2455 /// @private
2456 explicit NodeObserverPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
2457 {
2458 }
2459 };
2460
2461 /// Monitors applications.
2462 /// @remarks The Slice compiler generated this proxy class from Slice interface `::IceGrid::ApplicationObserver`.
2463 /// @headerfile IceGrid/IceGrid.h
2464 class ICEGRID_API ApplicationObserverPrx : public Ice::Proxy<ApplicationObserverPrx, Ice::ObjectPrx>
2465 {
2466 public:
2467 /// Constructs a proxy from a Communicator and a proxy string.
2468 /// @param communicator The communicator of the new proxy.
2469 /// @param proxyString The proxy string to parse.
2470 ApplicationObserverPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
2471
2472 /// Copy constructor. Constructs with a copy of the contents of @p other.
2473 /// @param other The proxy to copy from.
2474 ApplicationObserverPrx(const ApplicationObserverPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
2475
2476 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
2477 /// @param other The proxy to move from.
2478 ApplicationObserverPrx(ApplicationObserverPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
2479
2480 ~ApplicationObserverPrx() override;
2481
2482 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
2483 /// @param rhs The proxy to copy from.
2484 /// @return A reference to this proxy.
2486 {
2487 if (this != &rhs)
2488 {
2490 }
2491 return *this;
2492 }
2493
2494 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
2495 /// @param rhs The proxy to move from.
2497 {
2498 if (this != &rhs)
2499 {
2500 Ice::ObjectPrx::operator=(std::move(rhs));
2501 }
2502 return *this;
2503 }
2504
2505 /// Provides the initial application infos to the observer.
2506 /// @param serial The current serial number of the registry database. This serial number allows observers to
2507 /// make sure that their internal state is synchronized with the registry.
2508 /// @param applications The applications currently registered with the registry.
2509 /// @param context The request context.
2510 void applicationInit(std::int32_t serial, const ApplicationInfoSeq& applications, const Ice::Context& context = Ice::noExplicitContext) const;
2511
2512 /// Provides the initial application infos to the observer.
2513 /// @param serial The current serial number of the registry database. This serial number allows observers to
2514 /// make sure that their internal state is synchronized with the registry.
2515 /// @param applications The applications currently registered with the registry.
2516 /// @param context The request context.
2517 /// @return A future that becomes available when the invocation completes.
2518 [[nodiscard]] std::future<void> applicationInitAsync(std::int32_t serial, const ApplicationInfoSeq& applications, const Ice::Context& context = Ice::noExplicitContext) const;
2519
2520 /// Provides the initial application infos to the observer.
2521 /// @param serial The current serial number of the registry database. This serial number allows observers to
2522 /// make sure that their internal state is synchronized with the registry.
2523 /// @param applications The applications currently registered with the registry.
2524 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2525 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2526 /// function.
2527 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2528 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2529 /// function.
2530 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2531 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2532 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2533 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2534 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2535 /// asynchronous case.
2536 /// @param context The request context.
2537 /// @return A function that can be called to cancel the invocation locally.
2538 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2539 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2540 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2541 /// callbacks, and the request is sent later, by a flush.
2542 // NOLINTNEXTLINE(modernize-use-nodiscard)
2543 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;
2544
2545 /// @private
2546 void _iceI_applicationInit(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::int32_t, const ApplicationInfoSeq&, const Ice::Context&) const;
2547
2548 /// Notifies the observer that an application was added.
2549 /// @param serial The new serial number of the registry database.
2550 /// @param desc The descriptor of the new application.
2551 /// @param context The request context.
2552 void applicationAdded(std::int32_t serial, const ApplicationInfo& desc, const Ice::Context& context = Ice::noExplicitContext) const;
2553
2554 /// Notifies the observer that an application was added.
2555 /// @param serial The new serial number of the registry database.
2556 /// @param desc The descriptor of the new application.
2557 /// @param context The request context.
2558 /// @return A future that becomes available when the invocation completes.
2559 [[nodiscard]] std::future<void> applicationAddedAsync(std::int32_t serial, const ApplicationInfo& desc, const Ice::Context& context = Ice::noExplicitContext) const;
2560
2561 /// Notifies the observer that an application was added.
2562 /// @param serial The new serial number of the registry database.
2563 /// @param desc The descriptor of the new application.
2564 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2565 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2566 /// function.
2567 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2568 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2569 /// function.
2570 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2571 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2572 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2573 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2574 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2575 /// asynchronous case.
2576 /// @param context The request context.
2577 /// @return A function that can be called to cancel the invocation locally.
2578 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2579 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2580 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2581 /// callbacks, and the request is sent later, by a flush.
2582 // NOLINTNEXTLINE(modernize-use-nodiscard)
2583 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;
2584
2585 /// @private
2586 void _iceI_applicationAdded(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::int32_t, const ApplicationInfo&, const Ice::Context&) const;
2587
2588 /// Notifies the observer that an application was removed.
2589 /// @param serial The new serial number of the registry database.
2590 /// @param name The name of the application that was removed.
2591 /// @param context The request context.
2592 void applicationRemoved(std::int32_t serial, std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
2593
2594 /// Notifies the observer that an application was removed.
2595 /// @param serial The new serial number of the registry database.
2596 /// @param name The name of the application that was removed.
2597 /// @param context The request context.
2598 /// @return A future that becomes available when the invocation completes.
2599 [[nodiscard]] std::future<void> applicationRemovedAsync(std::int32_t serial, std::string_view name, const Ice::Context& context = Ice::noExplicitContext) const;
2600
2601 /// Notifies the observer that an application was removed.
2602 /// @param serial The new serial number of the registry database.
2603 /// @param name The name of the application that was removed.
2604 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2605 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2606 /// function.
2607 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2608 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2609 /// function.
2610 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2611 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2612 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2613 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2614 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2615 /// asynchronous case.
2616 /// @param context The request context.
2617 /// @return A function that can be called to cancel the invocation locally.
2618 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2619 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2620 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2621 /// callbacks, and the request is sent later, by a flush.
2622 // NOLINTNEXTLINE(modernize-use-nodiscard)
2623 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;
2624
2625 /// @private
2626 void _iceI_applicationRemoved(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::int32_t, std::string_view, const Ice::Context&) const;
2627
2628 /// Notifies the observer that an application was updated.
2629 /// @param serial The new serial number of the registry database.
2630 /// @param desc The descriptor of the update.
2631 /// @param context The request context.
2632 void applicationUpdated(std::int32_t serial, const ApplicationUpdateInfo& desc, const Ice::Context& context = Ice::noExplicitContext) const;
2633
2634 /// Notifies the observer that an application was updated.
2635 /// @param serial The new serial number of the registry database.
2636 /// @param desc The descriptor of the update.
2637 /// @param context The request context.
2638 /// @return A future that becomes available when the invocation completes.
2639 [[nodiscard]] std::future<void> applicationUpdatedAsync(std::int32_t serial, const ApplicationUpdateInfo& desc, const Ice::Context& context = Ice::noExplicitContext) const;
2640
2641 /// Notifies the observer that an application was updated.
2642 /// @param serial The new serial number of the registry database.
2643 /// @param desc The descriptor of the update.
2644 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2645 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2646 /// function.
2647 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2648 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2649 /// function.
2650 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2651 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2652 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2653 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2654 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2655 /// asynchronous case.
2656 /// @param context The request context.
2657 /// @return A function that can be called to cancel the invocation locally.
2658 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2659 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2660 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2661 /// callbacks, and the request is sent later, by a flush.
2662 // NOLINTNEXTLINE(modernize-use-nodiscard)
2663 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;
2664
2665 /// @private
2666 void _iceI_applicationUpdated(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::int32_t, const ApplicationUpdateInfo&, const Ice::Context&) const;
2667
2668 /// Gets the type ID of the associated Slice interface.
2669 /// @return The string `"::IceGrid::ApplicationObserver"`.
2670 static const char* ice_staticId() noexcept;
2671
2672 /// @private
2673 static ApplicationObserverPrx _fromReference(IceInternal::ReferencePtr ref) { return ApplicationObserverPrx{std::move(ref)}; }
2674
2675 protected:
2676 /// @private
2677 ApplicationObserverPrx() = default;
2678
2679 /// @private
2680 explicit ApplicationObserverPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
2681 {
2682 }
2683 };
2684
2685 /// Monitors dynamically-registered object adapters.
2686 /// @remarks The Slice compiler generated this proxy class from Slice interface `::IceGrid::AdapterObserver`.
2687 /// @headerfile IceGrid/IceGrid.h
2688 class ICEGRID_API AdapterObserverPrx : public Ice::Proxy<AdapterObserverPrx, Ice::ObjectPrx>
2689 {
2690 public:
2691 /// Constructs a proxy from a Communicator and a proxy string.
2692 /// @param communicator The communicator of the new proxy.
2693 /// @param proxyString The proxy string to parse.
2694 AdapterObserverPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
2695
2696 /// Copy constructor. Constructs with a copy of the contents of @p other.
2697 /// @param other The proxy to copy from.
2698 AdapterObserverPrx(const AdapterObserverPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
2699
2700 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
2701 /// @param other The proxy to move from.
2702 AdapterObserverPrx(AdapterObserverPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
2703
2704 ~AdapterObserverPrx() override;
2705
2706 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
2707 /// @param rhs The proxy to copy from.
2708 /// @return A reference to this proxy.
2710 {
2711 if (this != &rhs)
2712 {
2714 }
2715 return *this;
2716 }
2717
2718 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
2719 /// @param rhs The proxy to move from.
2721 {
2722 if (this != &rhs)
2723 {
2724 Ice::ObjectPrx::operator=(std::move(rhs));
2725 }
2726 return *this;
2727 }
2728
2729 /// Provides the initial list of dynamically registered adapters to the observer.
2730 /// @param adpts The adapters that were dynamically registered with the registry.
2731 /// @param context The request context.
2732 void adapterInit(const AdapterInfoSeq& adpts, const Ice::Context& context = Ice::noExplicitContext) const;
2733
2734 /// Provides the initial list of dynamically registered adapters to the observer.
2735 /// @param adpts The adapters that were dynamically registered with the registry.
2736 /// @param context The request context.
2737 /// @return A future that becomes available when the invocation completes.
2738 [[nodiscard]] std::future<void> adapterInitAsync(const AdapterInfoSeq& adpts, const Ice::Context& context = Ice::noExplicitContext) const;
2739
2740 /// Provides the initial list of dynamically registered adapters to the observer.
2741 /// @param adpts The adapters that were dynamically registered with the registry.
2742 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2743 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2744 /// function.
2745 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2746 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2747 /// function.
2748 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2749 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2750 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2751 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2752 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2753 /// asynchronous case.
2754 /// @param context The request context.
2755 /// @return A function that can be called to cancel the invocation locally.
2756 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2757 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2758 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2759 /// callbacks, and the request is sent later, by a flush.
2760 // NOLINTNEXTLINE(modernize-use-nodiscard)
2761 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;
2762
2763 /// @private
2764 void _iceI_adapterInit(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const AdapterInfoSeq&, const Ice::Context&) const;
2765
2766 /// Notifies the observer that a dynamically-registered adapter was added.
2767 /// @param info The details of the new adapter.
2768 /// @param context The request context.
2769 void adapterAdded(const AdapterInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2770
2771 /// Notifies the observer that a dynamically-registered adapter was added.
2772 /// @param info The details of the new adapter.
2773 /// @param context The request context.
2774 /// @return A future that becomes available when the invocation completes.
2775 [[nodiscard]] std::future<void> adapterAddedAsync(const AdapterInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2776
2777 /// Notifies the observer that a dynamically-registered adapter was added.
2778 /// @param info The details of the new adapter.
2779 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2780 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2781 /// function.
2782 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2783 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2784 /// function.
2785 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2786 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2787 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2788 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2789 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2790 /// asynchronous case.
2791 /// @param context The request context.
2792 /// @return A function that can be called to cancel the invocation locally.
2793 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2794 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2795 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2796 /// callbacks, and the request is sent later, by a flush.
2797 // NOLINTNEXTLINE(modernize-use-nodiscard)
2798 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;
2799
2800 /// @private
2801 void _iceI_adapterAdded(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const AdapterInfo&, const Ice::Context&) const;
2802
2803 /// Notifies the observer that a dynamically-registered adapter was updated.
2804 /// @param info The details of the updated adapter.
2805 /// @param context The request context.
2806 void adapterUpdated(const AdapterInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2807
2808 /// Notifies the observer that a dynamically-registered adapter was updated.
2809 /// @param info The details of the updated adapter.
2810 /// @param context The request context.
2811 /// @return A future that becomes available when the invocation completes.
2812 [[nodiscard]] std::future<void> adapterUpdatedAsync(const AdapterInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2813
2814 /// Notifies the observer that a dynamically-registered adapter was updated.
2815 /// @param info The details of the updated adapter.
2816 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2817 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2818 /// function.
2819 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2820 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2821 /// function.
2822 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2823 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2824 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2825 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2826 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2827 /// asynchronous case.
2828 /// @param context The request context.
2829 /// @return A function that can be called to cancel the invocation locally.
2830 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2831 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2832 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2833 /// callbacks, and the request is sent later, by a flush.
2834 // NOLINTNEXTLINE(modernize-use-nodiscard)
2835 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;
2836
2837 /// @private
2838 void _iceI_adapterUpdated(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const AdapterInfo&, const Ice::Context&) const;
2839
2840 /// Notifies the observer that a dynamically-registered adapter was removed.
2841 /// @param id The ID of the removed adapter.
2842 /// @param context The request context.
2843 void adapterRemoved(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
2844
2845 /// Notifies the observer that a dynamically-registered adapter was removed.
2846 /// @param id The ID of the removed adapter.
2847 /// @param context The request context.
2848 /// @return A future that becomes available when the invocation completes.
2849 [[nodiscard]] std::future<void> adapterRemovedAsync(std::string_view id, const Ice::Context& context = Ice::noExplicitContext) const;
2850
2851 /// Notifies the observer that a dynamically-registered adapter was removed.
2852 /// @param id The ID of the removed adapter.
2853 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2854 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2855 /// function.
2856 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2857 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2858 /// function.
2859 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2860 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2861 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2862 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2863 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2864 /// asynchronous case.
2865 /// @param context The request context.
2866 /// @return A function that can be called to cancel the invocation locally.
2867 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2868 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2869 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2870 /// callbacks, and the request is sent later, by a flush.
2871 // NOLINTNEXTLINE(modernize-use-nodiscard)
2872 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;
2873
2874 /// @private
2875 void _iceI_adapterRemoved(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const Ice::Context&) const;
2876
2877 /// Gets the type ID of the associated Slice interface.
2878 /// @return The string `"::IceGrid::AdapterObserver"`.
2879 static const char* ice_staticId() noexcept;
2880
2881 /// @private
2882 static AdapterObserverPrx _fromReference(IceInternal::ReferencePtr ref) { return AdapterObserverPrx{std::move(ref)}; }
2883
2884 protected:
2885 /// @private
2886 AdapterObserverPrx() = default;
2887
2888 /// @private
2889 explicit AdapterObserverPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
2890 {
2891 }
2892 };
2893
2894 /// Monitors well-known objects that are added, updated or removed using AdminPrx.
2895 /// @remarks The Slice compiler generated this proxy class from Slice interface `::IceGrid::ObjectObserver`.
2896 /// @headerfile IceGrid/IceGrid.h
2897 class ICEGRID_API ObjectObserverPrx : public Ice::Proxy<ObjectObserverPrx, Ice::ObjectPrx>
2898 {
2899 public:
2900 /// Constructs a proxy from a Communicator and a proxy string.
2901 /// @param communicator The communicator of the new proxy.
2902 /// @param proxyString The proxy string to parse.
2903 ObjectObserverPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
2904
2905 /// Copy constructor. Constructs with a copy of the contents of @p other.
2906 /// @param other The proxy to copy from.
2907 ObjectObserverPrx(const ObjectObserverPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
2908
2909 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
2910 /// @param other The proxy to move from.
2911 ObjectObserverPrx(ObjectObserverPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
2912
2913 ~ObjectObserverPrx() override;
2914
2915 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
2916 /// @param rhs The proxy to copy from.
2917 /// @return A reference to this proxy.
2919 {
2920 if (this != &rhs)
2921 {
2923 }
2924 return *this;
2925 }
2926
2927 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
2928 /// @param rhs The proxy to move from.
2930 {
2931 if (this != &rhs)
2932 {
2933 Ice::ObjectPrx::operator=(std::move(rhs));
2934 }
2935 return *this;
2936 }
2937
2938 /// Provides the initial list of well-known objects to the observer.
2939 /// @param objects The well-known objects registered using ::IceGrid::AdminPrx.
2940 /// @param context The request context.
2941 void objectInit(const ObjectInfoSeq& objects, const Ice::Context& context = Ice::noExplicitContext) const;
2942
2943 /// Provides the initial list of well-known objects to the observer.
2944 /// @param objects The well-known objects registered using ::IceGrid::AdminPrx.
2945 /// @param context The request context.
2946 /// @return A future that becomes available when the invocation completes.
2947 [[nodiscard]] std::future<void> objectInitAsync(const ObjectInfoSeq& objects, const Ice::Context& context = Ice::noExplicitContext) const;
2948
2949 /// Provides the initial list of well-known objects to the observer.
2950 /// @param objects The well-known objects registered using ::IceGrid::AdminPrx.
2951 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2952 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2953 /// function.
2954 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2955 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2956 /// function.
2957 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2958 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2959 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2960 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2961 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2962 /// asynchronous case.
2963 /// @param context The request context.
2964 /// @return A function that can be called to cancel the invocation locally.
2965 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
2966 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
2967 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
2968 /// callbacks, and the request is sent later, by a flush.
2969 // NOLINTNEXTLINE(modernize-use-nodiscard)
2970 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;
2971
2972 /// @private
2973 void _iceI_objectInit(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ObjectInfoSeq&, const Ice::Context&) const;
2974
2975 /// Notifies the observer that a well-known object was added.
2976 /// @param info The details of the new object.
2977 /// @param context The request context.
2978 void objectAdded(const ObjectInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2979
2980 /// Notifies the observer that a well-known object was added.
2981 /// @param info The details of the new object.
2982 /// @param context The request context.
2983 /// @return A future that becomes available when the invocation completes.
2984 [[nodiscard]] std::future<void> objectAddedAsync(const ObjectInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
2985
2986 /// Notifies the observer that a well-known object was added.
2987 /// @param info The details of the new object.
2988 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
2989 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2990 /// function.
2991 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
2992 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
2993 /// function.
2994 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
2995 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
2996 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
2997 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
2998 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
2999 /// asynchronous case.
3000 /// @param context The request context.
3001 /// @return A function that can be called to cancel the invocation locally.
3002 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
3003 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
3004 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
3005 /// callbacks, and the request is sent later, by a flush.
3006 // NOLINTNEXTLINE(modernize-use-nodiscard)
3007 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;
3008
3009 /// @private
3010 void _iceI_objectAdded(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ObjectInfo&, const Ice::Context&) const;
3011
3012 /// Notifies the observer that a well-known object was updated.
3013 /// @param info The details of the updated object.
3014 /// @param context The request context.
3015 void objectUpdated(const ObjectInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
3016
3017 /// Notifies the observer that a well-known object was updated.
3018 /// @param info The details of the updated object.
3019 /// @param context The request context.
3020 /// @return A future that becomes available when the invocation completes.
3021 [[nodiscard]] std::future<void> objectUpdatedAsync(const ObjectInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
3022
3023 /// Notifies the observer that a well-known object was updated.
3024 /// @param info The details of the updated object.
3025 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3026 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3027 /// function.
3028 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3029 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3030 /// function.
3031 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3032 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3033 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3034 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3035 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3036 /// asynchronous case.
3037 /// @param context The request context.
3038 /// @return A function that can be called to cancel the invocation locally.
3039 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
3040 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
3041 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
3042 /// callbacks, and the request is sent later, by a flush.
3043 // NOLINTNEXTLINE(modernize-use-nodiscard)
3044 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;
3045
3046 /// @private
3047 void _iceI_objectUpdated(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ObjectInfo&, const Ice::Context&) const;
3048
3049 /// Notifies the observer that a well-known object was removed.
3050 /// @param id The identity of the removed object.
3051 /// @param context The request context.
3052 void objectRemoved(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
3053
3054 /// Notifies the observer that a well-known object was removed.
3055 /// @param id The identity of the removed object.
3056 /// @param context The request context.
3057 /// @return A future that becomes available when the invocation completes.
3058 [[nodiscard]] std::future<void> objectRemovedAsync(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
3059
3060 /// Notifies the observer that a well-known object was removed.
3061 /// @param id The identity of the removed object.
3062 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3063 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3064 /// function.
3065 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3066 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3067 /// function.
3068 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3069 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3070 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3071 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3072 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3073 /// asynchronous case.
3074 /// @param context The request context.
3075 /// @return A function that can be called to cancel the invocation locally.
3076 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
3077 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
3078 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
3079 /// callbacks, and the request is sent later, by a flush.
3080 // NOLINTNEXTLINE(modernize-use-nodiscard)
3081 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;
3082
3083 /// @private
3084 void _iceI_objectRemoved(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ::Ice::Identity&, const Ice::Context&) const;
3085
3086 /// Gets the type ID of the associated Slice interface.
3087 /// @return The string `"::IceGrid::ObjectObserver"`.
3088 static const char* ice_staticId() noexcept;
3089
3090 /// @private
3091 static ObjectObserverPrx _fromReference(IceInternal::ReferencePtr ref) { return ObjectObserverPrx{std::move(ref)}; }
3092
3093 protected:
3094 /// @private
3095 ObjectObserverPrx() = default;
3096
3097 /// @private
3098 explicit ObjectObserverPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
3099 {
3100 }
3101 };
3102
3103 /// Represents an administrative session between an admin tool and an IceGrid registry.
3104 /// @remarks The Slice compiler generated this proxy class from Slice interface `::IceGrid::AdminSession`.
3105 /// @see RegistryPrx
3106 /// @headerfile IceGrid/IceGrid.h
3107 class ICEGRID_API AdminSessionPrx : public Ice::Proxy<AdminSessionPrx, ::Glacier2::SessionPrx>
3108 {
3109 public:
3110#if defined(__GNUC__) && !defined(__clang__)
3111# pragma GCC diagnostic push
3112# pragma GCC diagnostic ignored "-Wextra" // initialize all virtual bases in correct order
3113#endif
3114
3115 /// Constructs a proxy from a Communicator and a proxy string.
3116 /// @param communicator The communicator of the new proxy.
3117 /// @param proxyString The proxy string to parse.
3118 AdminSessionPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
3119
3120 /// Copy constructor. Constructs with a copy of the contents of @p other.
3121 /// @param other The proxy to copy from.
3122 AdminSessionPrx(const AdminSessionPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
3123
3124 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
3125 /// @param other The proxy to move from.
3126 AdminSessionPrx(AdminSessionPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
3127
3128 ~AdminSessionPrx() override;
3129
3130 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
3131 /// @param rhs The proxy to copy from.
3132 /// @return A reference to this proxy.
3134 {
3135 if (this != &rhs)
3136 {
3138 }
3139 return *this;
3140 }
3141
3142 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
3143 /// @param rhs The proxy to move from.
3145 {
3146 if (this != &rhs)
3147 {
3148 Ice::ObjectPrx::operator=(std::move(rhs));
3149 }
3150 return *this;
3151 }
3152
3153 /// Keeps the session alive.
3154 /// @param context The request context.
3155 [[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;
3156
3157 /// Keeps the session alive.
3158 /// @param context The request context.
3159 /// @return A future that becomes available when the invocation completes.
3160 [[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;
3161
3162 /// Keeps the session alive.
3163 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3164 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3165 /// function.
3166 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3167 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3168 /// function.
3169 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3170 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3171 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3172 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3173 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3174 /// asynchronous case.
3175 /// @param context The request context.
3176 /// @return A function that can be called to cancel the invocation locally.
3177 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
3178 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
3179 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
3180 /// callbacks, and the request is sent later, by a flush.
3181 // NOLINTNEXTLINE(modernize-use-nodiscard)
3182 [[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;
3183
3184 /// @private
3185 void _iceI_keepAlive(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const Ice::Context&) const;
3186
3187 /// Gets a proxy to the IceGrid admin object. The admin object returned by this operation can only be accessed
3188 /// by the session.
3189 /// @param context The request context.
3190 /// @return A proxy to the IceGrid admin object. This proxy is never null.
3191 std::optional<AdminPrx> getAdmin(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
3192
3193 /// Gets a proxy to the IceGrid admin object. The admin object returned by this operation can only be accessed
3194 /// by the session.
3195 /// @param context The request context.
3196 /// @return A future that becomes available when the invocation completes. This future holds:
3197 /// - A proxy to the IceGrid admin object. This proxy is never null.
3198 [[nodiscard]] std::future<std::optional<AdminPrx>> getAdminAsync(const Ice::Context& context = Ice::noExplicitContext) const;
3199
3200 /// Gets a proxy to the IceGrid admin object. The admin object returned by this operation can only be accessed
3201 /// by the session.
3202 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3203 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3204 /// function. It accepts:
3205 /// - A proxy to the IceGrid admin object. This proxy is never null.
3206 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3207 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3208 /// function.
3209 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3210 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3211 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3212 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3213 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3214 /// asynchronous case.
3215 /// @param context The request context.
3216 /// @return A function that can be called to cancel the invocation locally.
3217 // NOLINTNEXTLINE(modernize-use-nodiscard)
3218 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;
3219
3220 /// @private
3221 void _iceI_getAdmin(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<AdminPrx>>>&, const Ice::Context&) const;
3222
3223 /// Gets a "template" proxy for admin callback objects. An Admin client uses this proxy to set the category of
3224 /// its callback objects, and the published endpoints of the object adapter hosting the admin callback objects.
3225 /// @param context The request context.
3226 /// @return A template proxy. The returned proxy is null when the Admin session was established using Glacier2.
3227 std::optional<Ice::ObjectPrx> getAdminCallbackTemplate(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
3228
3229 /// Gets a "template" proxy for admin callback objects. An Admin client uses this proxy to set the category of
3230 /// its callback objects, and the published endpoints of the object adapter hosting the admin callback objects.
3231 /// @param context The request context.
3232 /// @return A future that becomes available when the invocation completes. This future holds:
3233 /// - A template proxy. The returned proxy is null when the Admin session was established using Glacier2.
3234 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> getAdminCallbackTemplateAsync(const Ice::Context& context = Ice::noExplicitContext) const;
3235
3236 /// Gets a "template" proxy for admin callback objects. An Admin client uses this proxy to set the category of
3237 /// its callback objects, and the published endpoints of the object adapter hosting the admin callback objects.
3238 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3239 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3240 /// function. It accepts:
3241 /// - A template proxy. The returned proxy is null when the Admin session was established using Glacier2.
3242 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3243 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3244 /// function.
3245 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3246 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3247 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3248 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3249 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3250 /// asynchronous case.
3251 /// @param context The request context.
3252 /// @return A function that can be called to cancel the invocation locally.
3253 // NOLINTNEXTLINE(modernize-use-nodiscard)
3254 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;
3255
3256 /// @private
3257 void _iceI_getAdminCallbackTemplate(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, const Ice::Context&) const;
3258
3259 /// Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
3260 /// @param registryObs The registry observer.
3261 /// @param nodeObs The node observer.
3262 /// @param appObs The application observer.
3263 /// @param adptObs The adapter observer.
3264 /// @param objObs The object observer.
3265 /// @param context The request context.
3266 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
3267 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;
3268
3269 /// Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
3270 /// @param registryObs The registry observer.
3271 /// @param nodeObs The node observer.
3272 /// @param appObs The application observer.
3273 /// @param adptObs The adapter observer.
3274 /// @param objObs The object observer.
3275 /// @param context The request context.
3276 /// @return A future that becomes available when the invocation completes.
3277 [[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;
3278
3279 /// Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
3280 /// @param registryObs The registry observer.
3281 /// @param nodeObs The node observer.
3282 /// @param appObs The application observer.
3283 /// @param adptObs The adapter observer.
3284 /// @param objObs The object observer.
3285 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3286 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3287 /// function.
3288 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3289 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3290 /// function.
3291 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3292 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3293 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3294 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3295 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3296 /// asynchronous case.
3297 /// @param context The request context.
3298 /// @return A function that can be called to cancel the invocation locally.
3299 // NOLINTNEXTLINE(modernize-use-nodiscard)
3300 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;
3301
3302 /// @private
3303 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;
3304
3305 /// Sets the observer identities that receive notifications when the state of the registry or nodes changes.
3306 /// This operation should be used by clients that are using a bidirectional connection to communicate with the
3307 /// session.
3308 /// @param registryObs The registry observer identity.
3309 /// @param nodeObs The node observer identity.
3310 /// @param appObs The application observer identity.
3311 /// @param adptObs The adapter observer identity.
3312 /// @param objObs The object observer identity.
3313 /// @param context The request context.
3314 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
3315 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;
3316
3317 /// Sets the observer identities that receive notifications when the state of the registry or nodes changes.
3318 /// This operation should be used by clients that are using a bidirectional connection to communicate with the
3319 /// session.
3320 /// @param registryObs The registry observer identity.
3321 /// @param nodeObs The node observer identity.
3322 /// @param appObs The application observer identity.
3323 /// @param adptObs The adapter observer identity.
3324 /// @param objObs The object observer identity.
3325 /// @param context The request context.
3326 /// @return A future that becomes available when the invocation completes.
3327 [[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;
3328
3329 /// Sets the observer identities that receive notifications when the state of the registry or nodes changes.
3330 /// This operation should be used by clients that are using a bidirectional connection to communicate with the
3331 /// session.
3332 /// @param registryObs The registry observer identity.
3333 /// @param nodeObs The node observer identity.
3334 /// @param appObs The application observer identity.
3335 /// @param adptObs The adapter observer identity.
3336 /// @param objObs The object observer identity.
3337 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3338 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3339 /// function.
3340 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3341 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3342 /// function.
3343 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3344 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3345 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3346 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3347 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3348 /// asynchronous case.
3349 /// @param context The request context.
3350 /// @return A function that can be called to cancel the invocation locally.
3351 // NOLINTNEXTLINE(modernize-use-nodiscard)
3352 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;
3353
3354 /// @private
3355 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;
3356
3357 /// Acquires an exclusive lock to start updating the registry applications.
3358 /// @param context The request context.
3359 /// @return The current serial.
3360 /// @throws IceGrid::AccessDeniedException Thrown when the exclusive lock can't be acquired. This might happen if the
3361 /// lock is currently acquired by another session.
3362 std::int32_t startUpdate(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
3363
3364 /// Acquires an exclusive lock to start updating the registry applications.
3365 /// @param context The request context.
3366 /// @return A future that becomes available when the invocation completes. This future holds:
3367 /// - The current serial.
3368 [[nodiscard]] std::future<std::int32_t> startUpdateAsync(const Ice::Context& context = Ice::noExplicitContext) const;
3369
3370 /// Acquires an exclusive lock to start updating the registry applications.
3371 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3372 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3373 /// function. It accepts:
3374 /// - The current serial.
3375 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3376 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3377 /// function.
3378 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3379 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3380 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3381 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3382 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3383 /// asynchronous case.
3384 /// @param context The request context.
3385 /// @return A function that can be called to cancel the invocation locally.
3386 // NOLINTNEXTLINE(modernize-use-nodiscard)
3387 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;
3388
3389 /// @private
3390 void _iceI_startUpdate(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::int32_t>>&, const Ice::Context&) const;
3391
3392 /// Finishes updating the registry and releases the exclusive lock.
3393 /// @param context The request context.
3394 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock.
3396
3397 /// Finishes updating the registry and releases the exclusive lock.
3398 /// @param context The request context.
3399 /// @return A future that becomes available when the invocation completes.
3400 [[nodiscard]] std::future<void> finishUpdateAsync(const Ice::Context& context = Ice::noExplicitContext) const;
3401
3402 /// Finishes updating the registry and releases the exclusive lock.
3403 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3404 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3405 /// function.
3406 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3407 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3408 /// function.
3409 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3410 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3411 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3412 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3413 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3414 /// asynchronous case.
3415 /// @param context The request context.
3416 /// @return A function that can be called to cancel the invocation locally.
3417 // NOLINTNEXTLINE(modernize-use-nodiscard)
3418 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;
3419
3420 /// @private
3421 void _iceI_finishUpdate(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const Ice::Context&) const;
3422
3423 /// Gets the name of the registry replica hosting this session.
3424 /// @param context The request context.
3425 /// @return The replica name of the registry.
3426 std::string getReplicaName(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
3427
3428 /// Gets the name of the registry replica hosting this session.
3429 /// @param context The request context.
3430 /// @return A future that becomes available when the invocation completes. This future holds:
3431 /// - The replica name of the registry.
3432 [[nodiscard]] std::future<std::string> getReplicaNameAsync(const Ice::Context& context = Ice::noExplicitContext) const;
3433
3434 /// Gets the name of the registry replica hosting this session.
3435 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3436 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3437 /// function. It accepts:
3438 /// - The replica name of the registry.
3439 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3440 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3441 /// function.
3442 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3443 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3444 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3445 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3446 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3447 /// asynchronous case.
3448 /// @param context The request context.
3449 /// @return A function that can be called to cancel the invocation locally.
3450 // NOLINTNEXTLINE(modernize-use-nodiscard)
3451 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;
3452
3453 /// @private
3454 void _iceI_getReplicaName(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::string>>&, const Ice::Context&) const;
3455
3456 /// Opens a server log file for reading.
3457 /// @param id The server ID.
3458 /// @param path The path of the log file. A log file can be opened only if it's declared in the server or
3459 /// service deployment descriptor.
3460 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3461 /// Otherwise, the file is read from the last @p count lines.
3462 /// @param context The request context.
3463 /// @return An iterator to read the file. This proxy is never null.
3464 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
3465 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
3466 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3467 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3468 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)
3469
3470 /// Opens a server log file for reading.
3471 /// @param id The server ID.
3472 /// @param path The path of the log file. A log file can be opened only if it's declared in the server or
3473 /// service deployment descriptor.
3474 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3475 /// Otherwise, the file is read from the last @p count lines.
3476 /// @param context The request context.
3477 /// @return A future that becomes available when the invocation completes. This future holds:
3478 /// - An iterator to read the file. This proxy is never null.
3479 [[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;
3480
3481 /// Opens a server log file for reading.
3482 /// @param id The server ID.
3483 /// @param path The path of the log file. A log file can be opened only if it's declared in the server or
3484 /// service deployment descriptor.
3485 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3486 /// Otherwise, the file is read from the last @p count lines.
3487 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3488 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3489 /// function. It accepts:
3490 /// - An iterator to read the file. This proxy is never null.
3491 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3492 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3493 /// function.
3494 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3495 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3496 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3497 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3498 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3499 /// asynchronous case.
3500 /// @param context The request context.
3501 /// @return A function that can be called to cancel the invocation locally.
3502 // NOLINTNEXTLINE(modernize-use-nodiscard)
3503 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;
3504
3505 /// @private
3506 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;
3507
3508 /// Opens a server stderr file for reading.
3509 /// @param id The server ID.
3510 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3511 /// Otherwise, the file is read from the last @p count lines.
3512 /// @param context The request context.
3513 /// @return An iterator to read the file. This proxy is never null.
3514 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
3515 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
3516 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3517 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3518 std::optional<FileIteratorPrx> openServerStdErr(std::string_view id, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
3519
3520 /// Opens a server stderr file for reading.
3521 /// @param id The server ID.
3522 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3523 /// Otherwise, the file is read from the last @p count lines.
3524 /// @param context The request context.
3525 /// @return A future that becomes available when the invocation completes. This future holds:
3526 /// - An iterator to read the file. This proxy is never null.
3527 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openServerStdErrAsync(std::string_view id, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
3528
3529 /// Opens a server stderr file for reading.
3530 /// @param id The server ID.
3531 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3532 /// Otherwise, the file is read from the last @p count lines.
3533 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3534 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3535 /// function. It accepts:
3536 /// - An iterator to read the file. This proxy is never null.
3537 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3538 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3539 /// function.
3540 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3541 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3542 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3543 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3544 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3545 /// asynchronous case.
3546 /// @param context The request context.
3547 /// @return A function that can be called to cancel the invocation locally.
3548 // NOLINTNEXTLINE(modernize-use-nodiscard)
3549 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;
3550
3551 /// @private
3552 void _iceI_openServerStdErr(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
3553
3554 /// Opens a server stdout file for reading.
3555 /// @param id The server id.
3556 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3557 /// Otherwise, the file is read from the last @p count lines.
3558 /// @param context The request context.
3559 /// @return An iterator to read the file. This proxy is never null.
3560 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
3561 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
3562 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3563 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
3564 std::optional<FileIteratorPrx> openServerStdOut(std::string_view id, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
3565
3566 /// Opens a server stdout file for reading.
3567 /// @param id The server id.
3568 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3569 /// Otherwise, the file is read from the last @p count lines.
3570 /// @param context The request context.
3571 /// @return A future that becomes available when the invocation completes. This future holds:
3572 /// - An iterator to read the file. This proxy is never null.
3573 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openServerStdOutAsync(std::string_view id, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
3574
3575 /// Opens a server stdout file for reading.
3576 /// @param id The server id.
3577 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3578 /// Otherwise, the file is read from the last @p count lines.
3579 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3580 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3581 /// function. It accepts:
3582 /// - An iterator to read the file. This proxy is never null.
3583 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3584 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3585 /// function.
3586 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3587 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3588 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3589 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3590 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3591 /// asynchronous case.
3592 /// @param context The request context.
3593 /// @return A function that can be called to cancel the invocation locally.
3594 // NOLINTNEXTLINE(modernize-use-nodiscard)
3595 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;
3596
3597 /// @private
3598 void _iceI_openServerStdOut(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
3599
3600 /// Opens a node stderr file for reading.
3601 /// @param name The node name.
3602 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3603 /// Otherwise, the file is read from the last @p count lines.
3604 /// @param context The request context.
3605 /// @return An iterator to read the file. This proxy is never null.
3606 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
3607 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
3608 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3609 std::optional<FileIteratorPrx> openNodeStdErr(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
3610
3611 /// Opens a node stderr file for reading.
3612 /// @param name The node name.
3613 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3614 /// Otherwise, the file is read from the last @p count lines.
3615 /// @param context The request context.
3616 /// @return A future that becomes available when the invocation completes. This future holds:
3617 /// - An iterator to read the file. This proxy is never null.
3618 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openNodeStdErrAsync(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
3619
3620 /// Opens a node stderr file for reading.
3621 /// @param name The node name.
3622 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3623 /// Otherwise, the file is read from the last @p count lines.
3624 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3625 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3626 /// function. It accepts:
3627 /// - An iterator to read the file. This proxy is never null.
3628 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3629 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3630 /// function.
3631 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3632 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3633 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3634 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3635 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3636 /// asynchronous case.
3637 /// @param context The request context.
3638 /// @return A function that can be called to cancel the invocation locally.
3639 // NOLINTNEXTLINE(modernize-use-nodiscard)
3640 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;
3641
3642 /// @private
3643 void _iceI_openNodeStdErr(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
3644
3645 /// Opens a node stdout file for reading.
3646 /// @param name The node name.
3647 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3648 /// Otherwise, the file is read from the last @p count lines.
3649 /// @param context The request context.
3650 /// @return An iterator to read the file. This proxy is never null.
3651 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
3652 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
3653 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
3654 std::optional<FileIteratorPrx> openNodeStdOut(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
3655
3656 /// Opens a node stdout file for reading.
3657 /// @param name The node name.
3658 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3659 /// Otherwise, the file is read from the last @p count lines.
3660 /// @param context The request context.
3661 /// @return A future that becomes available when the invocation completes. This future holds:
3662 /// - An iterator to read the file. This proxy is never null.
3663 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openNodeStdOutAsync(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
3664
3665 /// Opens a node stdout file for reading.
3666 /// @param name The node name.
3667 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3668 /// Otherwise, the file is read from the last @p count lines.
3669 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3670 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3671 /// function. It accepts:
3672 /// - An iterator to read the file. This proxy is never null.
3673 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3674 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3675 /// function.
3676 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3677 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3678 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3679 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3680 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3681 /// asynchronous case.
3682 /// @param context The request context.
3683 /// @return A function that can be called to cancel the invocation locally.
3684 // NOLINTNEXTLINE(modernize-use-nodiscard)
3685 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;
3686
3687 /// @private
3688 void _iceI_openNodeStdOut(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
3689
3690 /// Opens a registry stderr file for reading.
3691 /// @param name The registry name.
3692 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3693 /// Otherwise, the file is read from the last @p count lines.
3694 /// @param context The request context.
3695 /// @return An iterator to read the file. This proxy is never null.
3696 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
3697 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
3698 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
3699 std::optional<FileIteratorPrx> openRegistryStdErr(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
3700
3701 /// Opens a registry stderr file for reading.
3702 /// @param name The registry name.
3703 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3704 /// Otherwise, the file is read from the last @p count lines.
3705 /// @param context The request context.
3706 /// @return A future that becomes available when the invocation completes. This future holds:
3707 /// - An iterator to read the file. This proxy is never null.
3708 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openRegistryStdErrAsync(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
3709
3710 /// Opens a registry stderr file for reading.
3711 /// @param name The registry name.
3712 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3713 /// Otherwise, the file is read from the last @p count lines.
3714 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3715 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3716 /// function. It accepts:
3717 /// - An iterator to read the file. This proxy is never null.
3718 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3719 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3720 /// function.
3721 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3722 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3723 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3724 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3725 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3726 /// asynchronous case.
3727 /// @param context The request context.
3728 /// @return A function that can be called to cancel the invocation locally.
3729 // NOLINTNEXTLINE(modernize-use-nodiscard)
3730 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;
3731
3732 /// @private
3733 void _iceI_openRegistryStdErr(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
3734
3735 /// Opens a registry stdout file for reading.
3736 /// @param name The registry name.
3737 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3738 /// Otherwise, the file is read from the last @p count lines.
3739 /// @param context The request context.
3740 /// @return An iterator to read the file. This proxy is never null.
3741 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
3742 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
3743 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
3744 std::optional<FileIteratorPrx> openRegistryStdOut(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
3745
3746 /// Opens a registry stdout file for reading.
3747 /// @param name The registry name.
3748 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3749 /// Otherwise, the file is read from the last @p count lines.
3750 /// @param context The request context.
3751 /// @return A future that becomes available when the invocation completes. This future holds:
3752 /// - An iterator to read the file. This proxy is never null.
3753 [[nodiscard]] std::future<std::optional<FileIteratorPrx>> openRegistryStdOutAsync(std::string_view name, std::int32_t count, const Ice::Context& context = Ice::noExplicitContext) const;
3754
3755 /// Opens a registry stdout file for reading.
3756 /// @param name The registry name.
3757 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
3758 /// Otherwise, the file is read from the last @p count lines.
3759 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
3760 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3761 /// function. It accepts:
3762 /// - An iterator to read the file. This proxy is never null.
3763 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
3764 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
3765 /// function.
3766 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
3767 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
3768 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
3769 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
3770 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
3771 /// asynchronous case.
3772 /// @param context The request context.
3773 /// @return A function that can be called to cancel the invocation locally.
3774 // NOLINTNEXTLINE(modernize-use-nodiscard)
3775 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;
3776
3777 /// @private
3778 void _iceI_openRegistryStdOut(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<FileIteratorPrx>>>&, std::string_view, std::int32_t, const Ice::Context&) const;
3779
3780 /// Gets the type ID of the associated Slice interface.
3781 /// @return The string `"::IceGrid::AdminSession"`.
3782 static const char* ice_staticId() noexcept;
3783
3784 /// @private
3785 static AdminSessionPrx _fromReference(IceInternal::ReferencePtr ref) { return AdminSessionPrx{std::move(ref)}; }
3786
3787 protected:
3788 /// @private
3789 AdminSessionPrx() = default;
3790
3791 /// @private
3792 explicit AdminSessionPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
3793 {
3794 }
3795
3796#if defined(__GNUC__) && !defined(__clang__)
3797# pragma GCC diagnostic pop
3798#endif
3799 };
3800}
3801
3802namespace IceGrid
3803{
3804 /// Information about an Ice well-known object.
3805 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::ObjectInfo`.
3806 /// @headerfile IceGrid/IceGrid.h
3808 {
3809 /// The proxy of the object.
3810 std::optional<Ice::ObjectPrx> proxy;
3811
3812 /// The type of the object.
3813 std::string type;
3814
3815 /// Creates a tuple with all the fields of this struct.
3816 /// @return A tuple with all the fields of this struct.
3817 [[nodiscard]] std::tuple<const std::optional<Ice::ObjectPrx>&, const std::string&> ice_tuple() const
3818 {
3819 return std::tie(proxy, type);
3820 }
3821
3822 /// Outputs the name and value of each field of this instance to the stream.
3823 /// @param os The output stream.
3824 ICEGRID_API void ice_printFields(std::ostream& os) const;
3825 };
3826
3827 /// Outputs the description of an ObjectInfo to a stream, including all its fields.
3828 /// @param os The output stream.
3829 /// @param value The instance to output.
3830 /// @return The output stream.
3831 ICEGRID_API std::ostream& operator<<(std::ostream& os, const ObjectInfo& value);
3832
3833 /// Information about an adapter registered with the IceGrid registry.
3834 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::AdapterInfo`.
3835 /// @headerfile IceGrid/IceGrid.h
3837 {
3838 /// The ID of the adapter.
3839 std::string id;
3840
3841 /// A dummy direct proxy that contains the adapter endpoints.
3842 std::optional<Ice::ObjectPrx> proxy;
3843
3844 /// The replica group ID of the object adapter, or empty if the adapter doesn't belong to a replica group.
3845 std::string replicaGroupId;
3846
3847 /// Creates a tuple with all the fields of this struct.
3848 /// @return A tuple with all the fields of this struct.
3849 [[nodiscard]] std::tuple<const std::string&, const std::optional<Ice::ObjectPrx>&, const std::string&> ice_tuple() const
3850 {
3851 return std::tie(id, proxy, replicaGroupId);
3852 }
3853
3854 /// Outputs the name and value of each field of this instance to the stream.
3855 /// @param os The output stream.
3856 ICEGRID_API void ice_printFields(std::ostream& os) const;
3857 };
3858
3859 /// Outputs the description of an AdapterInfo to a stream, including all its fields.
3860 /// @param os The output stream.
3861 /// @param value The instance to output.
3862 /// @return The output stream.
3863 ICEGRID_API std::ostream& operator<<(std::ostream& os, const AdapterInfo& value);
3864
3865 /// Information about a server managed by an IceGrid node.
3866 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::ServerInfo`.
3867 /// @headerfile IceGrid/IceGrid.h
3869 {
3870 /// The application to which this server belongs.
3871 std::string application;
3872
3873 /// The application UUID.
3874 std::string uuid;
3875
3876 /// The application revision.
3877 std::int32_t revision;
3878
3879 /// The IceGrid node where this server is deployed.
3880 std::string node;
3881
3882 /// The server descriptor.
3884
3885 /// The ID of the session which allocated the server.
3886 std::string sessionId;
3887
3888 /// Creates a tuple with all the fields of this struct.
3889 /// @return A tuple with all the fields of this struct.
3890 [[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
3891 {
3892 return std::tie(application, uuid, revision, node, descriptor, sessionId);
3893 }
3894
3895 /// Outputs the name and value of each field of this instance to the stream.
3896 /// @param os The output stream.
3897 ICEGRID_API void ice_printFields(std::ostream& os) const;
3898 };
3899
3900 /// Outputs the description of a ServerInfo to a stream, including all its fields.
3901 /// @param os The output stream.
3902 /// @param value The instance to output.
3903 /// @return The output stream.
3904 ICEGRID_API std::ostream& operator<<(std::ostream& os, const ServerInfo& value);
3905
3906 /// Information about an IceGrid node.
3907 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::NodeInfo`.
3908 /// @headerfile IceGrid/IceGrid.h
3910 {
3911 /// The name of the node.
3912 std::string name;
3913
3914 /// The operating system name.
3915 std::string os;
3916
3917 /// The network name of the host running this node.
3918 std::string hostname;
3919
3920 /// The operating system release level.
3921 std::string release;
3922
3923 /// The operating system version.
3924 std::string version;
3925
3926 /// The machine hardware type.
3927 std::string machine;
3928
3929 /// The number of processor threads on the node.
3930 /// For example, nProcessors is 8 on a computer with a single quad-core processor and two threads per core.
3931 std::int32_t nProcessors;
3932
3933 /// The path to the node data directory.
3934 std::string dataDir;
3935
3936 /// Creates a tuple with all the fields of this struct.
3937 /// @return A tuple with all the fields of this struct.
3938 [[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
3939 {
3940 return std::tie(name, os, hostname, release, version, machine, nProcessors, dataDir);
3941 }
3942
3943 /// Outputs the name and value of each field of this instance to the stream.
3944 /// @param os The output stream.
3945 ICEGRID_API void ice_printFields(std::ostream& os) const;
3946 };
3947
3948 /// Outputs the description of a NodeInfo to a stream, including all its fields.
3949 /// @param os The output stream.
3950 /// @param value The instance to output.
3951 /// @return The output stream.
3952 ICEGRID_API std::ostream& operator<<(std::ostream& os, const NodeInfo& value);
3953
3954 /// Information about an IceGrid registry replica.
3955 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::RegistryInfo`.
3956 /// @headerfile IceGrid/IceGrid.h
3958 {
3959 /// The name of the registry.
3960 std::string name;
3961
3962 /// The network name of the host running this registry.
3963 std::string hostname;
3964
3965 /// Creates a tuple with all the fields of this struct.
3966 /// @return A tuple with all the fields of this struct.
3967 [[nodiscard]] std::tuple<const std::string&, const std::string&> ice_tuple() const
3968 {
3969 return std::tie(name, hostname);
3970 }
3971
3972 /// Outputs the name and value of each field of this instance to the stream.
3973 /// @param os The output stream.
3974 ICEGRID_API void ice_printFields(std::ostream& os) const;
3975 };
3976
3977 /// Outputs the description of a RegistryInfo to a stream, including all its fields.
3978 /// @param os The output stream.
3979 /// @param value The instance to output.
3980 /// @return The output stream.
3981 ICEGRID_API std::ostream& operator<<(std::ostream& os, const RegistryInfo& value);
3982
3983 /// Information about the load of a node.
3984 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::LoadInfo`.
3985 /// @headerfile IceGrid/IceGrid.h
3987 {
3988 /// The load average over the past minute.
3989 float avg1;
3990
3991 /// The load average over the past 5 minutes.
3992 float avg5;
3993
3994 /// The load average over the past 15 minutes.
3995 float avg15;
3996
3997 /// Creates a tuple with all the fields of this struct.
3998 /// @return A tuple with all the fields of this struct.
3999 [[nodiscard]] std::tuple<const float&, const float&, const float&> ice_tuple() const
4000 {
4001 return std::tie(avg1, avg5, avg15);
4002 }
4003
4004 /// Outputs the name and value of each field of this instance to the stream.
4005 /// @param os The output stream.
4006 ICEGRID_API void ice_printFields(std::ostream& os) const;
4007 };
4008
4009 /// Outputs the description of a LoadInfo to a stream, including all its fields.
4010 /// @param os The output stream.
4011 /// @param value The instance to output.
4012 /// @return The output stream.
4013 ICEGRID_API std::ostream& operator<<(std::ostream& os, const LoadInfo& value);
4014
4015 /// Information about an IceGrid application.
4016 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::ApplicationInfo`.
4017 /// @headerfile IceGrid/IceGrid.h
4019 {
4020 /// Unique application identifier.
4021 std::string uuid;
4022
4023 /// The creation time.
4024 std::int64_t createTime;
4025
4026 /// The user who created the application.
4027 std::string createUser;
4028
4029 /// The last update time.
4030 std::int64_t updateTime;
4031
4032 /// The user who updated the application.
4033 std::string updateUser;
4034
4035 /// The application revision number.
4036 std::int32_t revision;
4037
4038 /// The application descriptor.
4040
4041 /// Creates a tuple with all the fields of this struct.
4042 /// @return A tuple with all the fields of this struct.
4043 [[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
4044 {
4046 }
4047
4048 /// Outputs the name and value of each field of this instance to the stream.
4049 /// @param os The output stream.
4050 ICEGRID_API void ice_printFields(std::ostream& os) const;
4051 };
4052
4053 /// Outputs the description of an ApplicationInfo to a stream, including all its fields.
4054 /// @param os The output stream.
4055 /// @param value The instance to output.
4056 /// @return The output stream.
4057 ICEGRID_API std::ostream& operator<<(std::ostream& os, const ApplicationInfo& value);
4058
4059 /// Information about updates to an IceGrid application.
4060 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::ApplicationUpdateInfo`.
4061 /// @headerfile IceGrid/IceGrid.h
4063 {
4064 /// The update time.
4065 std::int64_t updateTime;
4066
4067 /// The user who updated the application.
4068 std::string updateUser;
4069
4070 /// The application revision number.
4071 std::int32_t revision;
4072
4073 /// The update descriptor.
4075
4076 /// Creates a tuple with all the fields of this struct.
4077 /// @return A tuple with all the fields of this struct.
4078 [[nodiscard]] std::tuple<const std::int64_t&, const std::string&, const std::int32_t&, const ::IceGrid::ApplicationUpdateDescriptor&> ice_tuple() const
4079 {
4080 return std::tie(updateTime, updateUser, revision, descriptor);
4081 }
4082
4083 /// Outputs the name and value of each field of this instance to the stream.
4084 /// @param os The output stream.
4085 ICEGRID_API void ice_printFields(std::ostream& os) const;
4086 };
4087
4088 /// Outputs the description of an ApplicationUpdateInfo to a stream, including all its fields.
4089 /// @param os The output stream.
4090 /// @param value The instance to output.
4091 /// @return The output stream.
4092 ICEGRID_API std::ostream& operator<<(std::ostream& os, const ApplicationUpdateInfo& value);
4093
4094 /// The exception that is thrown when IceGrid cannot deploy a server.
4095 /// @remarks The Slice compiler generated this exception class from Slice exception `::IceGrid::DeploymentException`.
4096 /// @headerfile IceGrid/IceGrid.h
4097 class ICEGRID_API DeploymentException : public Ice::UserException
4098 {
4099 public:
4100 /// Default constructor.
4101 DeploymentException() noexcept = default;
4102
4103 /// One-shot constructor to initialize all data members.
4104 /// @param reason The reason for the failure.
4105 DeploymentException(std::string reason) noexcept :
4106 reason(std::move(reason))
4107 {
4108 }
4109
4110 /// Copy constructor.
4111 DeploymentException(const DeploymentException&) noexcept = default;
4112
4113 /// Creates a tuple with all the fields of this exception.
4114 /// @return A tuple with all the fields of this exception.
4115 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
4116 {
4117 return std::tie(reason);
4118 }
4119
4120 void ice_printFields(std::ostream& os) const override;
4121 /// Gets the type ID of the associated Slice exception.
4122 /// @return The string `"::IceGrid::DeploymentException"`.
4123 static const char* ice_staticId() noexcept;
4124
4125 [[nodiscard]] const char* ice_id() const noexcept override;
4126
4127 void ice_throw() const override;
4128
4129 /// The reason for the failure.
4130 std::string reason;
4131
4132 protected:
4133 /// @private
4134 void _writeImpl(Ice::OutputStream*) const override;
4135
4136 /// @private
4137 void _readImpl(Ice::InputStream*) override;
4138 };
4139
4140 /// The exception that is thrown when IceGrid cannot reach a node.
4141 /// @remarks The Slice compiler generated this exception class from Slice exception `::IceGrid::NodeUnreachableException`.
4142 /// @headerfile IceGrid/IceGrid.h
4143 class ICEGRID_API NodeUnreachableException : public Ice::UserException
4144 {
4145 public:
4146 /// Default constructor.
4147 NodeUnreachableException() noexcept = default;
4148
4149 /// One-shot constructor to initialize all data members.
4150 /// @param name The name of the node that is not reachable.
4151 /// @param reason The reason why the node couldn't be reached.
4152 NodeUnreachableException(std::string name, std::string reason) noexcept :
4153 name(std::move(name)),
4154 reason(std::move(reason))
4155 {
4156 }
4157
4158 /// Copy constructor.
4160
4161 /// Creates a tuple with all the fields of this exception.
4162 /// @return A tuple with all the fields of this exception.
4163 [[nodiscard]] std::tuple<const std::string&, const std::string&> ice_tuple() const
4164 {
4165 return std::tie(name, reason);
4166 }
4167
4168 void ice_printFields(std::ostream& os) const override;
4169 /// Gets the type ID of the associated Slice exception.
4170 /// @return The string `"::IceGrid::NodeUnreachableException"`.
4171 static const char* ice_staticId() noexcept;
4172
4173 [[nodiscard]] const char* ice_id() const noexcept override;
4174
4175 void ice_throw() const override;
4176
4177 /// The name of the node that is not reachable.
4178 std::string name;
4179
4180 /// The reason why the node couldn't be reached.
4181 std::string reason;
4182
4183 protected:
4184 /// @private
4185 void _writeImpl(Ice::OutputStream*) const override;
4186
4187 /// @private
4188 void _readImpl(Ice::InputStream*) override;
4189 };
4190
4191 /// The exception that is thrown when IceGrid cannot reach a registry.
4192 /// @remarks The Slice compiler generated this exception class from Slice exception `::IceGrid::RegistryUnreachableException`.
4193 /// @headerfile IceGrid/IceGrid.h
4194 class ICEGRID_API RegistryUnreachableException : public Ice::UserException
4195 {
4196 public:
4197 /// Default constructor.
4198 RegistryUnreachableException() noexcept = default;
4199
4200 /// One-shot constructor to initialize all data members.
4201 /// @param name The name of the registry that is not reachable.
4202 /// @param reason The reason why the registry couldn't be reached.
4203 RegistryUnreachableException(std::string name, std::string reason) noexcept :
4204 name(std::move(name)),
4205 reason(std::move(reason))
4206 {
4207 }
4208
4209 /// Copy constructor.
4211
4212 /// Creates a tuple with all the fields of this exception.
4213 /// @return A tuple with all the fields of this exception.
4214 [[nodiscard]] std::tuple<const std::string&, const std::string&> ice_tuple() const
4215 {
4216 return std::tie(name, reason);
4217 }
4218
4219 void ice_printFields(std::ostream& os) const override;
4220 /// Gets the type ID of the associated Slice exception.
4221 /// @return The string `"::IceGrid::RegistryUnreachableException"`.
4222 static const char* ice_staticId() noexcept;
4223
4224 [[nodiscard]] const char* ice_id() const noexcept override;
4225
4226 void ice_throw() const override;
4227
4228 /// The name of the registry that is not reachable.
4229 std::string name;
4230
4231 /// The reason why the registry couldn't be reached.
4232 std::string reason;
4233
4234 protected:
4235 /// @private
4236 void _writeImpl(Ice::OutputStream*) const override;
4237
4238 /// @private
4239 void _readImpl(Ice::InputStream*) override;
4240 };
4241
4242 /// The exception that is thrown when an unknown signal is sent to a server.
4243 /// @remarks The Slice compiler generated this exception class from Slice exception `::IceGrid::BadSignalException`.
4244 /// @headerfile IceGrid/IceGrid.h
4245 class ICEGRID_API BadSignalException : public Ice::UserException
4246 {
4247 public:
4248 /// Default constructor.
4249 BadSignalException() noexcept = default;
4250
4251 /// One-shot constructor to initialize all data members.
4252 /// @param reason The details of the unknown signal.
4253 BadSignalException(std::string reason) noexcept :
4254 reason(std::move(reason))
4255 {
4256 }
4257
4258 /// Copy constructor.
4259 BadSignalException(const BadSignalException&) noexcept = default;
4260
4261 /// Creates a tuple with all the fields of this exception.
4262 /// @return A tuple with all the fields of this exception.
4263 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
4264 {
4265 return std::tie(reason);
4266 }
4267
4268 void ice_printFields(std::ostream& os) const override;
4269 /// Gets the type ID of the associated Slice exception.
4270 /// @return The string `"::IceGrid::BadSignalException"`.
4271 static const char* ice_staticId() noexcept;
4272
4273 [[nodiscard]] const char* ice_id() const noexcept override;
4274
4275 void ice_throw() const override;
4276
4277 /// The details of the unknown signal.
4278 std::string reason;
4279
4280 protected:
4281 /// @private
4282 void _writeImpl(Ice::OutputStream*) const override;
4283
4284 /// @private
4285 void _readImpl(Ice::InputStream*) override;
4286 };
4287
4288 /// The exception that is thrown when the registry update lock cannot be acquired.
4289 /// @remarks The Slice compiler generated this exception class from Slice exception `::IceGrid::AccessDeniedException`.
4290 /// @headerfile IceGrid/IceGrid.h
4291 class ICEGRID_API AccessDeniedException : public Ice::UserException
4292 {
4293 public:
4294 /// Default constructor.
4295 AccessDeniedException() noexcept = default;
4296
4297 /// One-shot constructor to initialize all data members.
4298 /// @param lockUserId The id of the user holding the lock (if any).
4299 AccessDeniedException(std::string lockUserId) noexcept :
4300 lockUserId(std::move(lockUserId))
4301 {
4302 }
4303
4304 /// Copy constructor.
4306
4307 /// Creates a tuple with all the fields of this exception.
4308 /// @return A tuple with all the fields of this exception.
4309 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
4310 {
4311 return std::tie(lockUserId);
4312 }
4313
4314 void ice_printFields(std::ostream& os) const override;
4315 /// Gets the type ID of the associated Slice exception.
4316 /// @return The string `"::IceGrid::AccessDeniedException"`.
4317 static const char* ice_staticId() noexcept;
4318
4319 [[nodiscard]] const char* ice_id() const noexcept override;
4320
4321 void ice_throw() const override;
4322
4323 /// The id of the user holding the lock (if any).
4324 std::string lockUserId;
4325
4326 protected:
4327 /// @private
4328 void _writeImpl(Ice::OutputStream*) const override;
4329
4330 /// @private
4331 void _readImpl(Ice::InputStream*) override;
4332 };
4333
4334 /// The exception that is thrown when a client is not allowed to create a session.
4335 /// @remarks The Slice compiler generated this exception class from Slice exception `::IceGrid::PermissionDeniedException`.
4336 /// @headerfile IceGrid/IceGrid.h
4337 class ICEGRID_API PermissionDeniedException : public Ice::UserException
4338 {
4339 public:
4340 /// Default constructor.
4341 PermissionDeniedException() noexcept = default;
4342
4343 /// One-shot constructor to initialize all data members.
4344 /// @param reason The reason why permission was denied.
4345 PermissionDeniedException(std::string reason) noexcept :
4346 reason(std::move(reason))
4347 {
4348 }
4349
4350 /// Copy constructor.
4352
4353 /// Creates a tuple with all the fields of this exception.
4354 /// @return A tuple with all the fields of this exception.
4355 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
4356 {
4357 return std::tie(reason);
4358 }
4359
4360 void ice_printFields(std::ostream& os) const override;
4361 /// Gets the type ID of the associated Slice exception.
4362 /// @return The string `"::IceGrid::PermissionDeniedException"`.
4363 static const char* ice_staticId() noexcept;
4364
4365 [[nodiscard]] const char* ice_id() const noexcept override;
4366
4367 void ice_throw() const override;
4368
4369 /// The reason why permission was denied.
4370 std::string reason;
4371
4372 protected:
4373 /// @private
4374 void _writeImpl(Ice::OutputStream*) const override;
4375
4376 /// @private
4377 void _readImpl(Ice::InputStream*) override;
4378 };
4379
4380 /// The exception that is thrown when an observer is already registered with the registry.
4381 /// @remarks The Slice compiler generated this exception class from Slice exception `::IceGrid::ObserverAlreadyRegisteredException`.
4382 /// @see AdminSessionPrx::setObservers
4383 /// @see AdminSessionPrx::setObserversByIdentity
4384 /// @headerfile IceGrid/IceGrid.h
4385 class ICEGRID_API ObserverAlreadyRegisteredException : public Ice::UserException
4386 {
4387 public:
4388 /// Default constructor.
4390
4391 /// One-shot constructor to initialize all data members.
4392 /// @param id The identity of the observer.
4393 ObserverAlreadyRegisteredException(::Ice::Identity id) noexcept :
4394 id(std::move(id))
4395 {
4396 }
4397
4398 /// Copy constructor.
4400
4401 /// Creates a tuple with all the fields of this exception.
4402 /// @return A tuple with all the fields of this exception.
4403 [[nodiscard]] std::tuple<const ::Ice::Identity&> ice_tuple() const
4404 {
4405 return std::tie(id);
4406 }
4407
4408 void ice_printFields(std::ostream& os) const override;
4409 /// Gets the type ID of the associated Slice exception.
4410 /// @return The string `"::IceGrid::ObserverAlreadyRegisteredException"`.
4411 static const char* ice_staticId() noexcept;
4412
4413 [[nodiscard]] const char* ice_id() const noexcept override;
4414
4415 void ice_throw() const override;
4416
4417 /// The identity of the observer.
4418 ::Ice::Identity id;
4419
4420 protected:
4421 /// @private
4422 void _writeImpl(Ice::OutputStream*) const override;
4423
4424 /// @private
4425 void _readImpl(Ice::InputStream*) override;
4426 };
4427
4428 /// The exception that is thrown when a log file is not available.
4429 /// @remarks The Slice compiler generated this exception class from Slice exception `::IceGrid::FileNotAvailableException`.
4430 /// @see AdminSessionPrx::openServerStdOut
4431 /// @see AdminSessionPrx::openServerStdErr
4432 /// @see AdminSessionPrx::openNodeStdOut
4433 /// @see AdminSessionPrx::openNodeStdErr
4434 /// @see AdminSessionPrx::openRegistryStdOut
4435 /// @see AdminSessionPrx::openRegistryStdErr
4436 /// @headerfile IceGrid/IceGrid.h
4437 class ICEGRID_API FileNotAvailableException : public Ice::UserException
4438 {
4439 public:
4440 /// Default constructor.
4441 FileNotAvailableException() noexcept = default;
4442
4443 /// One-shot constructor to initialize all data members.
4444 /// @param reason The reason for the failure.
4445 FileNotAvailableException(std::string reason) noexcept :
4446 reason(std::move(reason))
4447 {
4448 }
4449
4450 /// Copy constructor.
4452
4453 /// Creates a tuple with all the fields of this exception.
4454 /// @return A tuple with all the fields of this exception.
4455 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
4456 {
4457 return std::tie(reason);
4458 }
4459
4460 void ice_printFields(std::ostream& os) const override;
4461 /// Gets the type ID of the associated Slice exception.
4462 /// @return The string `"::IceGrid::FileNotAvailableException"`.
4463 static const char* ice_staticId() noexcept;
4464
4465 [[nodiscard]] const char* ice_id() const noexcept override;
4466
4467 void ice_throw() const override;
4468
4469 /// The reason for the failure.
4470 std::string reason;
4471
4472 protected:
4473 /// @private
4474 void _writeImpl(Ice::OutputStream*) const override;
4475
4476 /// @private
4477 void _readImpl(Ice::InputStream*) override;
4478 };
4479
4480 /// Dynamic information about the state of a server.
4481 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::ServerDynamicInfo`.
4482 /// @headerfile IceGrid/IceGrid.h
4484 {
4485 /// The ID of the server.
4486 std::string id;
4487
4488 /// The state of the server.
4490
4491 /// The process ID of the server.
4492 std::int32_t pid;
4493
4494 /// Indicates whether the server is enabled.
4496
4497 /// Creates a tuple with all the fields of this struct.
4498 /// @return A tuple with all the fields of this struct.
4499 [[nodiscard]] std::tuple<const std::string&, const ::IceGrid::ServerState&, const std::int32_t&, const bool&> ice_tuple() const
4500 {
4501 return std::tie(id, state, pid, enabled);
4502 }
4503
4504 /// Outputs the name and value of each field of this instance to the stream.
4505 /// @param os The output stream.
4506 ICEGRID_API void ice_printFields(std::ostream& os) const;
4507 };
4508
4509 /// Outputs the description of a ServerDynamicInfo to a stream, including all its fields.
4510 /// @param os The output stream.
4511 /// @param value The instance to output.
4512 /// @return The output stream.
4513 ICEGRID_API std::ostream& operator<<(std::ostream& os, const ServerDynamicInfo& value);
4514
4515 /// Dynamic information about the state of an adapter.
4516 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::AdapterDynamicInfo`.
4517 /// @headerfile IceGrid/IceGrid.h
4519 {
4520 /// The id of the adapter.
4521 std::string id;
4522
4523 /// The direct proxy containing the adapter endpoints. This proxy is never null.
4524 std::optional<Ice::ObjectPrx> proxy;
4525
4526 /// Creates a tuple with all the fields of this struct.
4527 /// @return A tuple with all the fields of this struct.
4528 [[nodiscard]] std::tuple<const std::string&, const std::optional<Ice::ObjectPrx>&> ice_tuple() const
4529 {
4530 return std::tie(id, proxy);
4531 }
4532
4533 /// Outputs the name and value of each field of this instance to the stream.
4534 /// @param os The output stream.
4535 ICEGRID_API void ice_printFields(std::ostream& os) const;
4536 };
4537
4538 /// Outputs the description of an AdapterDynamicInfo to a stream, including all its fields.
4539 /// @param os The output stream.
4540 /// @param value The instance to output.
4541 /// @return The output stream.
4542 ICEGRID_API std::ostream& operator<<(std::ostream& os, const AdapterDynamicInfo& value);
4543
4544 /// Dynamic information about the state of a node.
4545 /// @remarks The Slice compiler generated this struct from Slice struct `::IceGrid::NodeDynamicInfo`.
4546 /// @headerfile IceGrid/IceGrid.h
4548 {
4549 /// Some static information about the node.
4551
4552 /// The dynamic information of the servers deployed on this node.
4554
4555 /// The dynamic information of the adapters deployed on this node.
4557
4558 /// Creates a tuple with all the fields of this struct.
4559 /// @return A tuple with all the fields of this struct.
4560 [[nodiscard]] std::tuple<const ::IceGrid::NodeInfo&, const ::IceGrid::ServerDynamicInfoSeq&, const ::IceGrid::AdapterDynamicInfoSeq&> ice_tuple() const
4561 {
4562 return std::tie(info, servers, adapters);
4563 }
4564
4565 /// Outputs the name and value of each field of this instance to the stream.
4566 /// @param os The output stream.
4567 ICEGRID_API void ice_printFields(std::ostream& os) const;
4568 };
4569
4570 /// Outputs the description of a NodeDynamicInfo to a stream, including all its fields.
4571 /// @param os The output stream.
4572 /// @param value The instance to output.
4573 /// @return The output stream.
4574 ICEGRID_API std::ostream& operator<<(std::ostream& os, const NodeDynamicInfo& value);
4575
4576 /// @cond INTERNAL
4577 using Ice::Tuple::operator<;
4578 using Ice::Tuple::operator<=;
4579 using Ice::Tuple::operator>;
4580 using Ice::Tuple::operator>=;
4581 using Ice::Tuple::operator==;
4582 using Ice::Tuple::operator!=;
4583 /// @endcond
4584}
4585
4586namespace IceGrid
4587{
4588 /// Provides administrative access to an IceGrid deployment.
4589 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::Admin`.
4590 /// @headerfile IceGrid/IceGrid.h
4591 class ICEGRID_API Admin : public virtual Ice::Object
4592 {
4593 public:
4594 /// The associated proxy type.
4595 using ProxyType = AdminPrx;
4596
4597 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
4598 /// @param request The incoming request.
4599 /// @param sendResponse The callback to send the response.
4600 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
4601
4602 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
4603
4604 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
4605
4606 /// Adds an application to IceGrid.
4607 /// @param descriptor The application descriptor.
4608 /// @param current The Current object of the incoming request.
4609 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4610 /// session is holding the lock.
4611 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4612 virtual void addApplication(ApplicationDescriptor descriptor, const Ice::Current& current) = 0;
4613
4614 /// @private
4615 void _iceD_addApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4616
4617 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor.
4618 /// @param descriptor The new application descriptor.
4619 /// @param current The Current object of the incoming request.
4620 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4621 /// session is holding the lock.
4622 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4623 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4624 virtual void syncApplication(ApplicationDescriptor descriptor, const Ice::Current& current) = 0;
4625
4626 /// @private
4627 void _iceD_syncApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4628
4629 /// Updates a deployed application.
4630 /// @param descriptor The update descriptor.
4631 /// @param current The Current object of the incoming request.
4632 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4633 /// session is holding the lock.
4634 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4635 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4636 virtual void updateApplication(ApplicationUpdateDescriptor descriptor, const Ice::Current& current) = 0;
4637
4638 /// @private
4639 void _iceD_updateApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4640
4641 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor
4642 /// only if no server restarts are necessary for the update of the application. If some servers need to be
4643 /// restarted, the synchronization is rejected with a DeploymentException.
4644 /// @param descriptor The application descriptor.
4645 /// @param current The Current object of the incoming request.
4646 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4647 /// session is holding the lock.
4648 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4649 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4650 virtual void syncApplicationWithoutRestart(ApplicationDescriptor descriptor, const Ice::Current& current) = 0;
4651
4652 /// @private
4653 void _iceD_syncApplicationWithoutRestart(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4654
4655 /// Updates a deployed application. This operation succeeds only when no server restarts are necessary for the
4656 /// update of the application. If some servers need to be restarted, the synchronization is rejected with a
4657 /// DeploymentException.
4658 /// @param descriptor The update descriptor.
4659 /// @param current The Current object of the incoming request.
4660 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4661 /// session is holding the lock.
4662 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4663 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4664 virtual void updateApplicationWithoutRestart(ApplicationUpdateDescriptor descriptor, const Ice::Current& current) = 0;
4665
4666 /// @private
4667 void _iceD_updateApplicationWithoutRestart(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4668
4669 /// Removes an application from IceGrid.
4670 /// @param name The application name.
4671 /// @param current The Current object of the incoming request.
4672 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4673 /// session is holding the lock.
4674 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4675 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4676 virtual void removeApplication(std::string name, const Ice::Current& current) = 0;
4677
4678 /// @private
4679 void _iceD_removeApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4680
4681 /// Instantiates a server template.
4682 /// @param application The application name.
4683 /// @param node The name of the node where the server will be deployed.
4684 /// @param desc The descriptor of the server instance to deploy.
4685 /// @param current The Current object of the incoming request.
4686 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
4687 /// session is holding the lock.
4688 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4689 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4690 virtual void instantiateServer(std::string application, std::string node, ServerInstanceDescriptor desc, const Ice::Current& current) = 0;
4691
4692 /// @private
4693 void _iceD_instantiateServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4694
4695 /// Gets information about an application.
4696 /// @param name The application name.
4697 /// @param current The Current object of the incoming request.
4698 /// @return The application information.
4699 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
4700 [[nodiscard]] virtual ApplicationInfo getApplicationInfo(std::string name, const Ice::Current& current) const = 0;
4701
4702 /// @private
4703 void _iceD_getApplicationInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4704
4705 /// Gets the default application descriptor.
4706 /// @param current The Current object of the incoming request.
4707 /// @return The default application descriptor.
4708 /// @throws IceGrid::DeploymentException Thrown when the default application descriptor is invalid or unreachable.
4709 [[nodiscard]] virtual ApplicationDescriptor getDefaultApplicationDescriptor(const Ice::Current& current) const = 0;
4710
4711 /// @private
4712 void _iceD_getDefaultApplicationDescriptor(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4713
4714 /// Gets all the IceGrid applications currently registered.
4715 /// @param current The Current object of the incoming request.
4716 /// @return The application names.
4717 [[nodiscard]] virtual ::Ice::StringSeq getAllApplicationNames(const Ice::Current& current) const = 0;
4718
4719 /// @private
4720 void _iceD_getAllApplicationNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4721
4722 /// Gets information about a server.
4723 /// @param id The server ID.
4724 /// @param current The Current object of the incoming request.
4725 /// @return The server information.
4726 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4727 [[nodiscard]] virtual ServerInfo getServerInfo(std::string id, const Ice::Current& current) const = 0;
4728
4729 /// @private
4730 void _iceD_getServerInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4731
4732 /// Gets the state of a server.
4733 /// @param id The server ID.
4734 /// @param current The Current object of the incoming request.
4735 /// @return The server state.
4736 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4737 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4738 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4739 [[nodiscard]] virtual ServerState getServerState(std::string id, const Ice::Current& current) const = 0;
4740
4741 /// @private
4742 void _iceD_getServerState(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4743
4744 /// Gets the system process ID of a server. The process ID is operating system dependent.
4745 /// @param id The server ID.
4746 /// @param current The Current object of the incoming request.
4747 /// @return The process ID.
4748 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4749 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4750 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4751 [[nodiscard]] virtual std::int32_t getServerPid(std::string id, const Ice::Current& current) const = 0;
4752
4753 /// @private
4754 void _iceD_getServerPid(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4755
4756 /// Gets the category for server admin objects. You can manufacture a server admin proxy from the admin proxy by
4757 /// changing its identity: use the server ID as name and the returned category as category.
4758 /// @param current The Current object of the incoming request.
4759 /// @return The category for server admin objects.
4760 [[nodiscard]] virtual std::string getServerAdminCategory(const Ice::Current& current) const = 0;
4761
4762 /// @private
4763 void _iceD_getServerAdminCategory(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4764
4765 /// Gets a proxy to the admin object of a server.
4766 /// @param id The server ID.
4767 /// @param current The Current object of the incoming request.
4768 /// @return A proxy to the admin object of the server. This proxy is never null.
4769 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4770 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4771 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4772 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> getServerAdmin(std::string id, const Ice::Current& current) const = 0;
4773
4774 /// @private
4775 void _iceD_getServerAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4776
4777 /// Enables or disables a server. A disabled server can't be started on demand or administratively. The enable
4778 /// state of the server is not persistent: if the node is shut down and restarted, the server will be enabled by
4779 /// default.
4780 /// @param id The server ID.
4781 /// @param enabled `true` to enable the server, `false` to disable it.
4782 /// @param current The Current object of the incoming request.
4783 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4784 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4785 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4786 virtual void enableServer(std::string id, bool enabled, const Ice::Current& current) = 0;
4787
4788 /// @private
4789 void _iceD_enableServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4790
4791 /// Checks if the server is enabled or disabled.
4792 /// @param id The server ID.
4793 /// @param current The Current object of the incoming request.
4794 /// @return `true` if the server is enabled, `false` otherwise.
4795 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4796 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4797 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4798 [[nodiscard]] virtual bool isServerEnabled(std::string id, const Ice::Current& current) const = 0;
4799
4800 /// @private
4801 void _iceD_isServerEnabled(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4802
4803 /// Starts a server and waits for its activation.
4804 /// @param id The server id.
4805 /// @param response The response callback.
4806 /// @param exception The exception callback.
4807 /// @param current The Current object of the incoming request.
4808 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4809 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4810 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4811 /// @throws IceGrid::ServerStartException Thrown when the server startup failed.
4812 virtual void startServerAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
4813
4814 /// @private
4815 void _iceD_startServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4816
4817 /// Stops a server.
4818 /// @param id The server ID.
4819 /// @param response The response callback.
4820 /// @param exception The exception callback.
4821 /// @param current The Current object of the incoming request.
4822 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4823 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4824 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4825 /// @throws IceGrid::ServerStopException Thrown when the server stop failed.
4826 virtual void stopServerAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
4827
4828 /// @private
4829 void _iceD_stopServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4830
4831 /// Sends a signal to a server.
4832 /// @param id The server ID.
4833 /// @param signal The signal, for example SIGTERM or 15.
4834 /// @param current The Current object of the incoming request.
4835 /// @throws IceGrid::BadSignalException Thrown when the signal is not recognized by the target server.
4836 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
4837 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4838 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
4839 virtual void sendSignal(std::string id, std::string signal, const Ice::Current& current) = 0;
4840
4841 /// @private
4842 void _iceD_sendSignal(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4843
4844 /// Gets the IDs of all the servers registered with IceGrid.
4845 /// @param current The Current object of the incoming request.
4846 /// @return The server IDs.
4847 [[nodiscard]] virtual ::Ice::StringSeq getAllServerIds(const Ice::Current& current) const = 0;
4848
4849 /// @private
4850 void _iceD_getAllServerIds(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4851
4852 /// Gets adapter information for the replica group or adapter with the given ID.
4853 /// @param id The adapter or replica group ID.
4854 /// @param current The Current object of the incoming request.
4855 /// @return A sequence of AdapterInfo. If @p id refers to an adapter, this sequence contains a single element.
4856 /// If @p id refers to a replica group, this sequence contains adapter information for each member of the
4857 /// replica group.
4858 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter or replica group doesn't exist.
4859 [[nodiscard]] virtual AdapterInfoSeq getAdapterInfo(std::string id, const Ice::Current& current) const = 0;
4860
4861 /// @private
4862 void _iceD_getAdapterInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4863
4864 /// Removes the adapter with the given ID.
4865 /// @param id The adapter ID.
4866 /// @param current The Current object of the incoming request.
4867 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter doesn't exist.
4868 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4869 virtual void removeAdapter(std::string id, const Ice::Current& current) = 0;
4870
4871 /// @private
4872 void _iceD_removeAdapter(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4873
4874 /// Gets the IDs of all adapters registered with IceGrid.
4875 /// @param current The Current object of the incoming request.
4876 /// @return The adapter IDs.
4877 [[nodiscard]] virtual ::Ice::StringSeq getAllAdapterIds(const Ice::Current& current) const = 0;
4878
4879 /// @private
4880 void _iceD_getAllAdapterIds(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4881
4882 /// Adds an object to the object registry. IceGrid gets the object type by calling `ice_id` on @p obj. The
4883 /// object must be reachable.
4884 /// @param obj A proxy to the object. This proxy is never null.
4885 /// @param current The Current object of the incoming request.
4886 /// @throws IceGrid::DeploymentException Thrown when the object can't be added.
4887 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
4888 virtual void addObject(std::optional<Ice::ObjectPrx> obj, const Ice::Current& current) = 0;
4889
4890 /// @private
4891 void _iceD_addObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4892
4893 /// Updates an object in the object registry. Only objects added with this interface can be updated with this
4894 /// operation. Objects added with deployment descriptors should be updated with the deployment mechanism.
4895 /// @param obj A proxy to the object. This proxy is never null.
4896 /// @param current The Current object of the incoming request.
4897 /// @throws IceGrid::DeploymentException Thrown when the object can't be updated.
4898 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
4899 virtual void updateObject(std::optional<Ice::ObjectPrx> obj, const Ice::Current& current) = 0;
4900
4901 /// @private
4902 void _iceD_updateObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4903
4904 /// Adds an object to the object registry and explicitly specifies its type.
4905 /// @param obj The object to be added to the registry. The proxy is never null.
4906 /// @param type The type name.
4907 /// @param current The Current object of the incoming request.
4908 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
4909 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
4910 virtual void addObjectWithType(std::optional<Ice::ObjectPrx> obj, std::string type, const Ice::Current& current) = 0;
4911
4912 /// @private
4913 void _iceD_addObjectWithType(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4914
4915 /// Removes an object from the object registry. Only objects added with this interface can be removed with this
4916 /// operation. Objects added with deployment descriptors should be removed with the deployment mechanism.
4917 /// @param id The identity of the object to remove.
4918 /// @param current The Current object of the incoming request.
4919 /// @throws IceGrid::DeploymentException Thrown when the object can't be removed.
4920 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
4921 virtual void removeObject(::Ice::Identity id, const Ice::Current& current) = 0;
4922
4923 /// @private
4924 void _iceD_removeObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
4925
4926 /// Gets the object info for the object.
4927 /// @param id The identity of the object.
4928 /// @param current The Current object of the incoming request.
4929 /// @return The object info.
4930 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
4931 [[nodiscard]] virtual ObjectInfo getObjectInfo(::Ice::Identity id, const Ice::Current& current) const = 0;
4932
4933 /// @private
4934 void _iceD_getObjectInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4935
4936 /// Gets the object info of all the registered objects with a given type.
4937 /// @param type The type name.
4938 /// @param current The Current object of the incoming request.
4939 /// @return The object infos.
4940 [[nodiscard]] virtual ObjectInfoSeq getObjectInfosByType(std::string type, const Ice::Current& current) const = 0;
4941
4942 /// @private
4943 void _iceD_getObjectInfosByType(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4944
4945 /// Gets the object info of all the registered objects whose stringified identities match the given expression.
4946 /// @param expr The expression to match against the stringified identities of registered objects. The expression
4947 /// may contain a trailing wildcard (`*`) character.
4948 /// @param current The Current object of the incoming request.
4949 /// @return All the object infos with a stringified identity matching the given expression.
4950 [[nodiscard]] virtual ObjectInfoSeq getAllObjectInfos(std::string expr, const Ice::Current& current) const = 0;
4951
4952 /// @private
4953 void _iceD_getAllObjectInfos(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4954
4955 /// Pings an IceGrid node to see if it is active.
4956 /// @param name The node name.
4957 /// @param current The Current object of the incoming request.
4958 /// @return `true` if the node ping succeeded, `false` otherwise.
4959 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4960 [[nodiscard]] virtual bool pingNode(std::string name, const Ice::Current& current) const = 0;
4961
4962 /// @private
4963 void _iceD_pingNode(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4964
4965 /// Gets the load averages of a node.
4966 /// @param name The node name.
4967 /// @param current The Current object of the incoming request.
4968 /// @return The node load information.
4969 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4970 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4971 [[nodiscard]] virtual LoadInfo getNodeLoad(std::string name, const Ice::Current& current) const = 0;
4972
4973 /// @private
4974 void _iceD_getNodeLoad(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4975
4976 /// Gets the node information of a node.
4977 /// @param name The node name.
4978 /// @param current The Current object of the incoming request.
4979 /// @return The node information.
4980 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4981 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4982 [[nodiscard]] virtual NodeInfo getNodeInfo(std::string name, const Ice::Current& current) const = 0;
4983
4984 /// @private
4985 void _iceD_getNodeInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4986
4987 /// Gets a proxy to the admin object of an IceGrid node.
4988 /// @param name The IceGrid node name.
4989 /// @param current The Current object of the incoming request.
4990 /// @return A proxy to the IceGrid node's admin object. This proxy is never null.
4991 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
4992 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
4993 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> getNodeAdmin(std::string name, const Ice::Current& current) const = 0;
4994
4995 /// @private
4996 void _iceD_getNodeAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
4997
4998 /// Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
4999 /// Note that this operation returns 1 on operating systems where this can't be automatically determined and
5000 /// where the `IceGrid.Node.ProcessorSocketCount` property for the node is not set.
5001 /// @param name The node name.
5002 /// @param current The Current object of the incoming request.
5003 /// @return The number of processor sockets or 1 if the number of sockets can't be determined.
5004 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5005 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5006 [[nodiscard]] virtual std::int32_t getNodeProcessorSocketCount(std::string name, const Ice::Current& current) const = 0;
5007
5008 /// @private
5009 void _iceD_getNodeProcessorSocketCount(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5010
5011 /// Shuts down an IceGrid node.
5012 /// @param name The node name.
5013 /// @param current The Current object of the incoming request.
5014 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5015 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5016 virtual void shutdownNode(std::string name, const Ice::Current& current) = 0;
5017
5018 /// @private
5019 void _iceD_shutdownNode(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5020
5021 /// Get the hostname of a node.
5022 /// @param name The node name.
5023 /// @param current The Current object of the incoming request.
5024 /// @return The node hostname.
5025 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5026 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5027 [[nodiscard]] virtual std::string getNodeHostname(std::string name, const Ice::Current& current) const = 0;
5028
5029 /// @private
5030 void _iceD_getNodeHostname(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5031
5032 /// Gets the names of all IceGrid nodes currently registered.
5033 /// @param current The Current object of the incoming request.
5034 /// @return The node names.
5035 [[nodiscard]] virtual ::Ice::StringSeq getAllNodeNames(const Ice::Current& current) const = 0;
5036
5037 /// @private
5038 void _iceD_getAllNodeNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5039
5040 /// Pings an IceGrid registry to see if it is active.
5041 /// @param name The registry name.
5042 /// @param current The Current object of the incoming request.
5043 /// @return `true` if the registry ping succeeded, `false` otherwise.
5044 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5045 [[nodiscard]] virtual bool pingRegistry(std::string name, const Ice::Current& current) const = 0;
5046
5047 /// @private
5048 void _iceD_pingRegistry(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5049
5050 /// Gets the registry information of an IceGrid registry.
5051 /// @param name The registry name.
5052 /// @param current The Current object of the incoming request.
5053 /// @return The registry information.
5054 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5055 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
5056 [[nodiscard]] virtual RegistryInfo getRegistryInfo(std::string name, const Ice::Current& current) const = 0;
5057
5058 /// @private
5059 void _iceD_getRegistryInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5060
5061 /// Gets a proxy to the admin object of an IceGrid registry.
5062 /// @param name The registry name.
5063 /// @param current The Current object of the incoming request.
5064 /// @return A proxy to the admin object of an IceGrid registry. This proxy is never null.
5065 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5066 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> getRegistryAdmin(std::string name, const Ice::Current& current) const = 0;
5067
5068 /// @private
5069 void _iceD_getRegistryAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5070
5071 /// Shuts down an IceGrid registry.
5072 /// @param name The registry name.
5073 /// @param current The Current object of the incoming request.
5074 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5075 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
5076 virtual void shutdownRegistry(std::string name, const Ice::Current& current) = 0;
5077
5078 /// @private
5079 void _iceD_shutdownRegistry(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5080
5081 /// Gets the names of all the IceGrid registries currently registered.
5082 /// @param current The Current object of the incoming request.
5083 /// @return The registry names.
5084 [[nodiscard]] virtual ::Ice::StringSeq getAllRegistryNames(const Ice::Current& current) const = 0;
5085
5086 /// @private
5087 void _iceD_getAllRegistryNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5088
5089 /// Shuts down the IceGrid registry.
5090 /// @param current The Current object of the incoming request.
5091 virtual void shutdown(const Ice::Current& current) = 0;
5092
5093 /// @private
5094 void _iceD_shutdown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5095
5096 /// Gets the type ID of the associated Slice interface.
5097 /// @return The string `"::IceGrid::Admin"`.
5098 static const char* ice_staticId() noexcept;
5099 };
5100
5101 /// A shared pointer to an Admin.
5102 using AdminPtr = std::shared_ptr<Admin>;
5103
5104 /// Iterates over an IceGrid log file.
5105 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::FileIterator`.
5106 /// @headerfile IceGrid/IceGrid.h
5107 class ICEGRID_API FileIterator : public virtual Ice::Object
5108 {
5109 public:
5110 /// The associated proxy type.
5111 using ProxyType = FileIteratorPrx;
5112
5113 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5114 /// @param request The incoming request.
5115 /// @param sendResponse The callback to send the response.
5116 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5117
5118 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5119
5120 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5121
5122 /// Read lines from the log file.
5123 /// @param size Specifies the maximum number of bytes to be received. The server will ensure that the returned
5124 /// message doesn't exceed the given size.
5125 /// @param[out] lines The lines read from the file. If there was nothing to read from the file since the last call to
5126 /// read, an empty sequence is returned. The last line of the sequence is always incomplete (and therefore no
5127 /// newline character should be added when writing the last line to the output device).
5128 /// @param current The Current object of the incoming request.
5129 /// @return `true` if EOF is encountered.
5130 /// @throws IceGrid::FileNotAvailableException Thrown when the implementation failed to read from the file.
5131 virtual bool read(std::int32_t size, ::Ice::StringSeq& lines, const Ice::Current& current) = 0;
5132
5133 /// @private
5134 void _iceD_read(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5135
5136 /// Destroys the iterator.
5137 /// @param current The Current object of the incoming request.
5138 virtual void destroy(const Ice::Current& current) = 0;
5139
5140 /// @private
5141 void _iceD_destroy(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5142
5143 /// Gets the type ID of the associated Slice interface.
5144 /// @return The string `"::IceGrid::FileIterator"`.
5145 static const char* ice_staticId() noexcept;
5146 };
5147
5148 /// A shared pointer to a FileIterator.
5149 using FileIteratorPtr = std::shared_ptr<FileIterator>;
5150
5151 /// Monitors changes to the state of the registries.
5152 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::RegistryObserver`.
5153 /// @headerfile IceGrid/IceGrid.h
5154 class ICEGRID_API RegistryObserver : public virtual Ice::Object
5155 {
5156 public:
5157 /// The associated proxy type.
5159
5160 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5161 /// @param request The incoming request.
5162 /// @param sendResponse The callback to send the response.
5163 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5164
5165 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5166
5167 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5168
5169 /// Provides the initial state of the registries to the observer.
5170 /// @param registries The current state of the registries.
5171 /// @param current The Current object of the incoming request.
5172 virtual void registryInit(RegistryInfoSeq registries, const Ice::Current& current) = 0;
5173
5174 /// @private
5175 void _iceD_registryInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5176
5177 /// Notifies the observer that a registry replica came up.
5178 /// @param registryReplica The registry state.
5179 /// @param current The Current object of the incoming request.
5180 virtual void registryUp(RegistryInfo registryReplica, const Ice::Current& current) = 0;
5181
5182 /// @private
5183 void _iceD_registryUp(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5184
5185 /// Notifies the observer that a registry replica went down.
5186 /// @param name The registry name.
5187 /// @param current The Current object of the incoming request.
5188 virtual void registryDown(std::string name, const Ice::Current& current) = 0;
5189
5190 /// @private
5191 void _iceD_registryDown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5192
5193 /// Gets the type ID of the associated Slice interface.
5194 /// @return The string `"::IceGrid::RegistryObserver"`.
5195 static const char* ice_staticId() noexcept;
5196 };
5197
5198 /// A shared pointer to a RegistryObserver.
5199 using RegistryObserverPtr = std::shared_ptr<RegistryObserver>;
5200
5201 /// Monitors changes to the state of the nodes.
5202 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::NodeObserver`.
5203 /// @headerfile IceGrid/IceGrid.h
5204 class ICEGRID_API NodeObserver : public virtual Ice::Object
5205 {
5206 public:
5207 /// The associated proxy type.
5209
5210 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5211 /// @param request The incoming request.
5212 /// @param sendResponse The callback to send the response.
5213 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5214
5215 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5216
5217 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5218
5219 /// Provides the initial state of the nodes to the observer.
5220 /// @param nodes The current state of the nodes.
5221 /// @param current The Current object of the incoming request.
5222 virtual void nodeInit(NodeDynamicInfoSeq nodes, const Ice::Current& current) = 0;
5223
5224 /// @private
5225 void _iceD_nodeInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5226
5227 /// Notifies the observer that a node came up.
5228 /// @param node The node state.
5229 /// @param current The Current object of the incoming request.
5230 virtual void nodeUp(NodeDynamicInfo node, const Ice::Current& current) = 0;
5231
5232 /// @private
5233 void _iceD_nodeUp(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5234
5235 /// Notifies the observer that a node went down.
5236 /// @param name The node name.
5237 /// @param current The Current object of the incoming request.
5238 virtual void nodeDown(std::string name, const Ice::Current& current) = 0;
5239
5240 /// @private
5241 void _iceD_nodeDown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5242
5243 /// Notifies the observer that the state of a server changed.
5244 /// @param node The node hosting the server.
5245 /// @param updatedInfo The new server state.
5246 /// @param current The Current object of the incoming request.
5247 virtual void updateServer(std::string node, ServerDynamicInfo updatedInfo, const Ice::Current& current) = 0;
5248
5249 /// @private
5250 void _iceD_updateServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5251
5252 /// Notifies the observer that the state of an object adapter changed.
5253 /// @param node The node hosting the adapter.
5254 /// @param updatedInfo The new adapter state.
5255 /// @param current The Current object of the incoming request.
5256 virtual void updateAdapter(std::string node, AdapterDynamicInfo updatedInfo, const Ice::Current& current) = 0;
5257
5258 /// @private
5259 void _iceD_updateAdapter(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5260
5261 /// Gets the type ID of the associated Slice interface.
5262 /// @return The string `"::IceGrid::NodeObserver"`.
5263 static const char* ice_staticId() noexcept;
5264 };
5265
5266 /// A shared pointer to a NodeObserver.
5267 using NodeObserverPtr = std::shared_ptr<NodeObserver>;
5268
5269 /// Monitors applications.
5270 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::ApplicationObserver`.
5271 /// @headerfile IceGrid/IceGrid.h
5272 class ICEGRID_API ApplicationObserver : public virtual Ice::Object
5273 {
5274 public:
5275 /// The associated proxy type.
5277
5278 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5279 /// @param request The incoming request.
5280 /// @param sendResponse The callback to send the response.
5281 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5282
5283 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5284
5285 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5286
5287 /// Provides the initial application infos to the observer.
5288 /// @param serial The current serial number of the registry database. This serial number allows observers to
5289 /// make sure that their internal state is synchronized with the registry.
5290 /// @param applications The applications currently registered with the registry.
5291 /// @param current The Current object of the incoming request.
5292 virtual void applicationInit(std::int32_t serial, ApplicationInfoSeq applications, const Ice::Current& current) = 0;
5293
5294 /// @private
5295 void _iceD_applicationInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5296
5297 /// Notifies the observer that an application was added.
5298 /// @param serial The new serial number of the registry database.
5299 /// @param desc The descriptor of the new application.
5300 /// @param current The Current object of the incoming request.
5301 virtual void applicationAdded(std::int32_t serial, ApplicationInfo desc, const Ice::Current& current) = 0;
5302
5303 /// @private
5304 void _iceD_applicationAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5305
5306 /// Notifies the observer that an application was removed.
5307 /// @param serial The new serial number of the registry database.
5308 /// @param name The name of the application that was removed.
5309 /// @param current The Current object of the incoming request.
5310 virtual void applicationRemoved(std::int32_t serial, std::string name, const Ice::Current& current) = 0;
5311
5312 /// @private
5313 void _iceD_applicationRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5314
5315 /// Notifies the observer that an application was updated.
5316 /// @param serial The new serial number of the registry database.
5317 /// @param desc The descriptor of the update.
5318 /// @param current The Current object of the incoming request.
5319 virtual void applicationUpdated(std::int32_t serial, ApplicationUpdateInfo desc, const Ice::Current& current) = 0;
5320
5321 /// @private
5322 void _iceD_applicationUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5323
5324 /// Gets the type ID of the associated Slice interface.
5325 /// @return The string `"::IceGrid::ApplicationObserver"`.
5326 static const char* ice_staticId() noexcept;
5327 };
5328
5329 /// A shared pointer to an ApplicationObserver.
5331
5332 /// Monitors dynamically-registered object adapters.
5333 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::AdapterObserver`.
5334 /// @headerfile IceGrid/IceGrid.h
5335 class ICEGRID_API AdapterObserver : public virtual Ice::Object
5336 {
5337 public:
5338 /// The associated proxy type.
5340
5341 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5342 /// @param request The incoming request.
5343 /// @param sendResponse The callback to send the response.
5344 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5345
5346 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5347
5348 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5349
5350 /// Provides the initial list of dynamically registered adapters to the observer.
5351 /// @param adpts The adapters that were dynamically registered with the registry.
5352 /// @param current The Current object of the incoming request.
5353 virtual void adapterInit(AdapterInfoSeq adpts, const Ice::Current& current) = 0;
5354
5355 /// @private
5356 void _iceD_adapterInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5357
5358 /// Notifies the observer that a dynamically-registered adapter was added.
5359 /// @param info The details of the new adapter.
5360 /// @param current The Current object of the incoming request.
5361 virtual void adapterAdded(AdapterInfo info, const Ice::Current& current) = 0;
5362
5363 /// @private
5364 void _iceD_adapterAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5365
5366 /// Notifies the observer that a dynamically-registered adapter was updated.
5367 /// @param info The details of the updated adapter.
5368 /// @param current The Current object of the incoming request.
5369 virtual void adapterUpdated(AdapterInfo info, const Ice::Current& current) = 0;
5370
5371 /// @private
5372 void _iceD_adapterUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5373
5374 /// Notifies the observer that a dynamically-registered adapter was removed.
5375 /// @param id The ID of the removed adapter.
5376 /// @param current The Current object of the incoming request.
5377 virtual void adapterRemoved(std::string id, const Ice::Current& current) = 0;
5378
5379 /// @private
5380 void _iceD_adapterRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5381
5382 /// Gets the type ID of the associated Slice interface.
5383 /// @return The string `"::IceGrid::AdapterObserver"`.
5384 static const char* ice_staticId() noexcept;
5385 };
5386
5387 /// A shared pointer to an AdapterObserver.
5388 using AdapterObserverPtr = std::shared_ptr<AdapterObserver>;
5389
5390 /// Monitors well-known objects that are added, updated or removed using AdminPrx.
5391 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::ObjectObserver`.
5392 /// @headerfile IceGrid/IceGrid.h
5393 class ICEGRID_API ObjectObserver : public virtual Ice::Object
5394 {
5395 public:
5396 /// The associated proxy type.
5398
5399 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5400 /// @param request The incoming request.
5401 /// @param sendResponse The callback to send the response.
5402 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5403
5404 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5405
5406 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5407
5408 /// Provides the initial list of well-known objects to the observer.
5409 /// @param objects The well-known objects registered using ::IceGrid::AdminPrx.
5410 /// @param current The Current object of the incoming request.
5411 virtual void objectInit(ObjectInfoSeq objects, const Ice::Current& current) = 0;
5412
5413 /// @private
5414 void _iceD_objectInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5415
5416 /// Notifies the observer that a well-known object was added.
5417 /// @param info The details of the new object.
5418 /// @param current The Current object of the incoming request.
5419 virtual void objectAdded(ObjectInfo info, const Ice::Current& current) = 0;
5420
5421 /// @private
5422 void _iceD_objectAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5423
5424 /// Notifies the observer that a well-known object was updated.
5425 /// @param info The details of the updated object.
5426 /// @param current The Current object of the incoming request.
5427 virtual void objectUpdated(ObjectInfo info, const Ice::Current& current) = 0;
5428
5429 /// @private
5430 void _iceD_objectUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5431
5432 /// Notifies the observer that a well-known object was removed.
5433 /// @param id The identity of the removed object.
5434 /// @param current The Current object of the incoming request.
5435 virtual void objectRemoved(::Ice::Identity id, const Ice::Current& current) = 0;
5436
5437 /// @private
5438 void _iceD_objectRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5439
5440 /// Gets the type ID of the associated Slice interface.
5441 /// @return The string `"::IceGrid::ObjectObserver"`.
5442 static const char* ice_staticId() noexcept;
5443 };
5444
5445 /// A shared pointer to an ObjectObserver.
5446 using ObjectObserverPtr = std::shared_ptr<ObjectObserver>;
5447
5448 /// Represents an administrative session between an admin tool and an IceGrid registry.
5449 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::AdminSession`.
5450 /// @see RegistryPrx
5451 /// @headerfile IceGrid/IceGrid.h
5452 class ICEGRID_API AdminSession : public virtual ::Glacier2::Session
5453 {
5454 public:
5455 /// The associated proxy type.
5456 using ProxyType = AdminSessionPrx;
5457
5458 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5459 /// @param request The incoming request.
5460 /// @param sendResponse The callback to send the response.
5461 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5462
5463 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5464
5465 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5466
5467 /// Keeps the session alive.
5468 /// @param current The Current object of the incoming request.
5469 virtual void keepAlive(const Ice::Current& current) = 0;
5470
5471 /// @private
5472 void _iceD_keepAlive(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5473
5474 /// Gets a proxy to the IceGrid admin object. The admin object returned by this operation can only be accessed
5475 /// by the session.
5476 /// @param current The Current object of the incoming request.
5477 /// @return A proxy to the IceGrid admin object. This proxy is never null.
5478 [[nodiscard]] virtual std::optional<AdminPrx> getAdmin(const Ice::Current& current) const = 0;
5479
5480 /// @private
5481 void _iceD_getAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5482
5483 /// Gets a "template" proxy for admin callback objects. An Admin client uses this proxy to set the category of
5484 /// its callback objects, and the published endpoints of the object adapter hosting the admin callback objects.
5485 /// @param current The Current object of the incoming request.
5486 /// @return A template proxy. The returned proxy is null when the Admin session was established using Glacier2.
5487 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> getAdminCallbackTemplate(const Ice::Current& current) const = 0;
5488
5489 /// @private
5490 void _iceD_getAdminCallbackTemplate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5491
5492 /// Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
5493 /// @param registryObs The registry observer.
5494 /// @param nodeObs The node observer.
5495 /// @param appObs The application observer.
5496 /// @param adptObs The adapter observer.
5497 /// @param objObs The object observer.
5498 /// @param current The Current object of the incoming request.
5499 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
5500 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;
5501
5502 /// @private
5503 void _iceD_setObservers(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5504
5505 /// Sets the observer identities that receive notifications when the state of the registry or nodes changes.
5506 /// This operation should be used by clients that are using a bidirectional connection to communicate with the
5507 /// session.
5508 /// @param registryObs The registry observer identity.
5509 /// @param nodeObs The node observer identity.
5510 /// @param appObs The application observer identity.
5511 /// @param adptObs The adapter observer identity.
5512 /// @param objObs The object observer identity.
5513 /// @param current The Current object of the incoming request.
5514 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
5515 virtual void setObserversByIdentity(::Ice::Identity registryObs, ::Ice::Identity nodeObs, ::Ice::Identity appObs, ::Ice::Identity adptObs, ::Ice::Identity objObs, const Ice::Current& current) = 0;
5516
5517 /// @private
5518 void _iceD_setObserversByIdentity(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5519
5520 /// Acquires an exclusive lock to start updating the registry applications.
5521 /// @param current The Current object of the incoming request.
5522 /// @return The current serial.
5523 /// @throws IceGrid::AccessDeniedException Thrown when the exclusive lock can't be acquired. This might happen if the
5524 /// lock is currently acquired by another session.
5525 virtual std::int32_t startUpdate(const Ice::Current& current) = 0;
5526
5527 /// @private
5528 void _iceD_startUpdate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5529
5530 /// Finishes updating the registry and releases the exclusive lock.
5531 /// @param current The Current object of the incoming request.
5532 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock.
5533 virtual void finishUpdate(const Ice::Current& current) = 0;
5534
5535 /// @private
5536 void _iceD_finishUpdate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5537
5538 /// Gets the name of the registry replica hosting this session.
5539 /// @param current The Current object of the incoming request.
5540 /// @return The replica name of the registry.
5541 [[nodiscard]] virtual std::string getReplicaName(const Ice::Current& current) const = 0;
5542
5543 /// @private
5544 void _iceD_getReplicaName(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5545
5546 /// Opens a server log file for reading.
5547 /// @param id The server ID.
5548 /// @param path The path of the log file. A log file can be opened only if it's declared in the server or
5549 /// service deployment descriptor.
5550 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5551 /// Otherwise, the file is read from the last @p count lines.
5552 /// @param current The Current object of the incoming request.
5553 /// @return An iterator to read the file. This proxy is never null.
5554 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
5555 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5556 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5557 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5558 virtual std::optional<FileIteratorPrx> openServerLog(std::string id, std::string path, std::int32_t count, const Ice::Current& current) = 0;
5559
5560 /// @private
5561 void _iceD_openServerLog(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5562
5563 /// Opens a server stderr file for reading.
5564 /// @param id The server ID.
5565 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5566 /// Otherwise, the file is read from the last @p count lines.
5567 /// @param current The Current object of the incoming request.
5568 /// @return An iterator to read the file. This proxy is never null.
5569 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
5570 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5571 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5572 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5573 virtual std::optional<FileIteratorPrx> openServerStdErr(std::string id, std::int32_t count, const Ice::Current& current) = 0;
5574
5575 /// @private
5576 void _iceD_openServerStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5577
5578 /// Opens a server stdout file for reading.
5579 /// @param id The server id.
5580 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5581 /// Otherwise, the file is read from the last @p count lines.
5582 /// @param current The Current object of the incoming request.
5583 /// @return An iterator to read the file. This proxy is never null.
5584 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
5585 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5586 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5587 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5588 virtual std::optional<FileIteratorPrx> openServerStdOut(std::string id, std::int32_t count, const Ice::Current& current) = 0;
5589
5590 /// @private
5591 void _iceD_openServerStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5592
5593 /// Opens a node stderr file for reading.
5594 /// @param name The node name.
5595 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5596 /// Otherwise, the file is read from the last @p count lines.
5597 /// @param current The Current object of the incoming request.
5598 /// @return An iterator to read the file. This proxy is never null.
5599 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5600 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5601 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5602 virtual std::optional<FileIteratorPrx> openNodeStdErr(std::string name, std::int32_t count, const Ice::Current& current) = 0;
5603
5604 /// @private
5605 void _iceD_openNodeStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5606
5607 /// Opens a node stdout file for reading.
5608 /// @param name The node name.
5609 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5610 /// Otherwise, the file is read from the last @p count lines.
5611 /// @param current The Current object of the incoming request.
5612 /// @return An iterator to read the file. This proxy is never null.
5613 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5614 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
5615 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5616 virtual std::optional<FileIteratorPrx> openNodeStdOut(std::string name, std::int32_t count, const Ice::Current& current) = 0;
5617
5618 /// @private
5619 void _iceD_openNodeStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5620
5621 /// Opens a registry stderr file for reading.
5622 /// @param name The registry name.
5623 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5624 /// Otherwise, the file is read from the last @p count lines.
5625 /// @param current The Current object of the incoming request.
5626 /// @return An iterator to read the file. This proxy is never null.
5627 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5628 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5629 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
5630 virtual std::optional<FileIteratorPrx> openRegistryStdErr(std::string name, std::int32_t count, const Ice::Current& current) = 0;
5631
5632 /// @private
5633 void _iceD_openRegistryStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5634
5635 /// Opens a registry stdout file for reading.
5636 /// @param name The registry name.
5637 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
5638 /// Otherwise, the file is read from the last @p count lines.
5639 /// @param current The Current object of the incoming request.
5640 /// @return An iterator to read the file. This proxy is never null.
5641 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
5642 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
5643 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
5644 virtual std::optional<FileIteratorPrx> openRegistryStdOut(std::string name, std::int32_t count, const Ice::Current& current) = 0;
5645
5646 /// @private
5647 void _iceD_openRegistryStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5648
5649 /// Gets the type ID of the associated Slice interface.
5650 /// @return The string `"::IceGrid::AdminSession"`.
5651 static const char* ice_staticId() noexcept;
5652 };
5653
5654 /// A shared pointer to an AdminSession.
5655 using AdminSessionPtr = std::shared_ptr<AdminSession>;
5656}
5657
5658namespace IceGrid
5659{
5660 /// Provides administrative access to an IceGrid deployment.
5661 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::Admin`.
5662 /// @headerfile IceGrid/IceGrid.h
5663 class ICEGRID_API AsyncAdmin : public virtual Ice::Object
5664 {
5665 public:
5666 /// The associated proxy type.
5668
5669 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
5670 /// @param request The incoming request.
5671 /// @param sendResponse The callback to send the response.
5672 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
5673
5674 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
5675
5676 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
5677
5678 /// Adds an application to IceGrid.
5679 /// @param descriptor The application descriptor.
5680 /// @param response The response callback.
5681 /// @param exception The exception callback.
5682 /// @param current The Current object of the incoming request.
5683 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
5684 /// session is holding the lock.
5685 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
5686 virtual void addApplicationAsync(ApplicationDescriptor descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5687
5688 /// @private
5689 void _iceD_addApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5690
5691 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor.
5692 /// @param descriptor The new application descriptor.
5693 /// @param response The response callback.
5694 /// @param exception The exception callback.
5695 /// @param current The Current object of the incoming request.
5696 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
5697 /// session is holding the lock.
5698 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
5699 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
5700 virtual void syncApplicationAsync(ApplicationDescriptor descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5701
5702 /// @private
5703 void _iceD_syncApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5704
5705 /// Updates a deployed application.
5706 /// @param descriptor The update descriptor.
5707 /// @param response The response callback.
5708 /// @param exception The exception callback.
5709 /// @param current The Current object of the incoming request.
5710 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
5711 /// session is holding the lock.
5712 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
5713 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
5714 virtual void updateApplicationAsync(ApplicationUpdateDescriptor descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5715
5716 /// @private
5717 void _iceD_updateApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5718
5719 /// Synchronizes a deployed application. This operation replaces the current descriptor with a new descriptor
5720 /// only if no server restarts are necessary for the update of the application. If some servers need to be
5721 /// restarted, the synchronization is rejected with a DeploymentException.
5722 /// @param descriptor The application descriptor.
5723 /// @param response The response callback.
5724 /// @param exception The exception callback.
5725 /// @param current The Current object of the incoming request.
5726 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
5727 /// session is holding the lock.
5728 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
5729 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
5730 virtual void syncApplicationWithoutRestartAsync(ApplicationDescriptor descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5731
5732 /// @private
5733 void _iceD_syncApplicationWithoutRestart(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5734
5735 /// Updates a deployed application. This operation succeeds only when no server restarts are necessary for the
5736 /// update of the application. If some servers need to be restarted, the synchronization is rejected with a
5737 /// DeploymentException.
5738 /// @param descriptor The update descriptor.
5739 /// @param response The response callback.
5740 /// @param exception The exception callback.
5741 /// @param current The Current object of the incoming request.
5742 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
5743 /// session is holding the lock.
5744 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
5745 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
5746 virtual void updateApplicationWithoutRestartAsync(ApplicationUpdateDescriptor descriptor, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5747
5748 /// @private
5749 void _iceD_updateApplicationWithoutRestart(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5750
5751 /// Removes an application from IceGrid.
5752 /// @param name The application name.
5753 /// @param response The response callback.
5754 /// @param exception The exception callback.
5755 /// @param current The Current object of the incoming request.
5756 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
5757 /// session is holding the lock.
5758 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
5759 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
5760 virtual void removeApplicationAsync(std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5761
5762 /// @private
5763 void _iceD_removeApplication(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5764
5765 /// Instantiates a server template.
5766 /// @param application The application name.
5767 /// @param node The name of the node where the server will be deployed.
5768 /// @param desc The descriptor of the server instance to deploy.
5769 /// @param response The response callback.
5770 /// @param exception The exception callback.
5771 /// @param current The Current object of the incoming request.
5772 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock or when another
5773 /// session is holding the lock.
5774 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
5775 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
5776 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;
5777
5778 /// @private
5779 void _iceD_instantiateServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5780
5781 /// Gets information about an application.
5782 /// @param name The application name.
5783 /// @param response The response callback. It accepts:
5784 /// - The application information.
5785 /// @param exception The exception callback.
5786 /// @param current The Current object of the incoming request.
5787 /// @throws IceGrid::ApplicationNotExistException Thrown when the application doesn't exist.
5788 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;
5789
5790 /// @private
5791 void _iceD_getApplicationInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5792
5793 /// Gets the default application descriptor.
5794 /// @param response The response callback. It accepts:
5795 /// - The default application descriptor.
5796 /// @param exception The exception callback.
5797 /// @param current The Current object of the incoming request.
5798 /// @throws IceGrid::DeploymentException Thrown when the default application descriptor is invalid or unreachable.
5799 virtual void getDefaultApplicationDescriptorAsync(std::function<void(const ApplicationDescriptor& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5800
5801 /// @private
5802 void _iceD_getDefaultApplicationDescriptor(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5803
5804 /// Gets all the IceGrid applications currently registered.
5805 /// @param response The response callback. It accepts:
5806 /// - The application names.
5807 /// @param exception The exception callback.
5808 /// @param current The Current object of the incoming request.
5809 virtual void getAllApplicationNamesAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5810
5811 /// @private
5812 void _iceD_getAllApplicationNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5813
5814 /// Gets information about a server.
5815 /// @param id The server ID.
5816 /// @param response The response callback. It accepts:
5817 /// - The server information.
5818 /// @param exception The exception callback.
5819 /// @param current The Current object of the incoming request.
5820 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5821 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;
5822
5823 /// @private
5824 void _iceD_getServerInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5825
5826 /// Gets the state of a server.
5827 /// @param id The server ID.
5828 /// @param response The response callback. It accepts:
5829 /// - The server state.
5830 /// @param exception The exception callback.
5831 /// @param current The Current object of the incoming request.
5832 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5833 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5834 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5835 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;
5836
5837 /// @private
5838 void _iceD_getServerState(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5839
5840 /// Gets the system process ID of a server. The process ID is operating system dependent.
5841 /// @param id The server ID.
5842 /// @param response The response callback. It accepts:
5843 /// - The process ID.
5844 /// @param exception The exception callback.
5845 /// @param current The Current object of the incoming request.
5846 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5847 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5848 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5849 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;
5850
5851 /// @private
5852 void _iceD_getServerPid(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5853
5854 /// Gets the category for server admin objects. You can manufacture a server admin proxy from the admin proxy by
5855 /// changing its identity: use the server ID as name and the returned category as category.
5856 /// @param response The response callback. It accepts:
5857 /// - The category for server admin objects.
5858 /// @param exception The exception callback.
5859 /// @param current The Current object of the incoming request.
5860 virtual void getServerAdminCategoryAsync(std::function<void(std::string_view returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5861
5862 /// @private
5863 void _iceD_getServerAdminCategory(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5864
5865 /// Gets a proxy to the admin object of a server.
5866 /// @param id The server ID.
5867 /// @param response The response callback. It accepts:
5868 /// - A proxy to the admin object of the server. This proxy is never null.
5869 /// @param exception The exception callback.
5870 /// @param current The Current object of the incoming request.
5871 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5872 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5873 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5874 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;
5875
5876 /// @private
5877 void _iceD_getServerAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5878
5879 /// Enables or disables a server. A disabled server can't be started on demand or administratively. The enable
5880 /// state of the server is not persistent: if the node is shut down and restarted, the server will be enabled by
5881 /// default.
5882 /// @param id The server ID.
5883 /// @param enabled `true` to enable the server, `false` to disable it.
5884 /// @param response The response callback.
5885 /// @param exception The exception callback.
5886 /// @param current The Current object of the incoming request.
5887 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5888 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5889 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5890 virtual void enableServerAsync(std::string id, bool enabled, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5891
5892 /// @private
5893 void _iceD_enableServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5894
5895 /// Checks if the server is enabled or disabled.
5896 /// @param id The server ID.
5897 /// @param response The response callback. It accepts:
5898 /// - `true` if the server is enabled, `false` otherwise.
5899 /// @param exception The exception callback.
5900 /// @param current The Current object of the incoming request.
5901 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5902 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5903 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5904 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;
5905
5906 /// @private
5907 void _iceD_isServerEnabled(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5908
5909 /// Starts a server and waits for its activation.
5910 /// @param id The server id.
5911 /// @param response The response callback.
5912 /// @param exception The exception callback.
5913 /// @param current The Current object of the incoming request.
5914 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5915 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5916 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5917 /// @throws IceGrid::ServerStartException Thrown when the server startup failed.
5918 virtual void startServerAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5919
5920 /// @private
5921 void _iceD_startServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5922
5923 /// Stops a server.
5924 /// @param id The server ID.
5925 /// @param response The response callback.
5926 /// @param exception The exception callback.
5927 /// @param current The Current object of the incoming request.
5928 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5929 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5930 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5931 /// @throws IceGrid::ServerStopException Thrown when the server stop failed.
5932 virtual void stopServerAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5933
5934 /// @private
5935 void _iceD_stopServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5936
5937 /// Sends a signal to a server.
5938 /// @param id The server ID.
5939 /// @param signal The signal, for example SIGTERM or 15.
5940 /// @param response The response callback.
5941 /// @param exception The exception callback.
5942 /// @param current The Current object of the incoming request.
5943 /// @throws IceGrid::BadSignalException Thrown when the signal is not recognized by the target server.
5944 /// @throws IceGrid::DeploymentException Thrown when the deployment of the server failed.
5945 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
5946 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
5947 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;
5948
5949 /// @private
5950 void _iceD_sendSignal(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5951
5952 /// Gets the IDs of all the servers registered with IceGrid.
5953 /// @param response The response callback. It accepts:
5954 /// - The server IDs.
5955 /// @param exception The exception callback.
5956 /// @param current The Current object of the incoming request.
5957 virtual void getAllServerIdsAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5958
5959 /// @private
5960 void _iceD_getAllServerIds(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5961
5962 /// Gets adapter information for the replica group or adapter with the given ID.
5963 /// @param id The adapter or replica group ID.
5964 /// @param response The response callback. It accepts:
5965 /// - A sequence of AdapterInfo. If @p id refers to an adapter, this sequence contains a single element.
5966 /// If @p id refers to a replica group, this sequence contains adapter information for each member of the
5967 /// replica group.
5968 /// @param exception The exception callback.
5969 /// @param current The Current object of the incoming request.
5970 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter or replica group doesn't exist.
5971 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;
5972
5973 /// @private
5974 void _iceD_getAdapterInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5975
5976 /// Removes the adapter with the given ID.
5977 /// @param id The adapter ID.
5978 /// @param response The response callback.
5979 /// @param exception The exception callback.
5980 /// @param current The Current object of the incoming request.
5981 /// @throws IceGrid::AdapterNotExistException Thrown when the adapter doesn't exist.
5982 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
5983 virtual void removeAdapterAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
5984
5985 /// @private
5986 void _iceD_removeAdapter(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
5987
5988 /// Gets the IDs of all adapters registered with IceGrid.
5989 /// @param response The response callback. It accepts:
5990 /// - The adapter IDs.
5991 /// @param exception The exception callback.
5992 /// @param current The Current object of the incoming request.
5993 virtual void getAllAdapterIdsAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
5994
5995 /// @private
5996 void _iceD_getAllAdapterIds(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
5997
5998 /// Adds an object to the object registry. IceGrid gets the object type by calling `ice_id` on @p obj. The
5999 /// object must be reachable.
6000 /// @param obj A proxy to the object. This proxy is never null.
6001 /// @param response The response callback.
6002 /// @param exception The exception callback.
6003 /// @param current The Current object of the incoming request.
6004 /// @throws IceGrid::DeploymentException Thrown when the object can't be added.
6005 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
6006 virtual void addObjectAsync(std::optional<Ice::ObjectPrx> obj, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6007
6008 /// @private
6009 void _iceD_addObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6010
6011 /// Updates an object in the object registry. Only objects added with this interface can be updated with this
6012 /// operation. Objects added with deployment descriptors should be updated with the deployment mechanism.
6013 /// @param obj A proxy to the object. This proxy is never null.
6014 /// @param response The response callback.
6015 /// @param exception The exception callback.
6016 /// @param current The Current object of the incoming request.
6017 /// @throws IceGrid::DeploymentException Thrown when the object can't be updated.
6018 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
6019 virtual void updateObjectAsync(std::optional<Ice::ObjectPrx> obj, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6020
6021 /// @private
6022 void _iceD_updateObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6023
6024 /// Adds an object to the object registry and explicitly specifies its type.
6025 /// @param obj The object to be added to the registry. The proxy is never null.
6026 /// @param type The type name.
6027 /// @param response The response callback.
6028 /// @param exception The exception callback.
6029 /// @param current The Current object of the incoming request.
6030 /// @throws IceGrid::DeploymentException Thrown when the application deployment failed.
6031 /// @throws IceGrid::ObjectExistsException Thrown when the object is already registered.
6032 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;
6033
6034 /// @private
6035 void _iceD_addObjectWithType(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6036
6037 /// Removes an object from the object registry. Only objects added with this interface can be removed with this
6038 /// operation. Objects added with deployment descriptors should be removed with the deployment mechanism.
6039 /// @param id The identity of the object to remove.
6040 /// @param response The response callback.
6041 /// @param exception The exception callback.
6042 /// @param current The Current object of the incoming request.
6043 /// @throws IceGrid::DeploymentException Thrown when the object can't be removed.
6044 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
6045 virtual void removeObjectAsync(::Ice::Identity id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6046
6047 /// @private
6048 void _iceD_removeObject(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6049
6050 /// Gets the object info for the object.
6051 /// @param id The identity of the object.
6052 /// @param response The response callback. It accepts:
6053 /// - The object info.
6054 /// @param exception The exception callback.
6055 /// @param current The Current object of the incoming request.
6056 /// @throws IceGrid::ObjectNotRegisteredException Thrown when the object isn't registered with the registry.
6057 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;
6058
6059 /// @private
6060 void _iceD_getObjectInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6061
6062 /// Gets the object info of all the registered objects with a given type.
6063 /// @param type The type name.
6064 /// @param response The response callback. It accepts:
6065 /// - The object infos.
6066 /// @param exception The exception callback.
6067 /// @param current The Current object of the incoming request.
6068 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;
6069
6070 /// @private
6071 void _iceD_getObjectInfosByType(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6072
6073 /// Gets the object info of all the registered objects whose stringified identities match the given expression.
6074 /// @param expr The expression to match against the stringified identities of registered objects. The expression
6075 /// may contain a trailing wildcard (`*`) character.
6076 /// @param response The response callback. It accepts:
6077 /// - All the object infos with a stringified identity matching the given expression.
6078 /// @param exception The exception callback.
6079 /// @param current The Current object of the incoming request.
6080 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;
6081
6082 /// @private
6083 void _iceD_getAllObjectInfos(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6084
6085 /// Pings an IceGrid node to see if it is active.
6086 /// @param name The node name.
6087 /// @param response The response callback. It accepts:
6088 /// - `true` if the node ping succeeded, `false` otherwise.
6089 /// @param exception The exception callback.
6090 /// @param current The Current object of the incoming request.
6091 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
6092 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;
6093
6094 /// @private
6095 void _iceD_pingNode(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6096
6097 /// Gets the load averages of a node.
6098 /// @param name The node name.
6099 /// @param response The response callback. It accepts:
6100 /// - The node load information.
6101 /// @param exception The exception callback.
6102 /// @param current The Current object of the incoming request.
6103 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
6104 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6105 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;
6106
6107 /// @private
6108 void _iceD_getNodeLoad(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6109
6110 /// Gets the node information of a node.
6111 /// @param name The node name.
6112 /// @param response The response callback. It accepts:
6113 /// - The node information.
6114 /// @param exception The exception callback.
6115 /// @param current The Current object of the incoming request.
6116 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
6117 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6118 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;
6119
6120 /// @private
6121 void _iceD_getNodeInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6122
6123 /// Gets a proxy to the admin object of an IceGrid node.
6124 /// @param name The IceGrid node name.
6125 /// @param response The response callback. It accepts:
6126 /// - A proxy to the IceGrid node's admin object. This proxy is never null.
6127 /// @param exception The exception callback.
6128 /// @param current The Current object of the incoming request.
6129 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
6130 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6131 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;
6132
6133 /// @private
6134 void _iceD_getNodeAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6135
6136 /// Gets the number of physical processor sockets in the computer where an IceGrid node is deployed.
6137 /// Note that this operation returns 1 on operating systems where this can't be automatically determined and
6138 /// where the `IceGrid.Node.ProcessorSocketCount` property for the node is not set.
6139 /// @param name The node name.
6140 /// @param response The response callback. It accepts:
6141 /// - The number of processor sockets or 1 if the number of sockets can't be determined.
6142 /// @param exception The exception callback.
6143 /// @param current The Current object of the incoming request.
6144 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
6145 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6146 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;
6147
6148 /// @private
6149 void _iceD_getNodeProcessorSocketCount(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6150
6151 /// Shuts down an IceGrid node.
6152 /// @param name The node name.
6153 /// @param response The response callback.
6154 /// @param exception The exception callback.
6155 /// @param current The Current object of the incoming request.
6156 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
6157 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6158 virtual void shutdownNodeAsync(std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6159
6160 /// @private
6161 void _iceD_shutdownNode(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6162
6163 /// Get the hostname of a node.
6164 /// @param name The node name.
6165 /// @param response The response callback. It accepts:
6166 /// - The node hostname.
6167 /// @param exception The exception callback.
6168 /// @param current The Current object of the incoming request.
6169 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
6170 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6171 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;
6172
6173 /// @private
6174 void _iceD_getNodeHostname(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6175
6176 /// Gets the names of all IceGrid nodes currently registered.
6177 /// @param response The response callback. It accepts:
6178 /// - The node names.
6179 /// @param exception The exception callback.
6180 /// @param current The Current object of the incoming request.
6181 virtual void getAllNodeNamesAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
6182
6183 /// @private
6184 void _iceD_getAllNodeNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6185
6186 /// Pings an IceGrid registry to see if it is active.
6187 /// @param name The registry name.
6188 /// @param response The response callback. It accepts:
6189 /// - `true` if the registry ping succeeded, `false` otherwise.
6190 /// @param exception The exception callback.
6191 /// @param current The Current object of the incoming request.
6192 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
6193 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;
6194
6195 /// @private
6196 void _iceD_pingRegistry(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6197
6198 /// Gets the registry information of an IceGrid registry.
6199 /// @param name The registry name.
6200 /// @param response The response callback. It accepts:
6201 /// - The registry information.
6202 /// @param exception The exception callback.
6203 /// @param current The Current object of the incoming request.
6204 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
6205 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
6206 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;
6207
6208 /// @private
6209 void _iceD_getRegistryInfo(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6210
6211 /// Gets a proxy to the admin object of an IceGrid registry.
6212 /// @param name The registry name.
6213 /// @param response The response callback. It accepts:
6214 /// - A proxy to the admin object of an IceGrid registry. This proxy is never null.
6215 /// @param exception The exception callback.
6216 /// @param current The Current object of the incoming request.
6217 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
6218 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;
6219
6220 /// @private
6221 void _iceD_getRegistryAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6222
6223 /// Shuts down an IceGrid registry.
6224 /// @param name The registry name.
6225 /// @param response The response callback.
6226 /// @param exception The exception callback.
6227 /// @param current The Current object of the incoming request.
6228 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
6229 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
6230 virtual void shutdownRegistryAsync(std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6231
6232 /// @private
6233 void _iceD_shutdownRegistry(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6234
6235 /// Gets the names of all the IceGrid registries currently registered.
6236 /// @param response The response callback. It accepts:
6237 /// - The registry names.
6238 /// @param exception The exception callback.
6239 /// @param current The Current object of the incoming request.
6240 virtual void getAllRegistryNamesAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
6241
6242 /// @private
6243 void _iceD_getAllRegistryNames(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6244
6245 /// Shuts down the IceGrid registry.
6246 /// @param response The response callback.
6247 /// @param exception The exception callback.
6248 /// @param current The Current object of the incoming request.
6249 virtual void shutdownAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6250
6251 /// @private
6252 void _iceD_shutdown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6253
6254 /// Gets the type ID of the associated Slice interface.
6255 /// @return The string `"::IceGrid::Admin"`.
6256 static const char* ice_staticId() noexcept;
6257 };
6258
6259 /// A shared pointer to an AsyncAdmin.
6260 using AsyncAdminPtr = std::shared_ptr<AsyncAdmin>;
6261
6262 /// Iterates over an IceGrid log file.
6263 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::FileIterator`.
6264 /// @headerfile IceGrid/IceGrid.h
6265 class ICEGRID_API AsyncFileIterator : public virtual Ice::Object
6266 {
6267 public:
6268 /// The associated proxy type.
6270
6271 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
6272 /// @param request The incoming request.
6273 /// @param sendResponse The callback to send the response.
6274 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
6275
6276 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
6277
6278 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
6279
6280 /// Read lines from the log file.
6281 /// @param size Specifies the maximum number of bytes to be received. The server will ensure that the returned
6282 /// message doesn't exceed the given size.
6283 /// @param response The response callback. It accepts:
6284 /// - `returnValue` `true` if EOF is encountered.
6285 /// - `lines` The lines read from the file. If there was nothing to read from the file since the last call to
6286 /// read, an empty sequence is returned. The last line of the sequence is always incomplete (and therefore no
6287 /// newline character should be added when writing the last line to the output device).
6288 /// @param exception The exception callback.
6289 /// @param current The Current object of the incoming request.
6290 /// @throws IceGrid::FileNotAvailableException Thrown when the implementation failed to read from the file.
6291 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;
6292
6293 /// @private
6294 void _iceD_read(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6295
6296 /// Destroys the iterator.
6297 /// @param response The response callback.
6298 /// @param exception The exception callback.
6299 /// @param current The Current object of the incoming request.
6300 virtual void destroyAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6301
6302 /// @private
6303 void _iceD_destroy(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6304
6305 /// Gets the type ID of the associated Slice interface.
6306 /// @return The string `"::IceGrid::FileIterator"`.
6307 static const char* ice_staticId() noexcept;
6308 };
6309
6310 /// A shared pointer to an AsyncFileIterator.
6311 using AsyncFileIteratorPtr = std::shared_ptr<AsyncFileIterator>;
6312
6313 /// Monitors changes to the state of the registries.
6314 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::RegistryObserver`.
6315 /// @headerfile IceGrid/IceGrid.h
6316 class ICEGRID_API AsyncRegistryObserver : public virtual Ice::Object
6317 {
6318 public:
6319 /// The associated proxy type.
6321
6322 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
6323 /// @param request The incoming request.
6324 /// @param sendResponse The callback to send the response.
6325 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
6326
6327 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
6328
6329 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
6330
6331 /// Provides the initial state of the registries to the observer.
6332 /// @param registries The current state of the registries.
6333 /// @param response The response callback.
6334 /// @param exception The exception callback.
6335 /// @param current The Current object of the incoming request.
6336 virtual void registryInitAsync(RegistryInfoSeq registries, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6337
6338 /// @private
6339 void _iceD_registryInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6340
6341 /// Notifies the observer that a registry replica came up.
6342 /// @param registryReplica The registry state.
6343 /// @param response The response callback.
6344 /// @param exception The exception callback.
6345 /// @param current The Current object of the incoming request.
6346 virtual void registryUpAsync(RegistryInfo registryReplica, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6347
6348 /// @private
6349 void _iceD_registryUp(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6350
6351 /// Notifies the observer that a registry replica went down.
6352 /// @param name The registry name.
6353 /// @param response The response callback.
6354 /// @param exception The exception callback.
6355 /// @param current The Current object of the incoming request.
6356 virtual void registryDownAsync(std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6357
6358 /// @private
6359 void _iceD_registryDown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6360
6361 /// Gets the type ID of the associated Slice interface.
6362 /// @return The string `"::IceGrid::RegistryObserver"`.
6363 static const char* ice_staticId() noexcept;
6364 };
6365
6366 /// A shared pointer to an AsyncRegistryObserver.
6368
6369 /// Monitors changes to the state of the nodes.
6370 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::NodeObserver`.
6371 /// @headerfile IceGrid/IceGrid.h
6372 class ICEGRID_API AsyncNodeObserver : public virtual Ice::Object
6373 {
6374 public:
6375 /// The associated proxy type.
6377
6378 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
6379 /// @param request The incoming request.
6380 /// @param sendResponse The callback to send the response.
6381 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
6382
6383 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
6384
6385 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
6386
6387 /// Provides the initial state of the nodes to the observer.
6388 /// @param nodes The current state of the nodes.
6389 /// @param response The response callback.
6390 /// @param exception The exception callback.
6391 /// @param current The Current object of the incoming request.
6392 virtual void nodeInitAsync(NodeDynamicInfoSeq nodes, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6393
6394 /// @private
6395 void _iceD_nodeInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6396
6397 /// Notifies the observer that a node came up.
6398 /// @param node The node state.
6399 /// @param response The response callback.
6400 /// @param exception The exception callback.
6401 /// @param current The Current object of the incoming request.
6402 virtual void nodeUpAsync(NodeDynamicInfo node, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6403
6404 /// @private
6405 void _iceD_nodeUp(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6406
6407 /// Notifies the observer that a node went down.
6408 /// @param name The node name.
6409 /// @param response The response callback.
6410 /// @param exception The exception callback.
6411 /// @param current The Current object of the incoming request.
6412 virtual void nodeDownAsync(std::string name, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6413
6414 /// @private
6415 void _iceD_nodeDown(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6416
6417 /// Notifies the observer that the state of a server changed.
6418 /// @param node The node hosting the server.
6419 /// @param updatedInfo The new server state.
6420 /// @param response The response callback.
6421 /// @param exception The exception callback.
6422 /// @param current The Current object of the incoming request.
6423 virtual void updateServerAsync(std::string node, ServerDynamicInfo updatedInfo, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6424
6425 /// @private
6426 void _iceD_updateServer(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6427
6428 /// Notifies the observer that the state of an object adapter changed.
6429 /// @param node The node hosting the adapter.
6430 /// @param updatedInfo The new adapter state.
6431 /// @param response The response callback.
6432 /// @param exception The exception callback.
6433 /// @param current The Current object of the incoming request.
6434 virtual void updateAdapterAsync(std::string node, AdapterDynamicInfo updatedInfo, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6435
6436 /// @private
6437 void _iceD_updateAdapter(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6438
6439 /// Gets the type ID of the associated Slice interface.
6440 /// @return The string `"::IceGrid::NodeObserver"`.
6441 static const char* ice_staticId() noexcept;
6442 };
6443
6444 /// A shared pointer to an AsyncNodeObserver.
6445 using AsyncNodeObserverPtr = std::shared_ptr<AsyncNodeObserver>;
6446
6447 /// Monitors applications.
6448 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::ApplicationObserver`.
6449 /// @headerfile IceGrid/IceGrid.h
6450 class ICEGRID_API AsyncApplicationObserver : public virtual Ice::Object
6451 {
6452 public:
6453 /// The associated proxy type.
6455
6456 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
6457 /// @param request The incoming request.
6458 /// @param sendResponse The callback to send the response.
6459 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
6460
6461 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
6462
6463 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
6464
6465 /// Provides the initial application infos to the observer.
6466 /// @param serial The current serial number of the registry database. This serial number allows observers to
6467 /// make sure that their internal state is synchronized with the registry.
6468 /// @param applications The applications currently registered with the registry.
6469 /// @param response The response callback.
6470 /// @param exception The exception callback.
6471 /// @param current The Current object of the incoming request.
6472 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;
6473
6474 /// @private
6475 void _iceD_applicationInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6476
6477 /// Notifies the observer that an application was added.
6478 /// @param serial The new serial number of the registry database.
6479 /// @param desc The descriptor of the new application.
6480 /// @param response The response callback.
6481 /// @param exception The exception callback.
6482 /// @param current The Current object of the incoming request.
6483 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;
6484
6485 /// @private
6486 void _iceD_applicationAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6487
6488 /// Notifies the observer that an application was removed.
6489 /// @param serial The new serial number of the registry database.
6490 /// @param name The name of the application that was removed.
6491 /// @param response The response callback.
6492 /// @param exception The exception callback.
6493 /// @param current The Current object of the incoming request.
6494 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;
6495
6496 /// @private
6497 void _iceD_applicationRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6498
6499 /// Notifies the observer that an application was updated.
6500 /// @param serial The new serial number of the registry database.
6501 /// @param desc The descriptor of the update.
6502 /// @param response The response callback.
6503 /// @param exception The exception callback.
6504 /// @param current The Current object of the incoming request.
6505 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;
6506
6507 /// @private
6508 void _iceD_applicationUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6509
6510 /// Gets the type ID of the associated Slice interface.
6511 /// @return The string `"::IceGrid::ApplicationObserver"`.
6512 static const char* ice_staticId() noexcept;
6513 };
6514
6515 /// A shared pointer to an AsyncApplicationObserver.
6517
6518 /// Monitors dynamically-registered object adapters.
6519 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::AdapterObserver`.
6520 /// @headerfile IceGrid/IceGrid.h
6521 class ICEGRID_API AsyncAdapterObserver : public virtual Ice::Object
6522 {
6523 public:
6524 /// The associated proxy type.
6526
6527 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
6528 /// @param request The incoming request.
6529 /// @param sendResponse The callback to send the response.
6530 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
6531
6532 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
6533
6534 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
6535
6536 /// Provides the initial list of dynamically registered adapters to the observer.
6537 /// @param adpts The adapters that were dynamically registered with the registry.
6538 /// @param response The response callback.
6539 /// @param exception The exception callback.
6540 /// @param current The Current object of the incoming request.
6541 virtual void adapterInitAsync(AdapterInfoSeq adpts, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6542
6543 /// @private
6544 void _iceD_adapterInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6545
6546 /// Notifies the observer that a dynamically-registered adapter was added.
6547 /// @param info The details of the new adapter.
6548 /// @param response The response callback.
6549 /// @param exception The exception callback.
6550 /// @param current The Current object of the incoming request.
6551 virtual void adapterAddedAsync(AdapterInfo info, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6552
6553 /// @private
6554 void _iceD_adapterAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6555
6556 /// Notifies the observer that a dynamically-registered adapter was updated.
6557 /// @param info The details of the updated adapter.
6558 /// @param response The response callback.
6559 /// @param exception The exception callback.
6560 /// @param current The Current object of the incoming request.
6561 virtual void adapterUpdatedAsync(AdapterInfo info, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6562
6563 /// @private
6564 void _iceD_adapterUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6565
6566 /// Notifies the observer that a dynamically-registered adapter was removed.
6567 /// @param id The ID of the removed adapter.
6568 /// @param response The response callback.
6569 /// @param exception The exception callback.
6570 /// @param current The Current object of the incoming request.
6571 virtual void adapterRemovedAsync(std::string id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6572
6573 /// @private
6574 void _iceD_adapterRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6575
6576 /// Gets the type ID of the associated Slice interface.
6577 /// @return The string `"::IceGrid::AdapterObserver"`.
6578 static const char* ice_staticId() noexcept;
6579 };
6580
6581 /// A shared pointer to an AsyncAdapterObserver.
6583
6584 /// Monitors well-known objects that are added, updated or removed using AdminPrx.
6585 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::ObjectObserver`.
6586 /// @headerfile IceGrid/IceGrid.h
6587 class ICEGRID_API AsyncObjectObserver : public virtual Ice::Object
6588 {
6589 public:
6590 /// The associated proxy type.
6592
6593 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
6594 /// @param request The incoming request.
6595 /// @param sendResponse The callback to send the response.
6596 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
6597
6598 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
6599
6600 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
6601
6602 /// Provides the initial list of well-known objects to the observer.
6603 /// @param objects The well-known objects registered using ::IceGrid::AdminPrx.
6604 /// @param response The response callback.
6605 /// @param exception The exception callback.
6606 /// @param current The Current object of the incoming request.
6607 virtual void objectInitAsync(ObjectInfoSeq objects, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6608
6609 /// @private
6610 void _iceD_objectInit(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6611
6612 /// Notifies the observer that a well-known object was added.
6613 /// @param info The details of the new object.
6614 /// @param response The response callback.
6615 /// @param exception The exception callback.
6616 /// @param current The Current object of the incoming request.
6617 virtual void objectAddedAsync(ObjectInfo info, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6618
6619 /// @private
6620 void _iceD_objectAdded(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6621
6622 /// Notifies the observer that a well-known object was updated.
6623 /// @param info The details of the updated object.
6624 /// @param response The response callback.
6625 /// @param exception The exception callback.
6626 /// @param current The Current object of the incoming request.
6627 virtual void objectUpdatedAsync(ObjectInfo info, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6628
6629 /// @private
6630 void _iceD_objectUpdated(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6631
6632 /// Notifies the observer that a well-known object was removed.
6633 /// @param id The identity of the removed object.
6634 /// @param response The response callback.
6635 /// @param exception The exception callback.
6636 /// @param current The Current object of the incoming request.
6637 virtual void objectRemovedAsync(::Ice::Identity id, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6638
6639 /// @private
6640 void _iceD_objectRemoved(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6641
6642 /// Gets the type ID of the associated Slice interface.
6643 /// @return The string `"::IceGrid::ObjectObserver"`.
6644 static const char* ice_staticId() noexcept;
6645 };
6646
6647 /// A shared pointer to an AsyncObjectObserver.
6649
6650 /// Represents an administrative session between an admin tool and an IceGrid registry.
6651 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceGrid::AdminSession`.
6652 /// @see RegistryPrx
6653 /// @headerfile IceGrid/IceGrid.h
6654 class ICEGRID_API AsyncAdminSession : public virtual ::Glacier2::AsyncSession
6655 {
6656 public:
6657 /// The associated proxy type.
6659
6660 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
6661 /// @param request The incoming request.
6662 /// @param sendResponse The callback to send the response.
6663 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
6664
6665 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
6666
6667 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
6668
6669 /// Keeps the session alive.
6670 /// @param response The response callback.
6671 /// @param exception The exception callback.
6672 /// @param current The Current object of the incoming request.
6673 virtual void keepAliveAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6674
6675 /// @private
6676 void _iceD_keepAlive(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6677
6678 /// Gets a proxy to the IceGrid admin object. The admin object returned by this operation can only be accessed
6679 /// by the session.
6680 /// @param response The response callback. It accepts:
6681 /// - A proxy to the IceGrid admin object. This proxy is never null.
6682 /// @param exception The exception callback.
6683 /// @param current The Current object of the incoming request.
6684 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;
6685
6686 /// @private
6687 void _iceD_getAdmin(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6688
6689 /// Gets a "template" proxy for admin callback objects. An Admin client uses this proxy to set the category of
6690 /// its callback objects, and the published endpoints of the object adapter hosting the admin callback objects.
6691 /// @param response The response callback. It accepts:
6692 /// - A template proxy. The returned proxy is null when the Admin session was established using Glacier2.
6693 /// @param exception The exception callback.
6694 /// @param current The Current object of the incoming request.
6695 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;
6696
6697 /// @private
6698 void _iceD_getAdminCallbackTemplate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6699
6700 /// Sets the observer proxies that receive notifications when the state of the registry or nodes changes.
6701 /// @param registryObs The registry observer.
6702 /// @param nodeObs The node observer.
6703 /// @param appObs The application observer.
6704 /// @param adptObs The adapter observer.
6705 /// @param objObs The object observer.
6706 /// @param response The response callback.
6707 /// @param exception The exception callback.
6708 /// @param current The Current object of the incoming request.
6709 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
6710 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;
6711
6712 /// @private
6713 void _iceD_setObservers(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6714
6715 /// Sets the observer identities that receive notifications when the state of the registry or nodes changes.
6716 /// This operation should be used by clients that are using a bidirectional connection to communicate with the
6717 /// session.
6718 /// @param registryObs The registry observer identity.
6719 /// @param nodeObs The node observer identity.
6720 /// @param appObs The application observer identity.
6721 /// @param adptObs The adapter observer identity.
6722 /// @param objObs The object observer identity.
6723 /// @param response The response callback.
6724 /// @param exception The exception callback.
6725 /// @param current The Current object of the incoming request.
6726 /// @throws IceGrid::ObserverAlreadyRegisteredException Thrown when an observer is already registered with this registry.
6727 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;
6728
6729 /// @private
6730 void _iceD_setObserversByIdentity(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6731
6732 /// Acquires an exclusive lock to start updating the registry applications.
6733 /// @param response The response callback. It accepts:
6734 /// - The current serial.
6735 /// @param exception The exception callback.
6736 /// @param current The Current object of the incoming request.
6737 /// @throws IceGrid::AccessDeniedException Thrown when the exclusive lock can't be acquired. This might happen if the
6738 /// lock is currently acquired by another session.
6739 virtual void startUpdateAsync(std::function<void(std::int32_t returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6740
6741 /// @private
6742 void _iceD_startUpdate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6743
6744 /// Finishes updating the registry and releases the exclusive lock.
6745 /// @param response The response callback.
6746 /// @param exception The exception callback.
6747 /// @param current The Current object of the incoming request.
6748 /// @throws IceGrid::AccessDeniedException Thrown when the session doesn't hold the exclusive lock.
6749 virtual void finishUpdateAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
6750
6751 /// @private
6752 void _iceD_finishUpdate(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6753
6754 /// Gets the name of the registry replica hosting this session.
6755 /// @param response The response callback. It accepts:
6756 /// - The replica name of the registry.
6757 /// @param exception The exception callback.
6758 /// @param current The Current object of the incoming request.
6759 virtual void getReplicaNameAsync(std::function<void(std::string_view returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
6760
6761 /// @private
6762 void _iceD_getReplicaName(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
6763
6764 /// Opens a server log file for reading.
6765 /// @param id The server ID.
6766 /// @param path The path of the log file. A log file can be opened only if it's declared in the server or
6767 /// service deployment descriptor.
6768 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
6769 /// Otherwise, the file is read from the last @p count lines.
6770 /// @param response The response callback. It accepts:
6771 /// - An iterator to read the file. This proxy is never null.
6772 /// @param exception The exception callback.
6773 /// @param current The Current object of the incoming request.
6774 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
6775 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
6776 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6777 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
6778 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;
6779
6780 /// @private
6781 void _iceD_openServerLog(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6782
6783 /// Opens a server stderr file for reading.
6784 /// @param id The server ID.
6785 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
6786 /// Otherwise, the file is read from the last @p count lines.
6787 /// @param response The response callback. It accepts:
6788 /// - An iterator to read the file. This proxy is never null.
6789 /// @param exception The exception callback.
6790 /// @param current The Current object of the incoming request.
6791 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
6792 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
6793 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6794 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
6795 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;
6796
6797 /// @private
6798 void _iceD_openServerStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6799
6800 /// Opens a server stdout file for reading.
6801 /// @param id The server id.
6802 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
6803 /// Otherwise, the file is read from the last @p count lines.
6804 /// @param response The response callback. It accepts:
6805 /// - An iterator to read the file. This proxy is never null.
6806 /// @param exception The exception callback.
6807 /// @param current The Current object of the incoming request.
6808 /// @throws IceGrid::DeploymentException Thrown when the server couldn't be deployed on the node.
6809 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
6810 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6811 /// @throws IceGrid::ServerNotExistException Thrown when the server doesn't exist.
6812 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;
6813
6814 /// @private
6815 void _iceD_openServerStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6816
6817 /// Opens a node stderr file for reading.
6818 /// @param name The node name.
6819 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
6820 /// Otherwise, the file is read from the last @p count lines.
6821 /// @param response The response callback. It accepts:
6822 /// - An iterator to read the file. This proxy is never null.
6823 /// @param exception The exception callback.
6824 /// @param current The Current object of the incoming request.
6825 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
6826 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
6827 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6828 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;
6829
6830 /// @private
6831 void _iceD_openNodeStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6832
6833 /// Opens a node stdout file for reading.
6834 /// @param name The node name.
6835 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
6836 /// Otherwise, the file is read from the last @p count lines.
6837 /// @param response The response callback. It accepts:
6838 /// - An iterator to read the file. This proxy is never null.
6839 /// @param exception The exception callback.
6840 /// @param current The Current object of the incoming request.
6841 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
6842 /// @throws IceGrid::NodeNotExistException Thrown when the node doesn't exist.
6843 /// @throws IceGrid::NodeUnreachableException Thrown when the node is unreachable.
6844 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;
6845
6846 /// @private
6847 void _iceD_openNodeStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6848
6849 /// Opens a registry stderr file for reading.
6850 /// @param name The registry name.
6851 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
6852 /// Otherwise, the file is read from the last @p count lines.
6853 /// @param response The response callback. It accepts:
6854 /// - An iterator to read the file. This proxy is never null.
6855 /// @param exception The exception callback.
6856 /// @param current The Current object of the incoming request.
6857 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
6858 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
6859 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
6860 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;
6861
6862 /// @private
6863 void _iceD_openRegistryStdErr(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6864
6865 /// Opens a registry stdout file for reading.
6866 /// @param name The registry name.
6867 /// @param count Specifies where to start reading the file. If negative, the file is read from the beginning.
6868 /// Otherwise, the file is read from the last @p count lines.
6869 /// @param response The response callback. It accepts:
6870 /// - An iterator to read the file. This proxy is never null.
6871 /// @param exception The exception callback.
6872 /// @param current The Current object of the incoming request.
6873 /// @throws IceGrid::FileNotAvailableException Thrown when the file can't be read.
6874 /// @throws IceGrid::RegistryNotExistException Thrown when the registry doesn't exist.
6875 /// @throws IceGrid::RegistryUnreachableException Thrown when the registry is unreachable.
6876 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;
6877
6878 /// @private
6879 void _iceD_openRegistryStdOut(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
6880
6881 /// Gets the type ID of the associated Slice interface.
6882 /// @return The string `"::IceGrid::AdminSession"`.
6883 static const char* ice_staticId() noexcept;
6884 };
6885
6886 /// A shared pointer to an AsyncAdminSession.
6887 using AsyncAdminSessionPtr = std::shared_ptr<AsyncAdminSession>;
6888}
6889
6890namespace Ice
6891{
6892 /// @cond INTERNAL
6893 template<>
6894 struct StreamableTraits<::IceGrid::ServerState>
6895 {
6896 static constexpr StreamHelperCategory helper = StreamHelperCategoryEnum;
6897 static constexpr int minValue = 0;
6898 static constexpr int maxValue = 6;
6899 static constexpr int minWireSize = 1;
6900 static constexpr bool fixedLength = false;
6901 };
6902 /// @endcond
6903
6904 /// @cond INTERNAL
6905 template<>
6906 struct StreamableTraits<::IceGrid::ObjectInfo>
6907 {
6908 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6909 static constexpr int minWireSize = 3;
6910 static constexpr bool fixedLength = false;
6911 };
6912
6913 template<>
6914 struct StreamReader<::IceGrid::ObjectInfo>
6915 {
6916 /// Unmarshals a ::IceGrid::ObjectInfo from the input stream.
6917 static void read(InputStream* istr, ::IceGrid::ObjectInfo& v)
6918 {
6919 istr->readAll(v.proxy, v.type);
6920 }
6921 };
6922 /// @endcond
6923
6924 /// @cond INTERNAL
6925 template<>
6926 struct StreamableTraits<::IceGrid::AdapterInfo>
6927 {
6928 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6929 static constexpr int minWireSize = 4;
6930 static constexpr bool fixedLength = false;
6931 };
6932
6933 template<>
6934 struct StreamReader<::IceGrid::AdapterInfo>
6935 {
6936 /// Unmarshals a ::IceGrid::AdapterInfo from the input stream.
6937 static void read(InputStream* istr, ::IceGrid::AdapterInfo& v)
6938 {
6939 istr->readAll(v.id, v.proxy, v.replicaGroupId);
6940 }
6941 };
6942 /// @endcond
6943
6944 /// @cond INTERNAL
6945 template<>
6946 struct StreamableTraits<::IceGrid::ServerInfo>
6947 {
6948 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6949 static constexpr int minWireSize = 9;
6950 static constexpr bool fixedLength = false;
6951 };
6952
6953 template<>
6954 struct StreamReader<::IceGrid::ServerInfo>
6955 {
6956 /// Unmarshals a ::IceGrid::ServerInfo from the input stream.
6957 static void read(InputStream* istr, ::IceGrid::ServerInfo& v)
6958 {
6959 istr->readAll(v.application, v.uuid, v.revision, v.node, v.descriptor, v.sessionId);
6960 }
6961 };
6962 /// @endcond
6963
6964 /// @cond INTERNAL
6965 template<>
6966 struct StreamableTraits<::IceGrid::NodeInfo>
6967 {
6968 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6969 static constexpr int minWireSize = 11;
6970 static constexpr bool fixedLength = false;
6971 };
6972
6973 template<>
6974 struct StreamReader<::IceGrid::NodeInfo>
6975 {
6976 /// Unmarshals a ::IceGrid::NodeInfo from the input stream.
6977 static void read(InputStream* istr, ::IceGrid::NodeInfo& v)
6978 {
6979 istr->readAll(v.name, v.os, v.hostname, v.release, v.version, v.machine, v.nProcessors, v.dataDir);
6980 }
6981 };
6982 /// @endcond
6983
6984 /// @cond INTERNAL
6985 template<>
6986 struct StreamableTraits<::IceGrid::RegistryInfo>
6987 {
6988 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
6989 static constexpr int minWireSize = 2;
6990 static constexpr bool fixedLength = false;
6991 };
6992
6993 template<>
6994 struct StreamReader<::IceGrid::RegistryInfo>
6995 {
6996 /// Unmarshals a ::IceGrid::RegistryInfo from the input stream.
6997 static void read(InputStream* istr, ::IceGrid::RegistryInfo& v)
6998 {
6999 istr->readAll(v.name, v.hostname);
7000 }
7001 };
7002 /// @endcond
7003
7004 /// @cond INTERNAL
7005 template<>
7006 struct StreamableTraits<::IceGrid::LoadInfo>
7007 {
7008 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
7009 static constexpr int minWireSize = 12;
7010 static constexpr bool fixedLength = true;
7011 };
7012
7013 template<>
7014 struct StreamReader<::IceGrid::LoadInfo>
7015 {
7016 /// Unmarshals a ::IceGrid::LoadInfo from the input stream.
7017 static void read(InputStream* istr, ::IceGrid::LoadInfo& v)
7018 {
7019 istr->readAll(v.avg1, v.avg5, v.avg15);
7020 }
7021 };
7022 /// @endcond
7023
7024 /// @cond INTERNAL
7025 template<>
7026 struct StreamableTraits<::IceGrid::ApplicationInfo>
7027 {
7028 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
7029 static constexpr int minWireSize = 33;
7030 static constexpr bool fixedLength = false;
7031 };
7032
7033 template<>
7034 struct StreamReader<::IceGrid::ApplicationInfo>
7035 {
7036 /// Unmarshals a ::IceGrid::ApplicationInfo from the input stream.
7037 static void read(InputStream* istr, ::IceGrid::ApplicationInfo& v)
7038 {
7039 istr->readAll(v.uuid, v.createTime, v.createUser, v.updateTime, v.updateUser, v.revision, v.descriptor);
7040 }
7041 };
7042 /// @endcond
7043
7044 /// @cond INTERNAL
7045 template<>
7046 struct StreamableTraits<::IceGrid::ApplicationUpdateInfo>
7047 {
7048 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
7049 static constexpr int minWireSize = 28;
7050 static constexpr bool fixedLength = false;
7051 };
7052
7053 template<>
7054 struct StreamReader<::IceGrid::ApplicationUpdateInfo>
7055 {
7056 /// Unmarshals a ::IceGrid::ApplicationUpdateInfo from the input stream.
7057 static void read(InputStream* istr, ::IceGrid::ApplicationUpdateInfo& v)
7058 {
7059 istr->readAll(v.updateTime, v.updateUser, v.revision, v.descriptor);
7060 }
7061 };
7062 /// @endcond
7063
7064 /// @cond INTERNAL
7065 template<>
7066 struct StreamableTraits<::IceGrid::ServerDynamicInfo>
7067 {
7068 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
7069 static constexpr int minWireSize = 7;
7070 static constexpr bool fixedLength = false;
7071 };
7072
7073 template<>
7074 struct StreamReader<::IceGrid::ServerDynamicInfo>
7075 {
7076 /// Unmarshals a ::IceGrid::ServerDynamicInfo from the input stream.
7077 static void read(InputStream* istr, ::IceGrid::ServerDynamicInfo& v)
7078 {
7079 istr->readAll(v.id, v.state, v.pid, v.enabled);
7080 }
7081 };
7082 /// @endcond
7083
7084 /// @cond INTERNAL
7085 template<>
7086 struct StreamableTraits<::IceGrid::AdapterDynamicInfo>
7087 {
7088 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
7089 static constexpr int minWireSize = 3;
7090 static constexpr bool fixedLength = false;
7091 };
7092
7093 template<>
7094 struct StreamReader<::IceGrid::AdapterDynamicInfo>
7095 {
7096 /// Unmarshals a ::IceGrid::AdapterDynamicInfo from the input stream.
7097 static void read(InputStream* istr, ::IceGrid::AdapterDynamicInfo& v)
7098 {
7099 istr->readAll(v.id, v.proxy);
7100 }
7101 };
7102 /// @endcond
7103
7104 /// @cond INTERNAL
7105 template<>
7106 struct StreamableTraits<::IceGrid::NodeDynamicInfo>
7107 {
7108 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
7109 static constexpr int minWireSize = 13;
7110 static constexpr bool fixedLength = false;
7111 };
7112
7113 template<>
7114 struct StreamReader<::IceGrid::NodeDynamicInfo>
7115 {
7116 /// Unmarshals a ::IceGrid::NodeDynamicInfo from the input stream.
7117 static void read(InputStream* istr, ::IceGrid::NodeDynamicInfo& v)
7118 {
7119 istr->readAll(v.info, v.servers, v.adapters);
7120 }
7121 };
7122 /// @endcond
7123}
7124
7125// NOLINTEND(modernize-concat-nested-namespaces)
7126
7127#include <Ice/PopDisableWarnings.h>
7128#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:4324
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:4309
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
Notifies the observer that a dynamically-registered adapter was updated.
std::future< void > adapterUpdatedAsync(const AdapterInfo &info, const Ice::Context &context=Ice::noExplicitContext) const
Notifies the observer that a dynamically-registered adapter was updated.
AdapterObserverPrx(AdapterObserverPrx &&other) noexcept
Move constructor.
Definition Admin.h:2702
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
Notifies the observer that a dynamically-registered adapter was updated.
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:2709
AdapterObserverPrx & operator=(AdapterObserverPrx &&rhs) noexcept
Move assignment operator.
Definition Admin.h:2720
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:2694
AdapterObserverPrx(const AdapterObserverPrx &other) noexcept
Copy constructor.
Definition Admin.h:2698
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:2689
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
virtual void adapterUpdated(AdapterInfo info, const Ice::Current &current)=0
Notifies the observer that a dynamically-registered adapter was updated.
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:5339
Monitors dynamically-registered object adapters.
Definition Admin.h:5336
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 information about an application.
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:165
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 information about an application.
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 information about an application.
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:150
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:154
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:158
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:176
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:145
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:3133
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:3144
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:3126
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:3118
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:3122
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:3108
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:2485
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:2470
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:2496
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:2478
ApplicationObserverPrx(const ApplicationObserverPrx &other) noexcept
Copy constructor.
Definition Admin.h:2474
Monitors applications.
Definition Admin.h:2465
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 Slice 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:5276
Monitors applications.
Definition Admin.h:5273
virtual void adapterUpdatedAsync(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 updated.
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:6525
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 Slice type IDs.
Monitors dynamically-registered object adapters.
Definition Admin.h:6522
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 Slice 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:6658
Represents an administrative session between an admin tool and an IceGrid registry.
Definition Admin.h:6655
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 information about an application.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice 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:5667
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:5664
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:6454
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
Monitors applications.
Definition Admin.h:6451
FileIteratorPrx ProxyType
The associated proxy type.
Definition Admin.h:6269
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice 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:6266
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 Slice 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:6376
Monitors changes to the state of the nodes.
Definition Admin.h:6373
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:6591
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 Slice type IDs.
Monitors well-known objects that are added, updated or removed using AdminPrx.
Definition Admin.h:6588
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 Slice 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:6320
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:6317
Represents a session object used by IceGrid clients to allocate and release objects.
Definition Session.h:413
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:4278
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:4263
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:4130
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:4115
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:1902
FileIteratorPrx(FileIteratorPrx &&other) noexcept
Move constructor.
Definition Admin.h:1910
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:1928
FileIteratorPrx(const FileIteratorPrx &other) noexcept
Copy constructor.
Definition Admin.h:1906
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:1917
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:1897
std::string reason
The reason for the failure.
Definition Admin.h:4470
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:4455
FileNotAvailableException(const FileNotAvailableException &) noexcept=default
Copy constructor.
NodeObserverPrx & operator=(const NodeObserverPrx &rhs) noexcept
Copy assignment operator.
Definition Admin.h:2233
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:2218
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:2244
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:2222
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:2226
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:2213
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:5208
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 Slice 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:5205
std::string name
The name of the node that is not reachable.
Definition Admin.h:4178
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:4181
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:4163
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:2918
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:2911
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:2929
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:2903
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:2907
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:2898
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 Slice 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:5397
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:5394
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:4403
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:4370
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:4355
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:2046
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:2050
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:2072
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:2061
RegistryObserverPrx(RegistryObserverPrx &&other) noexcept
Move constructor.
Definition Admin.h:2054
Monitors changes to the state of the registries.
Definition Admin.h:2041
RegistryObserverPrx ProxyType
The associated proxy type.
Definition Admin.h:5158
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 Slice 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:5155
Represents the main entry point into the IceGrid registry service.
Definition Registry.h:329
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:4229
std::tuple< const std::string &, const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Admin.h:4214
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:4232
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:265
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:48
Abstract base class for all exceptions defined in Slice.
Communicate through firewalls and across NATs.
std::shared_ptr< AdminSession > AdminSessionPtr
A shared pointer to an AdminSession.
Definition Admin.h:5655
std::shared_ptr< ApplicationObserver > ApplicationObserverPtr
A shared pointer to an ApplicationObserver.
Definition Admin.h:5330
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:119
std::shared_ptr< AdapterObserver > AdapterObserverPtr
A shared pointer to an AdapterObserver.
Definition Admin.h:5388
std::vector< AdapterInfo > AdapterInfoSeq
A sequence of AdapterInfo.
Definition Admin.h:87
std::vector< NodeDynamicInfo > NodeDynamicInfoSeq
A sequence of NodeDynamicInfo.
Definition Admin.h:126
ServerState
Represents the state of a server.
Definition Admin.h:46
@ Deactivating
The server is being deactivated.
Definition Admin.h:61
@ Inactive
The server is not running.
Definition Admin.h:48
@ Active
The server is running.
Definition Admin.h:58
@ Destroying
The server is being destroyed.
Definition Admin.h:64
@ ActivationTimedOut
The server activation timed out.
Definition Admin.h:55
@ Destroyed
The server is destroyed.
Definition Admin.h:67
@ Activating
The server is being activated and will change to the active state when the registered server object a...
Definition Admin.h:52
std::shared_ptr< FileIterator > FileIteratorPtr
A shared pointer to a FileIterator.
Definition Admin.h:5149
std::vector< RegistryInfo > RegistryInfoSeq
A sequence of RegistryInfo.
Definition Admin.h:96
std::shared_ptr< AsyncFileIterator > AsyncFileIteratorPtr
A shared pointer to an AsyncFileIterator.
Definition Admin.h:6311
std::shared_ptr< AsyncApplicationObserver > AsyncApplicationObserverPtr
A shared pointer to an AsyncApplicationObserver.
Definition Admin.h:6516
std::shared_ptr< AsyncAdmin > AsyncAdminPtr
A shared pointer to an AsyncAdmin.
Definition Admin.h:6260
std::shared_ptr< ServerDescriptor > ServerDescriptorPtr
A shared pointer to a ServerDescriptor.
Definition Descriptor.h:78
std::shared_ptr< RegistryObserver > RegistryObserverPtr
A shared pointer to a RegistryObserver.
Definition Admin.h:5199
std::shared_ptr< AsyncNodeObserver > AsyncNodeObserverPtr
A shared pointer to an AsyncNodeObserver.
Definition Admin.h:6445
std::map< std::string, std::optional< Ice::ObjectPrx > > StringObjectProxyDict
A dictionary of string to proxies.
Definition Admin.h:77
std::shared_ptr< NodeObserver > NodeObserverPtr
A shared pointer to a NodeObserver.
Definition Admin.h:5267
std::shared_ptr< Admin > AdminPtr
A shared pointer to an Admin.
Definition Admin.h:5102
std::shared_ptr< ObjectObserver > ObjectObserverPtr
A shared pointer to an ObjectObserver.
Definition Admin.h:5446
std::shared_ptr< AsyncRegistryObserver > AsyncRegistryObserverPtr
A shared pointer to an AsyncRegistryObserver.
Definition Admin.h:6367
std::shared_ptr< AsyncObjectObserver > AsyncObjectObserverPtr
A shared pointer to an AsyncObjectObserver.
Definition Admin.h:6648
std::vector< ServerDynamicInfo > ServerDynamicInfoSeq
A sequence of ServerDynamicInfo.
Definition Admin.h:114
std::shared_ptr< AsyncAdapterObserver > AsyncAdapterObserverPtr
A shared pointer to an AsyncAdapterObserver.
Definition Admin.h:6582
std::vector< ObjectInfo > ObjectInfoSeq
A sequence of ObjectInfo.
Definition Admin.h:82
std::vector< ApplicationInfo > ApplicationInfoSeq
A sequence of ApplicationInfo.
Definition Admin.h:103
std::shared_ptr< AsyncAdminSession > AsyncAdminSessionPtr
A shared pointer to an AsyncAdminSession.
Definition Admin.h:6887
Deploy and manage Ice servers.
Definition Admin.h:40
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:34
The Ice RPC framework.
Definition SampleEvent.h:66
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:4528
std::optional< Ice::ObjectPrx > proxy
The direct proxy containing the adapter endpoints. This proxy is never null.
Definition Admin.h:4524
std::string id
The id of the adapter.
Definition Admin.h:4521
Dynamic information about the state of an adapter.
Definition Admin.h:4519
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:3845
std::string id
The ID of the adapter.
Definition Admin.h:3839
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:3849
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:3842
Information about an adapter registered with the IceGrid registry.
Definition Admin.h:3837
Describes an application.
std::int64_t updateTime
The last update time.
Definition Admin.h:4030
std::int64_t createTime
The creation time.
Definition Admin.h:4024
std::string updateUser
The user who updated the application.
Definition Admin.h:4033
std::string createUser
The user who created the application.
Definition Admin.h:4027
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:4039
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:4043
std::string uuid
Unique application identifier.
Definition Admin.h:4021
std::int32_t revision
The application revision number.
Definition Admin.h:4036
Information about an IceGrid application.
Definition Admin.h:4019
An application update descriptor to describe the updates to apply to a deployed application.
::IceGrid::ApplicationUpdateDescriptor descriptor
The update descriptor.
Definition Admin.h:4074
std::int32_t revision
The application revision number.
Definition Admin.h:4071
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:4078
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:4065
std::string updateUser
The user who updated the application.
Definition Admin.h:4068
Information about updates to an IceGrid application.
Definition Admin.h:4063
float avg5
The load average over the past 5 minutes.
Definition Admin.h:3992
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:3999
float avg15
The load average over the past 15 minutes.
Definition Admin.h:3995
float avg1
The load average over the past minute.
Definition Admin.h:3989
Information about the load of a node.
Definition Admin.h:3987
::IceGrid::NodeInfo info
Some static information about the node.
Definition Admin.h:4550
::IceGrid::AdapterDynamicInfoSeq adapters
The dynamic information of the adapters deployed on this node.
Definition Admin.h:4556
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:4560
::IceGrid::ServerDynamicInfoSeq servers
The dynamic information of the servers deployed on this node.
Definition Admin.h:4553
Dynamic information about the state of a node.
Definition Admin.h:4548
std::string release
The operating system release level.
Definition Admin.h:3921
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:3938
std::string machine
The machine hardware type.
Definition Admin.h:3927
std::string hostname
The network name of the host running this node.
Definition Admin.h:3918
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:3915
std::string version
The operating system version.
Definition Admin.h:3924
std::string name
The name of the node.
Definition Admin.h:3912
std::int32_t nProcessors
The number of processor threads on the node.
Definition Admin.h:3931
std::string dataDir
The path to the node data directory.
Definition Admin.h:3934
Information about an IceGrid node.
Definition Admin.h:3910
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:3817
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:3813
std::optional< Ice::ObjectPrx > proxy
The proxy of the object.
Definition Admin.h:3810
Information about an Ice well-known object.
Definition Admin.h:3808
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:3967
std::string name
The name of the registry.
Definition Admin.h:3960
std::string hostname
The network name of the host running this registry.
Definition Admin.h:3963
Information about an IceGrid registry replica.
Definition Admin.h:3958
::IceGrid::ServerState state
The state of the server.
Definition Admin.h:4489
std::string id
The ID of the server.
Definition Admin.h:4486
std::int32_t pid
The process ID of the server.
Definition Admin.h:4492
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:4499
bool enabled
Indicates whether the server is enabled.
Definition Admin.h:4495
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:4484
::IceGrid::ServerDescriptorPtr descriptor
The server descriptor.
Definition Admin.h:3883
std::string application
The application to which this server belongs.
Definition Admin.h:3871
std::string uuid
The application UUID.
Definition Admin.h:3874
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:3890
std::string sessionId
The ID of the session which allocated the server.
Definition Admin.h:3886
std::string node
The IceGrid node where this server is deployed.
Definition Admin.h:3880
std::int32_t revision
The application revision.
Definition Admin.h:3877
Information about a server managed by an IceGrid node.
Definition Admin.h:3869
Describes a template instantiation that creates a server.
Definition Descriptor.h:639
Provides information about an incoming request being dispatched.
Definition Current.h:18
Represents the identity of an Ice object.
Definition Identity.h:47