Ice 3.8
C++ API Reference
Loading...
Searching...
No Matches
RemoteLogger.h
1// Copyright (c) ZeroC, Inc.
2
3// slice2cpp version 3.8.3
4// <auto-generated>Generated from Slice file 'RemoteLogger.ice'.</auto-generated>
5// clang-format off
6
7#ifndef Ice_RemoteLogger_h_
8#define Ice_RemoteLogger_h_
9
11#include <Ice/Ice.h>
12#include "BuiltinSequences.h"
13#include <list>
14
15#ifndef ICE_DISABLE_VERSION
16# if ICE_INT_VERSION / 100 != 308
17# error Ice version mismatch!
18# endif
19# if ICE_INT_VERSION % 100 >= 50
20# error Beta header file detected
21# endif
22# if ICE_INT_VERSION % 100 < 3
23# error Ice patch level mismatch!
24# endif
25#endif
26
27// NOLINTBEGIN(modernize-concat-nested-namespaces)
28
29namespace Ice
30{
31 /// Represents the different types of log messages.
32 /// @remarks The Slice compiler generated this enum class from Slice enumeration `::Ice::LogMessageType`.
33 enum class LogMessageType : std::uint8_t
34 {
35 /// The ::Ice::RemoteLoggerPrx received a print message.
37
38 /// The ::Ice::RemoteLoggerPrx received a trace message.
40
41 /// The ::Ice::RemoteLoggerPrx received a warning message.
43
44 /// The ::Ice::RemoteLoggerPrx received an error message.
46 };
47
48 /// Outputs the enumerator name or underlying value of a LogMessageType to a stream.
49 /// @param os The output stream.
50 /// @param value The value to output.
51 /// @return The output stream.
52 ICE_API std::ostream& operator<<(std::ostream& os, LogMessageType value);
53
54 /// A sequence of #LogMessageType.
55 using LogMessageTypeSeq = std::vector<LogMessageType>;
56
57 struct LogMessage;
58
59 /// A sequence of LogMessage.
60 using LogMessageSeq = std::list<LogMessage>;
61
62 class RemoteLoggerPrx;
63
64 class LoggerAdminPrx;
65}
66
67namespace Ice
68{
69 /// Represents an Ice object that accepts log messages. It's called by the implementation of LoggerAdminPrx.
70 /// @remarks The Slice compiler generated this proxy class from Slice interface `::Ice::RemoteLogger`.
71 /// @headerfile Ice/Ice.h
72 class ICE_API RemoteLoggerPrx : public Ice::Proxy<RemoteLoggerPrx, Ice::ObjectPrx>
73 {
74 public:
75 /// Constructs a proxy from a Communicator and a proxy string.
76 /// @param communicator The communicator of the new proxy.
77 /// @param proxyString The proxy string to parse.
78 RemoteLoggerPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
79
80 /// Copy constructor. Constructs with a copy of the contents of @p other.
81 /// @param other The proxy to copy from.
82 RemoteLoggerPrx(const RemoteLoggerPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
83
84 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
85 /// @param other The proxy to move from.
86 RemoteLoggerPrx(RemoteLoggerPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
87
88 ~RemoteLoggerPrx() override;
89
90 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
91 /// @param rhs The proxy to copy from.
92 /// @return A reference to this proxy.
94 {
95 if (this != &rhs)
96 {
98 }
99 return *this;
100 }
101
102 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
103 /// @param rhs The proxy to move from.
105 {
106 if (this != &rhs)
107 {
108 Ice::ObjectPrx::operator=(std::move(rhs));
109 }
110 return *this;
111 }
112
113 /// Attaches a remote logger to the local logger.
114 /// @param prefix The prefix of the associated local Logger.
115 /// @param logMessages Old log messages generated before "now".
116 /// @param context The request context.
117 void init(std::string_view prefix, const LogMessageSeq& logMessages, const Ice::Context& context = Ice::noExplicitContext) const;
118
119 /// Attaches a remote logger to the local logger.
120 /// @param prefix The prefix of the associated local Logger.
121 /// @param logMessages Old log messages generated before "now".
122 /// @param context The request context.
123 /// @return A future that becomes available when the invocation completes.
124 [[nodiscard]] std::future<void> initAsync(std::string_view prefix, const LogMessageSeq& logMessages, const Ice::Context& context = Ice::noExplicitContext) const;
125
126 /// Attaches a remote logger to the local logger.
127 /// @param prefix The prefix of the associated local Logger.
128 /// @param logMessages Old log messages generated before "now".
129 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
130 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
131 /// function.
132 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
133 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
134 /// function.
135 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
136 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
137 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
138 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
139 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
140 /// asynchronous case.
141 /// @param context The request context.
142 /// @return A function that can be called to cancel the invocation locally.
143 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
144 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
145 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
146 /// callbacks, and the request is sent later, by a flush.
147 // NOLINTNEXTLINE(modernize-use-nodiscard)
148 std::function<void()> initAsync(std::string_view prefix, const LogMessageSeq& logMessages, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
149
150 /// @private
151 void _iceI_init(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, const LogMessageSeq&, const Ice::Context&) const;
152
153 /// Logs a LogMessage.
154 /// @param message The message to log.
155 /// @param context The request context.
156 /// @remarks ::Ice::RemoteLoggerPrx::log may be called by ::Ice::LoggerAdminPrx before ::Ice::RemoteLoggerPrx::init.
157 void log(const LogMessage& message, const Ice::Context& context = Ice::noExplicitContext) const;
158
159 /// Logs a LogMessage.
160 /// @param message The message to log.
161 /// @param context The request context.
162 /// @return A future that becomes available when the invocation completes.
163 /// @remarks ::Ice::RemoteLoggerPrx::log may be called by ::Ice::LoggerAdminPrx before ::Ice::RemoteLoggerPrx::init.
164 [[nodiscard]] std::future<void> logAsync(const LogMessage& message, const Ice::Context& context = Ice::noExplicitContext) const;
165
166 /// Logs a LogMessage.
167 /// @param message The message to log.
168 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
169 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
170 /// function.
171 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
172 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
173 /// function.
174 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
175 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
176 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
177 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
178 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
179 /// asynchronous case.
180 /// @param context The request context.
181 /// @return A function that can be called to cancel the invocation locally.
182 /// @remarks ::Ice::RemoteLoggerPrx::log may be called by ::Ice::LoggerAdminPrx before ::Ice::RemoteLoggerPrx::init.
183 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
184 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
185 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
186 /// callbacks, and the request is sent later, by a flush.
187 // NOLINTNEXTLINE(modernize-use-nodiscard)
188 std::function<void()> logAsync(const LogMessage& message, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
189
190 /// @private
191 void _iceI_log(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const LogMessage&, const Ice::Context&) const;
192
193 /// Gets the type ID of the associated Slice interface.
194 /// @return The string `"::Ice::RemoteLogger"`.
195 static const char* ice_staticId() noexcept;
196
197 /// @private
198 static RemoteLoggerPrx _fromReference(IceInternal::ReferencePtr ref) { return RemoteLoggerPrx{std::move(ref)}; }
199
200 protected:
201 /// @private
202 RemoteLoggerPrx() = default;
203
204 /// @private
205 explicit RemoteLoggerPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
206 {
207 }
208 };
209
210 /// Represents the admin facet that allows an Ice application to attach its RemoteLoggerPrx to the local
211 /// logger of an Ice communicator.
212 /// @remarks The Slice compiler generated this proxy class from Slice interface `::Ice::LoggerAdmin`.
213 /// @headerfile Ice/Ice.h
214 class ICE_API LoggerAdminPrx : public Ice::Proxy<LoggerAdminPrx, Ice::ObjectPrx>
215 {
216 public:
217 /// Constructs a proxy from a Communicator and a proxy string.
218 /// @param communicator The communicator of the new proxy.
219 /// @param proxyString The proxy string to parse.
220 LoggerAdminPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
221
222 /// Copy constructor. Constructs with a copy of the contents of @p other.
223 /// @param other The proxy to copy from.
224 LoggerAdminPrx(const LoggerAdminPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
225
226 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
227 /// @param other The proxy to move from.
228 LoggerAdminPrx(LoggerAdminPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
229
230 ~LoggerAdminPrx() override;
231
232 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
233 /// @param rhs The proxy to copy from.
234 /// @return A reference to this proxy.
236 {
237 if (this != &rhs)
238 {
240 }
241 return *this;
242 }
243
244 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
245 /// @param rhs The proxy to move from.
247 {
248 if (this != &rhs)
249 {
250 Ice::ObjectPrx::operator=(std::move(rhs));
251 }
252 return *this;
253 }
254
255 /// Attaches a ::Ice::RemoteLoggerPrx object to the local logger. This operation calls ::Ice::RemoteLoggerPrx::init
256 /// on @p prx.
257 /// @param prx A proxy to the remote logger.
258 /// @param messageTypes The list of message types that the remote logger wishes to receive. An empty list means
259 /// no filtering (send all message types).
260 /// @param traceCategories The categories of traces that the remote logger wishes to receive. This parameter is
261 /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering
262 /// (send all trace categories).
263 /// @param messageMax The maximum number of log messages (of all types) to be provided to
264 /// ::Ice::RemoteLoggerPrx::init. A negative value requests all messages available.
265 /// @param context The request context.
266 /// @throws Ice::RemoteLoggerAlreadyAttachedException Thrown if this remote logger is already attached to this admin
267 /// object.
268 void attachRemoteLogger(const std::optional<RemoteLoggerPrx>& prx, const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, std::int32_t messageMax, const Ice::Context& context = Ice::noExplicitContext) const;
269
270 /// Attaches a ::Ice::RemoteLoggerPrx object to the local logger. This operation calls ::Ice::RemoteLoggerPrx::init
271 /// on @p prx.
272 /// @param prx A proxy to the remote logger.
273 /// @param messageTypes The list of message types that the remote logger wishes to receive. An empty list means
274 /// no filtering (send all message types).
275 /// @param traceCategories The categories of traces that the remote logger wishes to receive. This parameter is
276 /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering
277 /// (send all trace categories).
278 /// @param messageMax The maximum number of log messages (of all types) to be provided to
279 /// ::Ice::RemoteLoggerPrx::init. A negative value requests all messages available.
280 /// @param context The request context.
281 /// @return A future that becomes available when the invocation completes.
282 [[nodiscard]] std::future<void> attachRemoteLoggerAsync(const std::optional<RemoteLoggerPrx>& prx, const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, std::int32_t messageMax, const Ice::Context& context = Ice::noExplicitContext) const;
283
284 /// Attaches a ::Ice::RemoteLoggerPrx object to the local logger. This operation calls ::Ice::RemoteLoggerPrx::init
285 /// on @p prx.
286 /// @param prx A proxy to the remote logger.
287 /// @param messageTypes The list of message types that the remote logger wishes to receive. An empty list means
288 /// no filtering (send all message types).
289 /// @param traceCategories The categories of traces that the remote logger wishes to receive. This parameter is
290 /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering
291 /// (send all trace categories).
292 /// @param messageMax The maximum number of log messages (of all types) to be provided to
293 /// ::Ice::RemoteLoggerPrx::init. A negative value requests all messages available.
294 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
295 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
296 /// function.
297 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
298 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
299 /// function.
300 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
301 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
302 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
303 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
304 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
305 /// asynchronous case.
306 /// @param context The request context.
307 /// @return A function that can be called to cancel the invocation locally.
308 // NOLINTNEXTLINE(modernize-use-nodiscard)
309 std::function<void()> attachRemoteLoggerAsync(const std::optional<RemoteLoggerPrx>& prx, const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, std::int32_t messageMax, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
310
311 /// @private
312 void _iceI_attachRemoteLogger(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const std::optional<RemoteLoggerPrx>&, const LogMessageTypeSeq&, const StringSeq&, std::int32_t, const Ice::Context&) const;
313
314 /// Detaches a ::Ice::RemoteLoggerPrx object from the local logger.
315 /// @param prx A proxy to the remote logger.
316 /// @param context The request context.
317 /// @return `true` if the provided remote logger proxy was detached, and `false` otherwise.
318 bool detachRemoteLogger(const std::optional<RemoteLoggerPrx>& prx, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
319
320 /// Detaches a ::Ice::RemoteLoggerPrx object from the local logger.
321 /// @param prx A proxy to the remote logger.
322 /// @param context The request context.
323 /// @return A future that becomes available when the invocation completes. This future holds:
324 /// - `true` if the provided remote logger proxy was detached, and `false` otherwise.
325 [[nodiscard]] std::future<bool> detachRemoteLoggerAsync(const std::optional<RemoteLoggerPrx>& prx, const Ice::Context& context = Ice::noExplicitContext) const;
326
327 /// Detaches a ::Ice::RemoteLoggerPrx object from the local logger.
328 /// @param prx A proxy to the remote logger.
329 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
330 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
331 /// function. It accepts:
332 /// - `true` if the provided remote logger proxy was detached, and `false` otherwise.
333 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
334 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
335 /// function.
336 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
337 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
338 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
339 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
340 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
341 /// asynchronous case.
342 /// @param context The request context.
343 /// @return A function that can be called to cancel the invocation locally.
344 // NOLINTNEXTLINE(modernize-use-nodiscard)
345 std::function<void()> detachRemoteLoggerAsync(const std::optional<RemoteLoggerPrx>& prx, 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;
346
347 /// @private
348 void _iceI_detachRemoteLogger(const std::shared_ptr<IceInternal::OutgoingAsyncT<bool>>&, const std::optional<RemoteLoggerPrx>&, const Ice::Context&) const;
349
350 /// Retrieves recently logged log messages.
351 /// @param messageTypes The list of message types that the caller wishes to receive. An empty list means no
352 /// filtering (send all message types).
353 /// @param traceCategories The categories of traces that the caller wishes to receive. This parameter is
354 /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering (send
355 /// all trace categories).
356 /// @param messageMax The maximum number of log messages (of all types) to be returned. A negative value
357 /// requests all messages available.
358 /// @param[out] prefix The prefix of the associated local logger.
359 /// @param context The request context.
360 /// @return The log messages.
361 LogMessageSeq getLog(const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, std::int32_t messageMax, std::string& prefix, const Ice::Context& context = Ice::noExplicitContext) const;
362
363 /// Retrieves recently logged log messages.
364 /// @param messageTypes The list of message types that the caller wishes to receive. An empty list means no
365 /// filtering (send all message types).
366 /// @param traceCategories The categories of traces that the caller wishes to receive. This parameter is
367 /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering (send
368 /// all trace categories).
369 /// @param messageMax The maximum number of log messages (of all types) to be returned. A negative value
370 /// requests all messages available.
371 /// @param context The request context.
372 /// @return A future that becomes available when the invocation completes. This future holds:
373 /// - `returnValue` The log messages.
374 /// - `prefix` The prefix of the associated local logger.
375 [[nodiscard]] std::future<std::tuple<LogMessageSeq, std::string>> getLogAsync(const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, std::int32_t messageMax, const Ice::Context& context = Ice::noExplicitContext) const;
376
377 /// Retrieves recently logged log messages.
378 /// @param messageTypes The list of message types that the caller wishes to receive. An empty list means no
379 /// filtering (send all message types).
380 /// @param traceCategories The categories of traces that the caller wishes to receive. This parameter is
381 /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering (send
382 /// all trace categories).
383 /// @param messageMax The maximum number of log messages (of all types) to be returned. A negative value
384 /// requests all messages available.
385 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
386 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
387 /// function. It accepts:
388 /// - `returnValue` The log messages.
389 /// - `prefix` The prefix of the associated local logger.
390 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
391 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
392 /// function.
393 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
394 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
395 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
396 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
397 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
398 /// asynchronous case.
399 /// @param context The request context.
400 /// @return A function that can be called to cancel the invocation locally.
401 // NOLINTNEXTLINE(modernize-use-nodiscard)
402 std::function<void()> getLogAsync(const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, std::int32_t messageMax, std::function<void(::Ice::LogMessageSeq, std::string)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
403
404 /// @private
405 void _iceI_getLog(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::tuple<LogMessageSeq, std::string>>>&, const LogMessageTypeSeq&, const StringSeq&, std::int32_t, const Ice::Context&) const;
406
407 /// Gets the type ID of the associated Slice interface.
408 /// @return The string `"::Ice::LoggerAdmin"`.
409 static const char* ice_staticId() noexcept;
410
411 /// @private
412 static LoggerAdminPrx _fromReference(IceInternal::ReferencePtr ref) { return LoggerAdminPrx{std::move(ref)}; }
413
414 protected:
415 /// @private
416 LoggerAdminPrx() = default;
417
418 /// @private
419 explicit LoggerAdminPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
420 {
421 }
422 };
423}
424
425namespace Ice
426{
427 /// Represents a full log message.
428 /// @remarks The Slice compiler generated this struct from Slice struct `::Ice::LogMessage`.
429 /// @headerfile Ice/Ice.h
431 {
432 /// The type of message sent to the ::Ice::RemoteLoggerPrx.
434
435 /// The date and time when the ::Ice::RemoteLoggerPrx received this message, expressed as the number of
436 /// microseconds since the Unix Epoch (00:00:00 UTC on 1 January 1970).
437 std::int64_t timestamp;
438
439 /// For a message of type 'trace', the trace category of this log message; otherwise, the empty string.
440 std::string traceCategory;
441
442 /// The log message itself.
443 std::string message;
444
445 /// Creates a tuple with all the fields of this struct.
446 /// @return A tuple with all the fields of this struct.
447 [[nodiscard]] std::tuple<const ::Ice::LogMessageType&, const std::int64_t&, const std::string&, const std::string&> ice_tuple() const
448 {
449 return std::tie(type, timestamp, traceCategory, message);
450 }
451
452 /// Outputs the name and value of each field of this instance to the stream.
453 /// @param os The output stream.
454 ICE_API void ice_printFields(std::ostream& os) const;
455 };
456
457 /// Outputs the description of a LogMessage to a stream, including all its fields.
458 /// @param os The output stream.
459 /// @param value The instance to output.
460 /// @return The output stream.
461 ICE_API std::ostream& operator<<(std::ostream& os, const LogMessage& value);
462
463 /// Thrown when the provided RemoteLoggerPrx was previously attached to a LoggerAdminPrx.
464 /// @remarks The Slice compiler generated this exception class from Slice exception `::Ice::RemoteLoggerAlreadyAttachedException`.
465 /// @headerfile Ice/Ice.h
467 {
468 public:
469 /// Gets the type ID of the associated Slice exception.
470 /// @return The string `"::Ice::RemoteLoggerAlreadyAttachedException"`.
471 static const char* ice_staticId() noexcept;
472
473 [[nodiscard]] const char* ice_id() const noexcept override;
474
475 void ice_throw() const override;
476
477 protected:
478 /// @private
479 void _writeImpl(Ice::OutputStream*) const override;
480
481 /// @private
482 void _readImpl(Ice::InputStream*) override;
483 };
484
485 /// @cond INTERNAL
486 using Ice::Tuple::operator<;
487 using Ice::Tuple::operator<=;
488 using Ice::Tuple::operator>;
489 using Ice::Tuple::operator>=;
490 using Ice::Tuple::operator==;
491 using Ice::Tuple::operator!=;
492 /// @endcond
493}
494
495namespace Ice
496{
497 /// Represents an Ice object that accepts log messages. It's called by the implementation of LoggerAdminPrx.
498 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Ice::RemoteLogger`.
499 /// @headerfile Ice/Ice.h
500 class ICE_API RemoteLogger : public virtual Ice::Object
501 {
502 public:
503 /// The associated proxy type.
505
506 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
507 /// @param request The incoming request.
508 /// @param sendResponse The callback to send the response.
509 void dispatch(IncomingRequest& request, std::function<void(OutgoingResponse)> sendResponse) override;
510
511 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
512
513 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
514
515 /// Attaches a remote logger to the local logger.
516 /// @param prefix The prefix of the associated local Logger.
517 /// @param logMessages Old log messages generated before "now".
518 /// @param current The Current object of the incoming request.
519 virtual void init(std::string prefix, LogMessageSeq logMessages, const Ice::Current& current) = 0;
520
521 /// @private
522 void _iceD_init(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
523
524 /// Logs a LogMessage.
525 /// @param message The message to log.
526 /// @param current The Current object of the incoming request.
527 /// @remarks ::Ice::RemoteLoggerPrx::log may be called by ::Ice::LoggerAdminPrx before ::Ice::RemoteLoggerPrx::init.
528 virtual void log(LogMessage message, const Ice::Current& current) = 0;
529
530 /// @private
531 void _iceD_log(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
532
533 /// Gets the type ID of the associated Slice interface.
534 /// @return The string `"::Ice::RemoteLogger"`.
535 static const char* ice_staticId() noexcept;
536 };
537
538 /// A shared pointer to a RemoteLogger.
539 using RemoteLoggerPtr = std::shared_ptr<RemoteLogger>;
540
541 /// Represents the admin facet that allows an Ice application to attach its RemoteLoggerPrx to the local
542 /// logger of an Ice communicator.
543 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Ice::LoggerAdmin`.
544 /// @headerfile Ice/Ice.h
545 class ICE_API LoggerAdmin : public virtual Ice::Object
546 {
547 public:
548 /// The associated proxy type.
549 using ProxyType = LoggerAdminPrx;
550
551 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
552 /// @param request The incoming request.
553 /// @param sendResponse The callback to send the response.
554 void dispatch(IncomingRequest& request, std::function<void(OutgoingResponse)> sendResponse) override;
555
556 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
557
558 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
559
560 /// Attaches a ::Ice::RemoteLoggerPrx object to the local logger. This operation calls ::Ice::RemoteLoggerPrx::init
561 /// on @p prx.
562 /// @param prx A proxy to the remote logger.
563 /// @param messageTypes The list of message types that the remote logger wishes to receive. An empty list means
564 /// no filtering (send all message types).
565 /// @param traceCategories The categories of traces that the remote logger wishes to receive. This parameter is
566 /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering
567 /// (send all trace categories).
568 /// @param messageMax The maximum number of log messages (of all types) to be provided to
569 /// ::Ice::RemoteLoggerPrx::init. A negative value requests all messages available.
570 /// @param current The Current object of the incoming request.
571 /// @throws Ice::RemoteLoggerAlreadyAttachedException Thrown if this remote logger is already attached to this admin
572 /// object.
573 virtual void attachRemoteLogger(std::optional<RemoteLoggerPrx> prx, LogMessageTypeSeq messageTypes, StringSeq traceCategories, std::int32_t messageMax, const Ice::Current& current) = 0;
574
575 /// @private
576 void _iceD_attachRemoteLogger(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
577
578 /// Detaches a ::Ice::RemoteLoggerPrx object from the local logger.
579 /// @param prx A proxy to the remote logger.
580 /// @param current The Current object of the incoming request.
581 /// @return `true` if the provided remote logger proxy was detached, and `false` otherwise.
582 virtual bool detachRemoteLogger(std::optional<RemoteLoggerPrx> prx, const Ice::Current& current) = 0;
583
584 /// @private
585 void _iceD_detachRemoteLogger(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
586
587 /// Retrieves recently logged log messages.
588 /// @param messageTypes The list of message types that the caller wishes to receive. An empty list means no
589 /// filtering (send all message types).
590 /// @param traceCategories The categories of traces that the caller wishes to receive. This parameter is
591 /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering (send
592 /// all trace categories).
593 /// @param messageMax The maximum number of log messages (of all types) to be returned. A negative value
594 /// requests all messages available.
595 /// @param[out] prefix The prefix of the associated local logger.
596 /// @param current The Current object of the incoming request.
597 /// @return The log messages.
598 virtual LogMessageSeq getLog(LogMessageTypeSeq messageTypes, StringSeq traceCategories, std::int32_t messageMax, std::string& prefix, const Ice::Current& current) = 0;
599
600 /// @private
601 void _iceD_getLog(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
602
603 /// Gets the type ID of the associated Slice interface.
604 /// @return The string `"::Ice::LoggerAdmin"`.
605 static const char* ice_staticId() noexcept;
606 };
607
608 /// A shared pointer to a LoggerAdmin.
609 using LoggerAdminPtr = std::shared_ptr<LoggerAdmin>;
610}
611
612namespace Ice
613{
614 /// Represents an Ice object that accepts log messages. It's called by the implementation of LoggerAdminPrx.
615 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Ice::RemoteLogger`.
616 /// @headerfile Ice/Ice.h
617 class ICE_API AsyncRemoteLogger : public virtual Ice::Object
618 {
619 public:
620 /// The associated proxy type.
622
623 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
624 /// @param request The incoming request.
625 /// @param sendResponse The callback to send the response.
626 void dispatch(IncomingRequest& request, std::function<void(OutgoingResponse)> sendResponse) override;
627
628 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
629
630 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
631
632 /// Attaches a remote logger to the local logger.
633 /// @param prefix The prefix of the associated local Logger.
634 /// @param logMessages Old log messages generated before "now".
635 /// @param response The response callback.
636 /// @param exception The exception callback.
637 /// @param current The Current object of the incoming request.
638 virtual void initAsync(std::string prefix, LogMessageSeq logMessages, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
639
640 /// @private
641 void _iceD_init(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
642
643 /// Logs a LogMessage.
644 /// @param message The message to log.
645 /// @param response The response callback.
646 /// @param exception The exception callback.
647 /// @param current The Current object of the incoming request.
648 /// @remarks ::Ice::RemoteLoggerPrx::log may be called by ::Ice::LoggerAdminPrx before ::Ice::RemoteLoggerPrx::init.
649 virtual void logAsync(LogMessage message, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
650
651 /// @private
652 void _iceD_log(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
653
654 /// Gets the type ID of the associated Slice interface.
655 /// @return The string `"::Ice::RemoteLogger"`.
656 static const char* ice_staticId() noexcept;
657 };
658
659 /// A shared pointer to an AsyncRemoteLogger.
660 using AsyncRemoteLoggerPtr = std::shared_ptr<AsyncRemoteLogger>;
661
662 /// Represents the admin facet that allows an Ice application to attach its RemoteLoggerPrx to the local
663 /// logger of an Ice communicator.
664 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Ice::LoggerAdmin`.
665 /// @headerfile Ice/Ice.h
666 class ICE_API AsyncLoggerAdmin : public virtual Ice::Object
667 {
668 public:
669 /// The associated proxy type.
671
672 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
673 /// @param request The incoming request.
674 /// @param sendResponse The callback to send the response.
675 void dispatch(IncomingRequest& request, std::function<void(OutgoingResponse)> sendResponse) override;
676
677 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
678
679 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
680
681 /// Attaches a ::Ice::RemoteLoggerPrx object to the local logger. This operation calls ::Ice::RemoteLoggerPrx::init
682 /// on @p prx.
683 /// @param prx A proxy to the remote logger.
684 /// @param messageTypes The list of message types that the remote logger wishes to receive. An empty list means
685 /// no filtering (send all message types).
686 /// @param traceCategories The categories of traces that the remote logger wishes to receive. This parameter is
687 /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering
688 /// (send all trace categories).
689 /// @param messageMax The maximum number of log messages (of all types) to be provided to
690 /// ::Ice::RemoteLoggerPrx::init. A negative value requests all messages available.
691 /// @param response The response callback.
692 /// @param exception The exception callback.
693 /// @param current The Current object of the incoming request.
694 /// @throws Ice::RemoteLoggerAlreadyAttachedException Thrown if this remote logger is already attached to this admin
695 /// object.
696 virtual void attachRemoteLoggerAsync(std::optional<RemoteLoggerPrx> prx, LogMessageTypeSeq messageTypes, StringSeq traceCategories, std::int32_t messageMax, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
697
698 /// @private
699 void _iceD_attachRemoteLogger(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
700
701 /// Detaches a ::Ice::RemoteLoggerPrx object from the local logger.
702 /// @param prx A proxy to the remote logger.
703 /// @param response The response callback. It accepts:
704 /// - `true` if the provided remote logger proxy was detached, and `false` otherwise.
705 /// @param exception The exception callback.
706 /// @param current The Current object of the incoming request.
707 virtual void detachRemoteLoggerAsync(std::optional<RemoteLoggerPrx> prx, std::function<void(bool returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
708
709 /// @private
710 void _iceD_detachRemoteLogger(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
711
712 /// Retrieves recently logged log messages.
713 /// @param messageTypes The list of message types that the caller wishes to receive. An empty list means no
714 /// filtering (send all message types).
715 /// @param traceCategories The categories of traces that the caller wishes to receive. This parameter is
716 /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering (send
717 /// all trace categories).
718 /// @param messageMax The maximum number of log messages (of all types) to be returned. A negative value
719 /// requests all messages available.
720 /// @param response The response callback. It accepts:
721 /// - `returnValue` The log messages.
722 /// - `prefix` The prefix of the associated local logger.
723 /// @param exception The exception callback.
724 /// @param current The Current object of the incoming request.
725 virtual void getLogAsync(LogMessageTypeSeq messageTypes, StringSeq traceCategories, std::int32_t messageMax, std::function<void(const LogMessageSeq& returnValue, std::string_view prefix)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
726
727 /// @private
728 void _iceD_getLog(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
729
730 /// Gets the type ID of the associated Slice interface.
731 /// @return The string `"::Ice::LoggerAdmin"`.
732 static const char* ice_staticId() noexcept;
733 };
734
735 /// A shared pointer to an AsyncLoggerAdmin.
736 using AsyncLoggerAdminPtr = std::shared_ptr<AsyncLoggerAdmin>;
737}
738
739namespace Ice
740{
741 /// @cond INTERNAL
742 template<>
744 {
745 static constexpr StreamHelperCategory helper = StreamHelperCategoryEnum;
746 static constexpr int minValue = 0;
747 static constexpr int maxValue = 3;
748 static constexpr int minWireSize = 1;
749 static constexpr bool fixedLength = false;
750 };
751 /// @endcond
752
753 /// @cond INTERNAL
754 template<>
756 {
757 static constexpr StreamHelperCategory helper = StreamHelperCategoryStruct;
758 static constexpr int minWireSize = 11;
759 static constexpr bool fixedLength = false;
760 };
761
762 template<>
763 struct StreamReader<::Ice::LogMessage>
764 {
765 /// Unmarshals a ::Ice::LogMessage from the input stream.
766 static void read(InputStream* istr, ::Ice::LogMessage& v)
767 {
768 istr->readAll(v.type, v.timestamp, v.traceCategory, v.message);
769 }
770 };
771 /// @endcond
772}
773
774// NOLINTEND(modernize-concat-nested-namespaces)
775
777#endif
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
void dispatch(IncomingRequest &request, std::function< void(OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
LoggerAdminPrx ProxyType
The associated proxy type.
virtual void getLogAsync(LogMessageTypeSeq messageTypes, StringSeq traceCategories, std::int32_t messageMax, std::function< void(const LogMessageSeq &returnValue, std::string_view prefix)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Retrieves recently logged log messages.
virtual void attachRemoteLoggerAsync(std::optional< RemoteLoggerPrx > prx, LogMessageTypeSeq messageTypes, StringSeq traceCategories, std::int32_t messageMax, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Attaches a Ice::RemoteLoggerPrx object to the local logger.
virtual void detachRemoteLoggerAsync(std::optional< RemoteLoggerPrx > prx, std::function< void(bool returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Detaches a Ice::RemoteLoggerPrx object from the local logger.
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.
Represents the admin facet that allows an Ice application to attach its RemoteLoggerPrx to the local ...
RemoteLoggerPrx ProxyType
The associated proxy type.
virtual void logAsync(LogMessage message, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Logs a LogMessage.
void dispatch(IncomingRequest &request, std::function< void(OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
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 initAsync(std::string prefix, LogMessageSeq logMessages, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Attaches a remote logger to the local logger.
Represents an Ice object that accepts log messages.
Represents a request received by a connection.
void readAll(T &v)
Reads a value (single element list) from the stream.
Represents a byte buffer used for unmarshaling data encoded using the Slice encoding.
Definition InputStream.h:50
LoggerAdminPrx(const LoggerAdminPrx &other) noexcept
Copy constructor.
bool detachRemoteLogger(const std::optional< RemoteLoggerPrx > &prx, const Ice::Context &context=Ice::noExplicitContext) const
Detaches a Ice::RemoteLoggerPrx object from the local logger.
std::function< void()> detachRemoteLoggerAsync(const std::optional< RemoteLoggerPrx > &prx, 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
Detaches a Ice::RemoteLoggerPrx object from the local logger.
LoggerAdminPrx & operator=(const LoggerAdminPrx &rhs) noexcept
Copy assignment operator.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::future< void > attachRemoteLoggerAsync(const std::optional< RemoteLoggerPrx > &prx, const LogMessageTypeSeq &messageTypes, const StringSeq &traceCategories, std::int32_t messageMax, const Ice::Context &context=Ice::noExplicitContext) const
Attaches a Ice::RemoteLoggerPrx object to the local logger.
LoggerAdminPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
std::function< void()> attachRemoteLoggerAsync(const std::optional< RemoteLoggerPrx > &prx, const LogMessageTypeSeq &messageTypes, const StringSeq &traceCategories, std::int32_t messageMax, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Attaches a Ice::RemoteLoggerPrx object to the local logger.
LogMessageSeq getLog(const LogMessageTypeSeq &messageTypes, const StringSeq &traceCategories, std::int32_t messageMax, std::string &prefix, const Ice::Context &context=Ice::noExplicitContext) const
Retrieves recently logged log messages.
LoggerAdminPrx(LoggerAdminPrx &&other) noexcept
Move constructor.
LoggerAdminPrx & operator=(LoggerAdminPrx &&rhs) noexcept
Move assignment operator.
void attachRemoteLogger(const std::optional< RemoteLoggerPrx > &prx, const LogMessageTypeSeq &messageTypes, const StringSeq &traceCategories, std::int32_t messageMax, const Ice::Context &context=Ice::noExplicitContext) const
Attaches a Ice::RemoteLoggerPrx object to the local logger.
std::future< bool > detachRemoteLoggerAsync(const std::optional< RemoteLoggerPrx > &prx, const Ice::Context &context=Ice::noExplicitContext) const
Detaches a Ice::RemoteLoggerPrx object from the local logger.
std::future< std::tuple< LogMessageSeq, std::string > > getLogAsync(const LogMessageTypeSeq &messageTypes, const StringSeq &traceCategories, std::int32_t messageMax, const Ice::Context &context=Ice::noExplicitContext) const
Retrieves recently logged log messages.
std::function< void()> getLogAsync(const LogMessageTypeSeq &messageTypes, const StringSeq &traceCategories, std::int32_t messageMax, std::function< void(::Ice::LogMessageSeq, std::string)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Retrieves recently logged log messages.
Represents the admin facet that allows an Ice application to attach its RemoteLoggerPrx to the local ...
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.
Represents a byte buffer used for marshaling data using the Slice encoding.
Provides typed proxy functions.
Definition Proxy.h:48
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.
Thrown when the provided RemoteLoggerPrx was previously attached to a LoggerAdminPrx.
RemoteLoggerPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
void log(const LogMessage &message, const Ice::Context &context=Ice::noExplicitContext) const
Logs a LogMessage.
std::function< void()> initAsync(std::string_view prefix, const LogMessageSeq &logMessages, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Attaches a remote logger to the local logger.
RemoteLoggerPrx & operator=(RemoteLoggerPrx &&rhs) noexcept
Move assignment operator.
RemoteLoggerPrx(RemoteLoggerPrx &&other) noexcept
Move constructor.
RemoteLoggerPrx & operator=(const RemoteLoggerPrx &rhs) noexcept
Copy assignment operator.
std::future< void > logAsync(const LogMessage &message, const Ice::Context &context=Ice::noExplicitContext) const
Logs a LogMessage.
void init(std::string_view prefix, const LogMessageSeq &logMessages, const Ice::Context &context=Ice::noExplicitContext) const
Attaches a remote logger to the local logger.
std::function< void()> logAsync(const LogMessage &message, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Logs a LogMessage.
RemoteLoggerPrx(const RemoteLoggerPrx &other) noexcept
Copy constructor.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::future< void > initAsync(std::string_view prefix, const LogMessageSeq &logMessages, const Ice::Context &context=Ice::noExplicitContext) const
Attaches a remote logger to the local logger.
Represents an Ice object that accepts log messages.
virtual void log(LogMessage message, const Ice::Current &current)=0
Logs a LogMessage.
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.
RemoteLoggerPrx ProxyType
The associated proxy type.
void dispatch(IncomingRequest &request, std::function< void(OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
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.
virtual void init(std::string prefix, LogMessageSeq logMessages, const Ice::Current &current)=0
Attaches a remote logger to the local logger.
Represents an Ice object that accepts log messages.
Abstract base class for all exceptions defined in Slice.
Relational operators for generated structs.
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::list< LogMessage > LogMessageSeq
A sequence of LogMessage.
std::shared_ptr< LoggerAdmin > LoggerAdminPtr
A shared pointer to a LoggerAdmin.
LogMessageType
Represents the different types of log messages.
@ TraceMessage
The Ice::RemoteLoggerPrx received a trace message.
@ PrintMessage
The Ice::RemoteLoggerPrx received a print message.
@ ErrorMessage
The Ice::RemoteLoggerPrx received an error message.
@ WarningMessage
The Ice::RemoteLoggerPrx received a warning message.
constexpr StreamHelperCategory StreamHelperCategoryEnum
Generated enum types.
int StreamHelperCategory
The stream helper category allows to select a StreamHelper specialization for a specific category of ...
std::vector< std::string > StringSeq
A sequence of strings.
constexpr StreamHelperCategory StreamHelperCategoryStruct
Generated struct types.
std::vector< LogMessageType > LogMessageTypeSeq
A sequence of LogMessageType.
std::ostream & operator<<(std::ostream &os, const Identity &value)
Outputs the description of an Identity to a stream, including all its fields.
std::shared_ptr< AsyncLoggerAdmin > AsyncLoggerAdminPtr
A shared pointer to an AsyncLoggerAdmin.
std::shared_ptr< RemoteLogger > RemoteLoggerPtr
A shared pointer to a RemoteLogger.
std::map< std::string, std::string, std::less<> > Context
Represents additional information carried by an Ice request.
Definition Context.h:34
std::shared_ptr< AsyncRemoteLogger > AsyncRemoteLoggerPtr
A shared pointer to an AsyncRemoteLogger.
The Ice RPC framework.
Definition SampleEvent.h:66
Provides information about an incoming request being dispatched.
Definition Current.h:18
std::tuple< const ::Ice::LogMessageType &, const std::int64_t &, const std::string &, const std::string & > ice_tuple() const
Creates a tuple with all the fields of this struct.
std::string message
The log message itself.
::Ice::LogMessageType type
The type of message sent to the Ice::RemoteLoggerPrx.
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::string traceCategory
For a message of type 'trace', the trace category of this log message; otherwise, the empty string.
std::int64_t timestamp
The date and time when the Ice::RemoteLoggerPrx received this message, expressed as the number of mic...
Represents a full log message.
Provides traits for a type that can be marshaled or unmarshaled to/from a stream of bytes using the S...