42 lines
675 B
C
42 lines
675 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);
|
||
|
};
|
||
|
}
|