AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
StartLiveTailHandler.h
1
6#pragma once
7#include <aws/core/client/AWSError.h>
8#include <aws/core/utils/HashingUtils.h>
9#include <aws/core/utils/event/EventStreamHandler.h>
10#include <aws/logs/CloudWatchLogsErrors.h>
11#include <aws/logs/CloudWatchLogs_EXPORTS.h>
12#include <aws/logs/model/LiveTailSessionStart.h>
13#include <aws/logs/model/LiveTailSessionUpdate.h>
14#include <aws/logs/model/StartLiveTailInitialResponse.h>
15
16namespace Aws {
17namespace CloudWatchLogs {
18namespace Model {
20
22 typedef std::function<void(const StartLiveTailInitialResponse&)> StartLiveTailInitialResponseCallback;
23 typedef std::function<void(const StartLiveTailInitialResponse&, const Utils::Event::InitialResponseType)>
24 StartLiveTailInitialResponseCallbackEx;
25 typedef std::function<void(const LiveTailSessionStart&)> LiveTailSessionStartCallback;
26 typedef std::function<void(const LiveTailSessionUpdate&)> LiveTailSessionUpdateCallback;
27 typedef std::function<void(const Aws::Client::AWSError<CloudWatchLogsErrors>& error)> ErrorCallback;
28
29 public:
30 AWS_CLOUDWATCHLOGS_API StartLiveTailHandler();
31 AWS_CLOUDWATCHLOGS_API StartLiveTailHandler& operator=(const StartLiveTailHandler&) = default;
32 AWS_CLOUDWATCHLOGS_API StartLiveTailHandler(const StartLiveTailHandler&) = default;
33
34 AWS_CLOUDWATCHLOGS_API virtual void OnEvent() override;
35
37
43 inline void SetInitialResponseCallbackEx(const StartLiveTailInitialResponseCallbackEx& callback) { m_onInitialResponse = callback; }
47 inline void SetInitialResponseCallback(const StartLiveTailInitialResponseCallback& noArgCallback) {
48 m_onInitialResponse = [noArgCallback](const StartLiveTailInitialResponse& rs, const Utils::Event::InitialResponseType) {
49 return noArgCallback(rs);
50 };
51 }
53 inline void SetLiveTailSessionStartCallback(const LiveTailSessionStartCallback& callback) { m_onLiveTailSessionStart = callback; }
54 inline void SetLiveTailSessionUpdateCallback(const LiveTailSessionUpdateCallback& callback) { m_onLiveTailSessionUpdate = callback; }
55 inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; }
56
57 inline StartLiveTailInitialResponseCallbackEx& GetInitialResponseCallbackEx() { return m_onInitialResponse; }
58
59 private:
60 AWS_CLOUDWATCHLOGS_API void HandleEventInMessage();
61 AWS_CLOUDWATCHLOGS_API void HandleErrorInMessage();
62 AWS_CLOUDWATCHLOGS_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage);
63
64 StartLiveTailInitialResponseCallbackEx m_onInitialResponse;
65 LiveTailSessionStartCallback m_onLiveTailSessionStart;
66 LiveTailSessionUpdateCallback m_onLiveTailSessionUpdate;
67 ErrorCallback m_onError;
68};
69
70namespace StartLiveTailEventMapper {
72
74} // namespace StartLiveTailEventMapper
75} // namespace Model
76} // namespace CloudWatchLogs
77} // namespace Aws
StartLiveTailInitialResponseCallbackEx & GetInitialResponseCallbackEx()
void SetInitialResponseCallbackEx(const StartLiveTailInitialResponseCallbackEx &callback)
virtual AWS_CLOUDWATCHLOGS_API void OnEvent() override
void SetLiveTailSessionUpdateCallback(const LiveTailSessionUpdateCallback &callback)
AWS_CLOUDWATCHLOGS_API StartLiveTailHandler & operator=(const StartLiveTailHandler &)=default
AWS_CLOUDWATCHLOGS_API StartLiveTailHandler(const StartLiveTailHandler &)=default
void SetInitialResponseCallback(const StartLiveTailInitialResponseCallback &noArgCallback)
void SetOnErrorCallback(const ErrorCallback &callback)
void SetLiveTailSessionStartCallback(const LiveTailSessionStartCallback &callback)
AWS_CLOUDWATCHLOGS_API Aws::String GetNameForStartLiveTailEventType(StartLiveTailEventType value)
AWS_CLOUDWATCHLOGS_API StartLiveTailEventType GetStartLiveTailEventTypeForName(const Aws::String &name)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String