/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: AuNetSocketServerAcceptReadOperation.hpp Date: 2022-8-22 Author: Reece ***/ #pragma once namespace Aurora::IO::Net { struct SocketServer; struct SocketServerAcceptReadOperationBase : #if defined(AURORA_IS_MODERNNT_DERIVED) virtual SocketOverlappedOperation #else virtual IIOSimpleEventListener #endif { SocketServerAcceptReadOperationBase(SocketServer *pParent); #if defined(AURORA_IS_MODERNNT_DERIVED) virtual void OnOverlappedComplete() override; virtual void OnOverlappedFailure(const NetError &error) override; #else virtual void OnIOTick() override; virtual void OnIOComplete() override; virtual void OnIOFailure() override; #endif protected: SocketServer *pParent_; }; } #if defined(AURORA_IS_MODERNNT_DERIVED) #include "AuNetSocketServerAcceptReadOperation.NT.hpp" #else #include "AuNetSocketServerAcceptReadOperation.Unix.hpp" #endif