Files
Simple-Protocol-Lib/include/sp/protocol/packet/PacketFactory.h
2025-02-04 19:11:03 +01:00

20 lines
500 B
C++

#pragma once
#include <memory>
#include <sp/protocol/packet/Packets.h>
namespace sp {
namespace protocol {
namespace PacketFactory {
template <typename PacketDerived, typename = typename std::enable_if<std::is_base_of<Packet, PacketDerived>::value>::type>
std::unique_ptr<PacketDerived> CreatePacket() {
return std::make_unique<PacketDerived>();
}
const std::unique_ptr<Packet>& CreateReadOnlyPacket(PacketType a_Type);
} // namespace PacketFactory
} // namespace protocol
} // namespace sp