EHS/include/ehs/io/socket/CommsSystem.h

42 lines
667 B
C
Raw Normal View History

2023-12-17 03:29:08 -08:00
#pragma once
2024-01-14 09:38:57 -08:00
#include "ehs/EHS.h"
#include "ehs/Str.h"
#include "ehs/Array.h"
#include "ehs/Serializer.h"
2023-12-17 03:29:08 -08:00
2023-12-17 15:56:13 -08:00
namespace ehs
2023-12-17 03:29:08 -08:00
{
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);
};
}