#pragma once #include "ehs/Str.h" #include "ehs/Version.h" namespace ehs { class EHC; class NetEnc { private: friend class EHC; UInt_64 id; Str_8 name; Version version; public: virtual ~NetEnc() = default; NetEnc(); NetEnc(Str_8 name, const Version &version); NetEnc(NetEnc &&enc) noexcept; NetEnc(const NetEnc &enc); NetEnc &operator=(NetEnc &&enc) noexcept; NetEnc &operator=(const NetEnc &enc); UInt_64 GetId() const; Str_8 GetName() const; Version GetVersion() const; virtual void Encrypt(Byte *data, UInt_64 size) const; virtual void Decrypt(Byte *data, UInt_64 size) const; }; }