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