#pragma once #include #include "IEventMessagePacker.h" namespace Incart::Usb { class PushButtonEventMessagePacker final : public IEventMessagePacker { private: uint32_t m_frameCounter; public: PushButtonEventMessagePacker(uint32_t frameCounter) : m_frameCounter(frameCounter) { } void pack(Common::MessagePacker& messagePacker_) override { messagePacker_.start_map(2); messagePacker_.add_value("type", std::string("buttonPush")); messagePacker_.add_struct_value(std::string("data"), 1); messagePacker_.add_value("frameCounter", m_frameCounter); } }; } // namespace Incart::Usb