20 lines
500 B
C++
20 lines
500 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include <td/protocol/packet/Packets.h>
|
|
|
|
namespace td {
|
|
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 td
|