#pragma once #include namespace scwx { namespace wsr88d { namespace rpg { class PacketFactory { private: explicit PacketFactory() = delete; ~PacketFactory() = delete; PacketFactory(const PacketFactory&) = delete; PacketFactory& operator=(const PacketFactory&) = delete; PacketFactory(PacketFactory&&) noexcept = delete; PacketFactory& operator=(PacketFactory&&) noexcept = delete; public: static std::shared_ptr Create(std::istream& is); }; } // namespace rpg } // namespace wsr88d } // namespace scwx