AuroraRuntime/Include/Aurora/IO/Net/INetInterface.hpp
Reece 85a575eb95 [+] Network interfaces API
[+] Logger IFormatter API
[*] Clean up
2022-12-14 20:08:52 +00:00

39 lines
953 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 INetSrvInterfaces;
struct INetInterface
{
virtual void Shutdown() = 0;
virtual void Destroy() = 0;
virtual bool TrySchedule(const AuSPtr<IIOProcessorWorkUnit> &pWorkUnit) = 0;
virtual AuSPtr<INetSrvWorkers> GetWorkersService() = 0;
virtual AuSPtr<INetSrvResolve> GetResolveService() = 0;
virtual AuSPtr<INetSrvSockets> GetSocketService() = 0;
virtual AuSPtr<INetSrvDatagram> GetDatagramService() = 0;
virtual AuSPtr<INetSrvInterfaces> GetInterfacesService() = 0;
};
AUKN_SYM AuSPtr<INetInterface> NewNetworkInterface();
}