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