EHS/include/IO/Socket/CommsSystem.h
2023-12-17 15:00:08 -08:00

42 lines
651 B
C++

#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<Operation*> 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);
};
}