Ice 3.9
C++ API Reference
Loading...
Searching...
No Matches
Lookup.h
1// Copyright (c) ZeroC, Inc.
2
3// slice2cpp version 3.9.0-alpha.0
4// <auto-generated>Generated from Slice file 'Lookup.ice'.</auto-generated>
5// clang-format off
6
7#ifndef IceDiscovery_Lookup_h_
8#define IceDiscovery_Lookup_h_
9
11#include <Ice/Ice.h>
12#include <Ice/Identity.h>
13
14#ifndef ICE_DISABLE_VERSION
15# if ICE_INT_VERSION != 30950
16# error Ice version mismatch: an exact match is required for beta generated code
17# endif
18#endif
19
20// NOLINTBEGIN(modernize-concat-nested-namespaces)
21
22namespace IceDiscovery
23{
24 class LookupReplyPrx;
25
26 class LookupPrx;
27}
28
29namespace IceDiscovery
30{
31 /// Represents a callback object implemented by IceDiscovery clients. It allows IceDiscovery clients to receive
32 /// replies to LookupPrx requests.
33 /// @remarks The Slice compiler generated this proxy class from Slice interface `::IceDiscovery::LookupReply`.
34 class LookupReplyPrx : public Ice::Proxy<LookupReplyPrx, Ice::ObjectPrx>
35 {
36 public:
37 /// Constructs a proxy from a Communicator and a proxy string.
38 /// @param communicator The communicator of the new proxy.
39 /// @param proxyString The proxy string to parse.
40 LookupReplyPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
41
42 /// Copy constructor. Constructs with a copy of the contents of @p other.
43 /// @param other The proxy to copy from.
44 LookupReplyPrx(const LookupReplyPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
45
46 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
47 /// @param other The proxy to move from.
48 LookupReplyPrx(LookupReplyPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
49
50 ~LookupReplyPrx() override;
51
52 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
53 /// @param rhs The proxy to copy from.
54 /// @return A reference to this proxy.
56 {
57 if (this != &rhs)
58 {
60 }
61 return *this;
62 }
63
64 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
65 /// @param rhs The proxy to move from.
67 {
68 if (this != &rhs)
69 {
70 Ice::ObjectPrx::operator=(std::move(rhs));
71 }
72 return *this;
73 }
74
75 /// Provides a reply to a ::IceDiscovery::LookupPrx::findObjectById request.
76 /// @param id The identity of the object.
77 /// @param prx The proxy of the object. This proxy is never null.
78 /// @param context The request context.
79 void foundObjectById(const ::Ice::Identity& id, const std::optional<Ice::ObjectPrx>& prx, const Ice::Context& context = Ice::noExplicitContext) const;
80
81 /// Provides a reply to a ::IceDiscovery::LookupPrx::findObjectById request.
82 /// @param id The identity of the object.
83 /// @param prx The proxy of the object. This proxy is never null.
84 /// @param context The request context.
85 /// @return A future that becomes available when the invocation completes.
86 [[nodiscard]] std::future<void> foundObjectByIdAsync(const ::Ice::Identity& id, const std::optional<Ice::ObjectPrx>& prx, const Ice::Context& context = Ice::noExplicitContext) const;
87
88 /// Provides a reply to a ::IceDiscovery::LookupPrx::findObjectById request.
89 /// @param id The identity of the object.
90 /// @param prx The proxy of the object. This proxy is never null.
91 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
92 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
93 /// function.
94 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
95 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
96 /// function.
97 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
98 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
99 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
100 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
101 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
102 /// asynchronous case.
103 /// @param context The request context.
104 /// @return A function that can be called to cancel the invocation locally.
105 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
106 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
107 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
108 /// callbacks, and the request is sent later, by a flush.
109 // NOLINTNEXTLINE(modernize-use-nodiscard)
110 std::function<void()> foundObjectByIdAsync(const ::Ice::Identity& id, const std::optional<Ice::ObjectPrx>& prx, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
111
112 /// @private
113 void _iceI_foundObjectById(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ::Ice::Identity&, const std::optional<Ice::ObjectPrx>&, const Ice::Context&) const;
114
115 /// Provides a reply to a ::IceDiscovery::LookupPrx::findAdapterById request.
116 /// @param id The adapter ID.
117 /// @param prx The adapter proxy (a dummy proxy created by the adapter). The proxy provides the adapter
118 /// endpoints. This proxy is never null.
119 /// @param isReplicaGroup Indicates whether the adapter is a member of a replica group.
120 /// @param context The request context.
121 void foundAdapterById(std::string_view id, const std::optional<Ice::ObjectPrx>& prx, bool isReplicaGroup, const Ice::Context& context = Ice::noExplicitContext) const;
122
123 /// Provides a reply to a ::IceDiscovery::LookupPrx::findAdapterById request.
124 /// @param id The adapter ID.
125 /// @param prx The adapter proxy (a dummy proxy created by the adapter). The proxy provides the adapter
126 /// endpoints. This proxy is never null.
127 /// @param isReplicaGroup Indicates whether the adapter is a member of a replica group.
128 /// @param context The request context.
129 /// @return A future that becomes available when the invocation completes.
130 [[nodiscard]] std::future<void> foundAdapterByIdAsync(std::string_view id, const std::optional<Ice::ObjectPrx>& prx, bool isReplicaGroup, const Ice::Context& context = Ice::noExplicitContext) const;
131
132 /// Provides a reply to a ::IceDiscovery::LookupPrx::findAdapterById request.
133 /// @param id The adapter ID.
134 /// @param prx The adapter proxy (a dummy proxy created by the adapter). The proxy provides the adapter
135 /// endpoints. This proxy is never null.
136 /// @param isReplicaGroup Indicates whether the adapter is a member of a replica group.
137 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
138 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
139 /// function.
140 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
141 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
142 /// function.
143 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
144 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
145 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
146 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
147 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
148 /// asynchronous case.
149 /// @param context The request context.
150 /// @return A function that can be called to cancel the invocation locally.
151 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
152 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
153 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
154 /// callbacks, and the request is sent later, by a flush.
155 // NOLINTNEXTLINE(modernize-use-nodiscard)
156 std::function<void()> foundAdapterByIdAsync(std::string_view id, const std::optional<Ice::ObjectPrx>& prx, bool isReplicaGroup, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
157
158 /// @private
159 void _iceI_foundAdapterById(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const std::optional<Ice::ObjectPrx>&, bool, const Ice::Context&) const;
160
161 /// Gets the type ID of the associated Slice interface.
162 /// @return The string `"::IceDiscovery::LookupReply"`.
163 static const char* ice_staticId() noexcept;
164
165 /// @private
166 static LookupReplyPrx _fromReference(IceInternal::ReferencePtr ref) { return LookupReplyPrx{std::move(ref)}; }
167
168 protected:
169 /// @private
170 LookupReplyPrx() = default;
171
172 /// @private
173 explicit LookupReplyPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
174 {
175 }
176 };
177
178 /// Looks up objects and object adapters using UDP multicast.
179 /// @remarks The Slice compiler generated this proxy class from Slice interface `::IceDiscovery::Lookup`.
180 class LookupPrx : public Ice::Proxy<LookupPrx, Ice::ObjectPrx>
181 {
182 public:
183 /// Constructs a proxy from a Communicator and a proxy string.
184 /// @param communicator The communicator of the new proxy.
185 /// @param proxyString The proxy string to parse.
186 LookupPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
187
188 /// Copy constructor. Constructs with a copy of the contents of @p other.
189 /// @param other The proxy to copy from.
190 LookupPrx(const LookupPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
191
192 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
193 /// @param other The proxy to move from.
194 LookupPrx(LookupPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
195
196 ~LookupPrx() override;
197
198 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
199 /// @param rhs The proxy to copy from.
200 /// @return A reference to this proxy.
201 LookupPrx& operator=(const LookupPrx& rhs) noexcept
202 {
203 if (this != &rhs)
204 {
206 }
207 return *this;
208 }
209
210 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
211 /// @param rhs The proxy to move from.
213 {
214 if (this != &rhs)
215 {
216 Ice::ObjectPrx::operator=(std::move(rhs));
217 }
218 return *this;
219 }
220
221 /// Finds a well-known Ice object.
222 /// @param domainId The IceDiscovery domain identifier. An IceDiscovery client only replies to requests with a
223 /// matching domain identifier.
224 /// @param id The well-known object identity.
225 /// @param reply The proxy of the ::IceDiscovery::LookupReplyPrx interface that should be used to send the reply if a
226 /// matching object is found. The reply proxy is never null.
227 /// @param context The request context.
228 void findObjectById(std::string_view domainId, const ::Ice::Identity& id, const std::optional<LookupReplyPrx>& reply, const Ice::Context& context = Ice::noExplicitContext) const;
229
230 /// Finds a well-known Ice object.
231 /// @param domainId The IceDiscovery domain identifier. An IceDiscovery client only replies to requests with a
232 /// matching domain identifier.
233 /// @param id The well-known object identity.
234 /// @param reply The proxy of the ::IceDiscovery::LookupReplyPrx interface that should be used to send the reply if a
235 /// matching object is found. The reply proxy is never null.
236 /// @param context The request context.
237 /// @return A future that becomes available when the invocation completes.
238 [[nodiscard]] std::future<void> findObjectByIdAsync(std::string_view domainId, const ::Ice::Identity& id, const std::optional<LookupReplyPrx>& reply, const Ice::Context& context = Ice::noExplicitContext) const;
239
240 /// Finds a well-known Ice object.
241 /// @param domainId The IceDiscovery domain identifier. An IceDiscovery client only replies to requests with a
242 /// matching domain identifier.
243 /// @param id The well-known object identity.
244 /// @param reply The proxy of the ::IceDiscovery::LookupReplyPrx interface that should be used to send the reply if a
245 /// matching object is found. The reply proxy is never null.
246 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
247 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
248 /// function.
249 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
250 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
251 /// function.
252 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
253 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
254 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
255 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
256 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
257 /// asynchronous case.
258 /// @param context The request context.
259 /// @return A function that can be called to cancel the invocation locally.
260 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
261 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
262 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
263 /// callbacks, and the request is sent later, by a flush.
264 // NOLINTNEXTLINE(modernize-use-nodiscard)
265 std::function<void()> findObjectByIdAsync(std::string_view domainId, const ::Ice::Identity& id, const std::optional<LookupReplyPrx>& reply, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
266
267 /// @private
268 void _iceI_findObjectById(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const ::Ice::Identity&, const std::optional<LookupReplyPrx>&, const Ice::Context&) const;
269
270 /// Finds an object adapter.
271 /// @param domainId The IceDiscovery domain identifier. An IceDiscovery client only replies to requests with a
272 /// matching domain identifier.
273 /// @param id The adapter ID.
274 /// @param reply The proxy of the ::IceDiscovery::LookupReplyPrx interface that should be used to send the reply if a
275 /// matching adapter is found. The reply proxy is never null.
276 /// @param context The request context.
277 void findAdapterById(std::string_view domainId, std::string_view id, const std::optional<LookupReplyPrx>& reply, const Ice::Context& context = Ice::noExplicitContext) const;
278
279 /// Finds an object adapter.
280 /// @param domainId The IceDiscovery domain identifier. An IceDiscovery client only replies to requests with a
281 /// matching domain identifier.
282 /// @param id The adapter ID.
283 /// @param reply The proxy of the ::IceDiscovery::LookupReplyPrx interface that should be used to send the reply if a
284 /// matching adapter is found. The reply proxy is never null.
285 /// @param context The request context.
286 /// @return A future that becomes available when the invocation completes.
287 [[nodiscard]] std::future<void> findAdapterByIdAsync(std::string_view domainId, std::string_view id, const std::optional<LookupReplyPrx>& reply, const Ice::Context& context = Ice::noExplicitContext) const;
288
289 /// Finds an object adapter.
290 /// @param domainId The IceDiscovery domain identifier. An IceDiscovery client only replies to requests with a
291 /// matching domain identifier.
292 /// @param id The adapter ID.
293 /// @param reply The proxy of the ::IceDiscovery::LookupReplyPrx interface that should be used to send the reply if a
294 /// matching adapter is found. The reply proxy is never null.
295 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
296 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
297 /// function.
298 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
299 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
300 /// function.
301 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
302 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
303 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
304 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
305 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
306 /// asynchronous case.
307 /// @param context The request context.
308 /// @return A function that can be called to cancel the invocation locally.
309 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
310 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
311 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
312 /// callbacks, and the request is sent later, by a flush.
313 // NOLINTNEXTLINE(modernize-use-nodiscard)
314 std::function<void()> findAdapterByIdAsync(std::string_view domainId, std::string_view id, const std::optional<LookupReplyPrx>& reply, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
315
316 /// @private
317 void _iceI_findAdapterById(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, std::string_view, const std::optional<LookupReplyPrx>&, const Ice::Context&) const;
318
319 /// Gets the type ID of the associated Slice interface.
320 /// @return The string `"::IceDiscovery::Lookup"`.
321 static const char* ice_staticId() noexcept;
322
323 /// @private
324 static LookupPrx _fromReference(IceInternal::ReferencePtr ref) { return LookupPrx{std::move(ref)}; }
325
326 protected:
327 /// @private
328 LookupPrx() = default;
329
330 /// @private
331 explicit LookupPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
332 {
333 }
334 };
335}
336
337namespace IceDiscovery
338{
339 /// Represents a callback object implemented by IceDiscovery clients. It allows IceDiscovery clients to receive
340 /// replies to LookupPrx requests.
341 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceDiscovery::LookupReply`.
342 class LookupReply : public virtual Ice::Object
343 {
344 public:
345 /// The associated proxy type.
347
348 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
349 /// @param request The incoming request.
350 /// @param sendResponse The callback to send the response.
351 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
352
353 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
354
355 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
356
357 /// Provides a reply to a ::IceDiscovery::LookupPrx::findObjectById request.
358 /// @param id The identity of the object.
359 /// @param prx The proxy of the object. This proxy is never null.
360 /// @param current The Current object of the incoming request.
361 virtual void foundObjectById(::Ice::Identity id, std::optional<Ice::ObjectPrx> prx, const Ice::Current& current) = 0;
362
363 /// @private
364 void _iceD_foundObjectById(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
365
366 /// Provides a reply to a ::IceDiscovery::LookupPrx::findAdapterById request.
367 /// @param id The adapter ID.
368 /// @param prx The adapter proxy (a dummy proxy created by the adapter). The proxy provides the adapter
369 /// endpoints. This proxy is never null.
370 /// @param isReplicaGroup Indicates whether the adapter is a member of a replica group.
371 /// @param current The Current object of the incoming request.
372 virtual void foundAdapterById(std::string id, std::optional<Ice::ObjectPrx> prx, bool isReplicaGroup, const Ice::Current& current) = 0;
373
374 /// @private
375 void _iceD_foundAdapterById(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
376
377 /// Gets the type ID of the associated Slice interface.
378 /// @return The string `"::IceDiscovery::LookupReply"`.
379 static const char* ice_staticId() noexcept;
380 };
381
382 /// A shared pointer to a LookupReply.
383 using LookupReplyPtr = std::shared_ptr<LookupReply>;
384
385 /// Looks up objects and object adapters using UDP multicast.
386 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceDiscovery::Lookup`.
387 class Lookup : public virtual Ice::Object
388 {
389 public:
390 /// The associated proxy type.
392
393 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
394 /// @param request The incoming request.
395 /// @param sendResponse The callback to send the response.
396 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
397
398 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
399
400 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
401
402 /// Finds a well-known Ice object.
403 /// @param domainId The IceDiscovery domain identifier. An IceDiscovery client only replies to requests with a
404 /// matching domain identifier.
405 /// @param id The well-known object identity.
406 /// @param reply The proxy of the ::IceDiscovery::LookupReplyPrx interface that should be used to send the reply if a
407 /// matching object is found. The reply proxy is never null.
408 /// @param current The Current object of the incoming request.
409 virtual void findObjectById(std::string domainId, ::Ice::Identity id, std::optional<LookupReplyPrx> reply, const Ice::Current& current) = 0;
410
411 /// @private
412 void _iceD_findObjectById(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
413
414 /// Finds an object adapter.
415 /// @param domainId The IceDiscovery domain identifier. An IceDiscovery client only replies to requests with a
416 /// matching domain identifier.
417 /// @param id The adapter ID.
418 /// @param reply The proxy of the ::IceDiscovery::LookupReplyPrx interface that should be used to send the reply if a
419 /// matching adapter is found. The reply proxy is never null.
420 /// @param current The Current object of the incoming request.
421 virtual void findAdapterById(std::string domainId, std::string id, std::optional<LookupReplyPrx> reply, const Ice::Current& current) = 0;
422
423 /// @private
424 void _iceD_findAdapterById(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
425
426 /// Gets the type ID of the associated Slice interface.
427 /// @return The string `"::IceDiscovery::Lookup"`.
428 static const char* ice_staticId() noexcept;
429 };
430
431 /// A shared pointer to a Lookup.
432 using LookupPtr = std::shared_ptr<Lookup>;
433}
434
435namespace IceDiscovery
436{
437 /// Represents a callback object implemented by IceDiscovery clients. It allows IceDiscovery clients to receive
438 /// replies to LookupPrx requests.
439 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceDiscovery::LookupReply`.
440 class AsyncLookupReply : public virtual Ice::Object
441 {
442 public:
443 /// The associated proxy type.
445
446 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
447 /// @param request The incoming request.
448 /// @param sendResponse The callback to send the response.
449 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
450
451 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
452
453 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
454
455 /// Provides a reply to a ::IceDiscovery::LookupPrx::findObjectById request.
456 /// @param id The identity of the object.
457 /// @param prx The proxy of the object. This proxy is never null.
458 /// @param response The response callback.
459 /// @param exception The exception callback.
460 /// @param current The Current object of the incoming request.
461 virtual void foundObjectByIdAsync(::Ice::Identity id, std::optional<Ice::ObjectPrx> prx, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
462
463 /// @private
464 void _iceD_foundObjectById(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
465
466 /// Provides a reply to a ::IceDiscovery::LookupPrx::findAdapterById request.
467 /// @param id The adapter ID.
468 /// @param prx The adapter proxy (a dummy proxy created by the adapter). The proxy provides the adapter
469 /// endpoints. This proxy is never null.
470 /// @param isReplicaGroup Indicates whether the adapter is a member of a replica group.
471 /// @param response The response callback.
472 /// @param exception The exception callback.
473 /// @param current The Current object of the incoming request.
474 virtual void foundAdapterByIdAsync(std::string id, std::optional<Ice::ObjectPrx> prx, bool isReplicaGroup, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
475
476 /// @private
477 void _iceD_foundAdapterById(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
478
479 /// Gets the type ID of the associated Slice interface.
480 /// @return The string `"::IceDiscovery::LookupReply"`.
481 static const char* ice_staticId() noexcept;
482 };
483
484 /// A shared pointer to an AsyncLookupReply.
485 using AsyncLookupReplyPtr = std::shared_ptr<AsyncLookupReply>;
486
487 /// Looks up objects and object adapters using UDP multicast.
488 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::IceDiscovery::Lookup`.
489 class AsyncLookup : public virtual Ice::Object
490 {
491 public:
492 /// The associated proxy type.
494
495 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
496 /// @param request The incoming request.
497 /// @param sendResponse The callback to send the response.
498 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
499
500 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
501
502 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
503
504 /// Finds a well-known Ice object.
505 /// @param domainId The IceDiscovery domain identifier. An IceDiscovery client only replies to requests with a
506 /// matching domain identifier.
507 /// @param id The well-known object identity.
508 /// @param reply The proxy of the ::IceDiscovery::LookupReplyPrx interface that should be used to send the reply if a
509 /// matching object is found. The reply proxy is never null.
510 /// @param response The response callback.
511 /// @param exception The exception callback.
512 /// @param current The Current object of the incoming request.
513 virtual void findObjectByIdAsync(std::string domainId, ::Ice::Identity id, std::optional<LookupReplyPrx> reply, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
514
515 /// @private
516 void _iceD_findObjectById(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
517
518 /// Finds an object adapter.
519 /// @param domainId The IceDiscovery domain identifier. An IceDiscovery client only replies to requests with a
520 /// matching domain identifier.
521 /// @param id The adapter ID.
522 /// @param reply The proxy of the ::IceDiscovery::LookupReplyPrx interface that should be used to send the reply if a
523 /// matching adapter is found. The reply proxy is never null.
524 /// @param response The response callback.
525 /// @param exception The exception callback.
526 /// @param current The Current object of the incoming request.
527 virtual void findAdapterByIdAsync(std::string domainId, std::string id, std::optional<LookupReplyPrx> reply, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
528
529 /// @private
530 void _iceD_findAdapterById(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
531
532 /// Gets the type ID of the associated Slice interface.
533 /// @return The string `"::IceDiscovery::Lookup"`.
534 static const char* ice_staticId() noexcept;
535 };
536
537 /// A shared pointer to an AsyncLookup.
538 using AsyncLookupPtr = std::shared_ptr<AsyncLookup>;
539}
540
541// NOLINTEND(modernize-concat-nested-namespaces)
542
543#include <Ice/PopDisableWarnings.h>
544#endif
virtual void foundAdapterByIdAsync(std::string id, std::optional< Ice::ObjectPrx > prx, bool isReplicaGroup, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Provides a reply to a IceDiscovery::LookupPrx::findAdapterById request.
virtual void foundObjectByIdAsync(::Ice::Identity id, std::optional< Ice::ObjectPrx > prx, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Provides a reply to a IceDiscovery::LookupPrx::findObjectById request.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
LookupReplyPrx ProxyType
The associated proxy type.
Definition Lookup.h:444
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.
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,...
Represents a callback object implemented by IceDiscovery clients.
Definition Lookup.h:441
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.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void findObjectByIdAsync(std::string domainId, ::Ice::Identity id, std::optional< LookupReplyPrx > reply, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Finds a well-known Ice object.
LookupPrx ProxyType
The associated proxy type.
Definition Lookup.h:493
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 findAdapterByIdAsync(std::string domainId, std::string id, std::optional< LookupReplyPrx > reply, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Finds an object adapter.
Looks up objects and object adapters using UDP multicast.
Definition Lookup.h:490
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::function< void()> findAdapterByIdAsync(std::string_view domainId, std::string_view id, const std::optional< LookupReplyPrx > &reply, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Finds an object adapter.
std::future< void > findObjectByIdAsync(std::string_view domainId, const ::Ice::Identity &id, const std::optional< LookupReplyPrx > &reply, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known Ice object.
LookupPrx(LookupPrx &&other) noexcept
Move constructor.
Definition Lookup.h:194
LookupPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Lookup.h:186
void findObjectById(std::string_view domainId, const ::Ice::Identity &id, const std::optional< LookupReplyPrx > &reply, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known Ice object.
std::function< void()> findObjectByIdAsync(std::string_view domainId, const ::Ice::Identity &id, const std::optional< LookupReplyPrx > &reply, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known Ice object.
LookupPrx & operator=(const LookupPrx &rhs) noexcept
Copy assignment operator.
Definition Lookup.h:201
void findAdapterById(std::string_view domainId, std::string_view id, const std::optional< LookupReplyPrx > &reply, const Ice::Context &context=Ice::noExplicitContext) const
Finds an object adapter.
LookupPrx(const LookupPrx &other) noexcept
Copy constructor.
Definition Lookup.h:190
std::future< void > findAdapterByIdAsync(std::string_view domainId, std::string_view id, const std::optional< LookupReplyPrx > &reply, const Ice::Context &context=Ice::noExplicitContext) const
Finds an object adapter.
LookupPrx & operator=(LookupPrx &&rhs) noexcept
Move assignment operator.
Definition Lookup.h:212
Looks up objects and object adapters using UDP multicast.
Definition Lookup.h:181
std::function< void()> foundObjectByIdAsync(const ::Ice::Identity &id, const std::optional< Ice::ObjectPrx > &prx, std::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 a reply to a IceDiscovery::LookupPrx::findObjectById request.
LookupReplyPrx(const LookupReplyPrx &other) noexcept
Copy constructor.
Definition Lookup.h:44
std::function< void()> foundAdapterByIdAsync(std::string_view id, const std::optional< Ice::ObjectPrx > &prx, bool isReplicaGroup, std::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 a reply to a IceDiscovery::LookupPrx::findAdapterById request.
void foundObjectById(const ::Ice::Identity &id, const std::optional< Ice::ObjectPrx > &prx, const Ice::Context &context=Ice::noExplicitContext) const
Provides a reply to a IceDiscovery::LookupPrx::findObjectById request.
LookupReplyPrx(LookupReplyPrx &&other) noexcept
Move constructor.
Definition Lookup.h:48
void foundAdapterById(std::string_view id, const std::optional< Ice::ObjectPrx > &prx, bool isReplicaGroup, const Ice::Context &context=Ice::noExplicitContext) const
Provides a reply to a IceDiscovery::LookupPrx::findAdapterById request.
LookupReplyPrx & operator=(LookupReplyPrx &&rhs) noexcept
Move assignment operator.
Definition Lookup.h:66
std::future< void > foundAdapterByIdAsync(std::string_view id, const std::optional< Ice::ObjectPrx > &prx, bool isReplicaGroup, const Ice::Context &context=Ice::noExplicitContext) const
Provides a reply to a IceDiscovery::LookupPrx::findAdapterById request.
LookupReplyPrx & operator=(const LookupReplyPrx &rhs) noexcept
Copy assignment operator.
Definition Lookup.h:55
std::future< void > foundObjectByIdAsync(const ::Ice::Identity &id, const std::optional< Ice::ObjectPrx > &prx, const Ice::Context &context=Ice::noExplicitContext) const
Provides a reply to a IceDiscovery::LookupPrx::findObjectById request.
LookupReplyPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Lookup.h:40
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
Represents a callback object implemented by IceDiscovery clients.
Definition Lookup.h:35
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 foundAdapterById(std::string id, std::optional< Ice::ObjectPrx > prx, bool isReplicaGroup, const Ice::Current &current)=0
Provides a reply to a IceDiscovery::LookupPrx::findAdapterById request.
virtual void foundObjectById(::Ice::Identity id, std::optional< Ice::ObjectPrx > prx, const Ice::Current &current)=0
Provides a reply to a IceDiscovery::LookupPrx::findObjectById request.
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.
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.
LookupReplyPrx ProxyType
The associated proxy type.
Definition Lookup.h:346
Represents a callback object implemented by IceDiscovery clients.
Definition Lookup.h:343
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,...
LookupPrx ProxyType
The associated proxy type.
Definition Lookup.h:391
virtual void findObjectById(std::string domainId, ::Ice::Identity id, std::optional< LookupReplyPrx > reply, const Ice::Current &current)=0
Finds a well-known Ice object.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void findAdapterById(std::string domainId, std::string id, std::optional< LookupReplyPrx > reply, const Ice::Current &current)=0
Finds an object adapter.
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.
Looks up objects and object adapters using UDP multicast.
Definition Lookup.h:388
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
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::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
Provides information about an incoming request being dispatched.
Definition Current.h:18
Represents the identity of an Ice object.
Definition Identity.h:41