#pragma once #include #include "IEventMessagePacker.h" namespace Incart::Usb { class ErrorEventMessagePacker final : public IEventMessagePacker { private: std::string m_errorType; std::string m_message; public: ErrorEventMessagePacker(const std::string& errorType_, const std::string& message_) : m_errorType(errorType_), m_message(message_) { } void pack(Common::MessagePacker& messagePacker_) override { messagePacker_.start_map(3); messagePacker_.add_value("type", std::string("error")); messagePacker_.add_value("errorType", m_errorType); messagePacker_.add_value("message", m_message); } }; } // namespace Incart::Usb