33 lines
833 B
C++
33 lines
833 B
C++
|
/***
|
||
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
||
|
|
||
|
File: INetInterface.hpp
|
||
|
Date: 2022-8-15
|
||
|
Author: Reece
|
||
|
***/
|
||
|
#pragma once
|
||
|
|
||
|
namespace Aurora::IO::Net
|
||
|
{
|
||
|
struct INetSrvDatagram;
|
||
|
struct INetSrvResolve;
|
||
|
struct INetSrvSockets;
|
||
|
struct INetSrvWorkers;
|
||
|
|
||
|
struct INetInterface
|
||
|
{
|
||
|
virtual AuSPtr<INetSrvWorkers> GetWorkersService() = 0;
|
||
|
|
||
|
virtual AuSPtr<INetSrvResolve> GetResolveService() = 0;
|
||
|
|
||
|
virtual AuSPtr<INetSrvSockets> GetSocketService() = 0;
|
||
|
virtual AuSPtr<INetSrvDatagram> GetDatagramService() = 0;
|
||
|
|
||
|
virtual bool TrySchedule(const AuSPtr<IIOProcessorWorkUnit> &pWorkUnit) = 0;
|
||
|
|
||
|
virtual void Shutdown() = 0;
|
||
|
virtual void Destroy() = 0;
|
||
|
};
|
||
|
|
||
|
AUKN_SYM AuSPtr<INetInterface> NewNetworkInterface();
|
||
|
}
|