AuroraRuntime/Include/Aurora/IO/Net/INetInterface.hpp
Jamie Reece Wilson 2717178681 [+] Added INetworkInterface overloads
[+] INetInterface::SetWorkersService
[+] INetInterface::SetResolveService
[+] INetInterface::SetDatagramService
[+] INetInterface::SetInterfacesService
[*] Refactor: INetAdapter::GetStatus -> INetAdapter::GetAdapterStatus
[*] Refactor: const NetError &ISocketBase::GetError() -> AuOptional<const NetError &> ISocketBase::GetError()
[*] Refactor: INetAdapter to return const references of IPAddresses
2024-04-01 06:28:35 +01:00

44 lines
1.5 KiB
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 void SetWorkersService(const AuSPtr<INetSrvWorkers> &pWorkers) = 0;
virtual AuSPtr<INetSrvResolve> GetResolveService() = 0;
virtual void SetResolveService(const AuSPtr<INetSrvResolve> &pResolve) = 0;
virtual AuSPtr<INetSrvSockets> GetSocketService() = 0;
virtual void SetSocketService(const AuSPtr<INetSrvSockets> &pSockets) = 0;
virtual AuSPtr<INetSrvDatagram> GetDatagramService() = 0;
virtual void SetDatagramService(const AuSPtr<INetSrvDatagram> &pDatagrams) = 0;
virtual AuSPtr<INetSrvInterfaces> GetInterfacesService() = 0;
virtual void SetInterfacesService(const AuSPtr<INetSrvInterfaces> &pNetworkInterfaces) = 0;
};
AUKN_SYM AuSPtr<INetInterface> NewNetworkInterface();
}