/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: IPC.hpp Date: 2022-4-13 Author: Reece ***/ #pragma once namespace Aurora::IPC { #if defined(AURORA_IS_POSIX_DERIVED) #define PROXY_INTERNAL_INTERFACE_(Base)\ virtual void OnPresleep() override \ { \ Base OnPresleep(); \ }; \ virtual bool OnTrigger(AuUInt handle) override \ { \ return Base OnTrigger(handle); \ } \ virtual void OnFinishSleep() override \ { \ Base OnFinishSleep(); \ } \ virtual bool Singular() override \ { \ return Base Singular(); \ } \ virtual AuUInt GetHandle() override \ { \ return Base GetHandle(); \ } \ virtual const AuList &GetHandles() override \ { \ return Base GetHandles(); \ } \ virtual const AuList &GetWriteHandles() override \ { \ return Base GetWriteHandles(); \ } \ virtual AuUInt GetWriteHandle() override \ { \ return Base GetWriteHandle(); \ } \ bool HasValidHandle() \ { \ return Base HasValidHandle(); \ } #else #define PROXY_INTERNAL_INTERFACE_(Base)\ virtual void OnPresleep() override \ { \ Base OnPresleep(); \ }; \ virtual bool OnTrigger(AuUInt handle) override \ { \ return Base OnTrigger(handle); \ } \ virtual void OnFinishSleep() override \ { \ Base OnFinishSleep(); \ } \ virtual bool Singular() override \ { \ return Base Singular(); \ } \ virtual AuUInt GetHandle() override \ { \ return Base GetHandle(); \ } \ virtual const AuList &GetHandles() override \ { \ return Base GetHandles(); \ } \ bool HasValidHandle() \ { \ return Base HasValidHandle(); \ } #endif #define PROXY_INTERNAL_INTERFACE(Base) PROXY_INTERNAL_INTERFACE_(Base.) }