#pragma once #include "ehs/Str.h" #include "ehs/Serializer.h" namespace ehs { class NetChannel; class NetSys; class NetEnd; class NetOp { private: friend class NetSys; UInt_64 id; Str_8 name; public: virtual ~NetOp() = default; NetOp(); NetOp(Str_8 name); NetOp(NetOp &&op) noexcept; NetOp(const NetOp &op); NetOp &operator=(NetOp &&op) noexcept; NetOp &operator=(const NetOp &op); UInt_64 GetId() const; Str_8 GetName() const; private: virtual void Execute(NetChannel *channel, NetEnd *issuer, NetSys *sys, Serializer &payload); }; }