AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
InvokeAssistantHandler.h
1
6#pragma once
7#include <aws/core/utils/HashingUtils.h>
8#include <aws/core/utils/event/EventStreamHandler.h>
9#include <aws/core/client/AWSError.h>
10#include <aws/iotsitewise/IoTSiteWise_EXPORTS.h>
11#include <aws/iotsitewise/IoTSiteWiseErrors.h>
12
13#include <aws/iotsitewise/model/InvokeAssistantInitialResponse.h>
14#include <aws/iotsitewise/model/Trace.h>
15#include <aws/iotsitewise/model/InvocationOutput.h>
16
17namespace Aws
18{
19namespace IoTSiteWise
20{
21namespace Model
22{
24 {
26 TRACE,
27 OUTPUT,
29 };
30
32 {
33 typedef std::function<void(const InvokeAssistantInitialResponse&)> InvokeAssistantInitialResponseCallback;
34 typedef std::function<void(const InvokeAssistantInitialResponse&, const Utils::Event::InitialResponseType)> InvokeAssistantInitialResponseCallbackEx;
35 typedef std::function<void(const Trace&)> TraceCallback;
36 typedef std::function<void(const InvocationOutput&)> InvocationOutputCallback;
37 typedef std::function<void(const Aws::Client::AWSError<IoTSiteWiseErrors>& error)> ErrorCallback;
38
39 public:
40 AWS_IOTSITEWISE_API InvokeAssistantHandler();
41 AWS_IOTSITEWISE_API InvokeAssistantHandler& operator=(const InvokeAssistantHandler&) = default;
42 AWS_IOTSITEWISE_API InvokeAssistantHandler(const InvokeAssistantHandler&) = default;
43
44 AWS_IOTSITEWISE_API virtual void OnEvent() override;
45
47
53 inline void SetInitialResponseCallbackEx(const InvokeAssistantInitialResponseCallbackEx& callback) { m_onInitialResponse = callback; }
57 inline void SetInitialResponseCallback(const InvokeAssistantInitialResponseCallback& noArgCallback)
58 {
59 m_onInitialResponse = [noArgCallback](const InvokeAssistantInitialResponse& rs, const Utils::Event::InitialResponseType) { return noArgCallback(rs); };
60 }
62 inline void SetTraceCallback(const TraceCallback& callback) { m_onTrace = callback; }
63 inline void SetInvocationOutputCallback(const InvocationOutputCallback& callback) { m_onInvocationOutput = callback; }
64 inline void SetOnErrorCallback(const ErrorCallback& callback) { m_onError = callback; }
65
66 inline InvokeAssistantInitialResponseCallbackEx& GetInitialResponseCallbackEx() { return m_onInitialResponse; }
67
68 private:
69 AWS_IOTSITEWISE_API void HandleEventInMessage();
70 AWS_IOTSITEWISE_API void HandleErrorInMessage();
71 AWS_IOTSITEWISE_API void MarshallError(const Aws::String& errorCode, const Aws::String& errorMessage);
72
73 InvokeAssistantInitialResponseCallbackEx m_onInitialResponse;
74 TraceCallback m_onTrace;
75 InvocationOutputCallback m_onInvocationOutput;
76 ErrorCallback m_onError;
77 };
78
79namespace InvokeAssistantEventMapper
80{
82
84} // namespace InvokeAssistantEventMapper
85} // namespace Model
86} // namespace IoTSiteWise
87} // namespace Aws
AWS_IOTSITEWISE_API InvokeAssistantHandler(const InvokeAssistantHandler &)=default
void SetOnErrorCallback(const ErrorCallback &callback)
void SetInitialResponseCallback(const InvokeAssistantInitialResponseCallback &noArgCallback)
AWS_IOTSITEWISE_API InvokeAssistantHandler & operator=(const InvokeAssistantHandler &)=default
InvokeAssistantInitialResponseCallbackEx & GetInitialResponseCallbackEx()
void SetInitialResponseCallbackEx(const InvokeAssistantInitialResponseCallbackEx &callback)
virtual AWS_IOTSITEWISE_API void OnEvent() override
void SetTraceCallback(const TraceCallback &callback)
void SetInvocationOutputCallback(const InvocationOutputCallback &callback)
AWS_IOTSITEWISE_API Aws::String GetNameForInvokeAssistantEventType(InvokeAssistantEventType value)
AWS_IOTSITEWISE_API InvokeAssistantEventType GetInvokeAssistantEventTypeForName(const Aws::String &name)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String