#include "PacketContent.hpp" #include #include #include "Packet.hpp" #include "SecurityMode.hpp" #include "behavior/events/types.hpp" #include "utils/serialize/basics.hpp" namespace drp::packet::base { PacketContent::PacketContent() = default; PacketContent::PacketContent(const event::EventType eventType, const std::vector& data) { this->eventType = eventType; this->data = data; } std::vector PacketContent::serialize() const { // serialize the members const auto serializedEventType = util::serialize::serializeObject(static_cast(this->eventType)); const auto serializedData = util::serialize::serializeVector(this->data); // create a buffer to store our members std::vector data; // store our members data.insert(data.end(), serializedEventType.begin(), serializedEventType.end()); data.insert(data.end(), serializedData.begin(), serializedData.end()); return data; } PacketContent PacketContent::deserialize(std::vector& data) { // deserialize the members const auto contentEventType = static_cast(util::serialize::deserializeObject(data)); const auto contentData = util::serialize::deserializeVector(data); return {contentEventType, contentData}; } }