39 lines
953 B
C++
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();
|
|
} |