/*** 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 GetWorkersService() = 0; virtual AuSPtr GetResolveService() = 0; virtual AuSPtr GetSocketService() = 0; virtual AuSPtr GetDatagramService() = 0; virtual bool TrySchedule(const AuSPtr &pWorkUnit) = 0; virtual void Shutdown() = 0; virtual void Destroy() = 0; }; AUKN_SYM AuSPtr NewNetworkInterface(); }