#ifndef __MFGCONFIGMESSAGE_H_ #define __MFGCONFIGMESSAGE_H_ #ifdef __cplusplus #include "icsneo/communication/message/message.h" #include "icsneo/communication/message/allmacaddressesmessage.h" #include "icsneo/device/chipid.h" #include #include #include #include #include namespace icsneo { class MfgConfigMessage : public Message { public: struct MfgDate { uint32_t day = 0; uint32_t month = 0; uint32_t year = 0; }; struct VersionNumber { uint32_t major = 0; uint32_t minor = 0; std::optional release; std::optional build; }; MfgConfigMessage() : Message(Message::Type::MfgConfig) {} static std::shared_ptr DecodeToMessage(const std::vector& bytestream); static std::vector EncodeArgumentsForGet(); std::optional serialNumber; std::optional manufactureDate; std::optional hardwareRev; std::optional productId; std::optional bootloaderRev; std::optional usbDescriptor; std::vector macAddresses; std::optional pcbSerial; std::optional chipId; std::optional imei; std::optional parentProductId; std::optional softwareVersionLock; }; } // namespace icsneo #endif // __cplusplus #endif // __MFGCONFIGMESSAGE_H_