#pragma once #include "../../EHS.h" #include "../../Str.h" #include "../../Array.h" #include "../../Serializer.h" namespace lwe { class Endpoint; class Operation; class Comms; class CommsSystem { private: Str_8 id; UInt_64 hashId; Array ops; public: ~CommsSystem(); CommsSystem(); CommsSystem(const Str_8& id); CommsSystem(const CommsSystem& sys); CommsSystem& operator=(const CommsSystem& sys); Str_8 GetId() const; UInt_64 GetHashId() const; bool HasOperation(const UInt_64 hashId); bool AddOperation(Operation* op); void Execute(Comms* comms, Endpoint* endpoint, const UInt_64 hashId, Serializer<>& payload); }; }