AuroraRuntime/Source/IPC/IPC.hpp

87 lines
4.2 KiB
C++
Raw Normal View History

/***
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
{
2022-04-16 18:26:01 +00:00
#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 AuList<AuUInt> GetHandles() override \
{ \
return Base GetHandles(); \
} \
virtual AuList<AuUInt> GetWriteHandles() override \
{ \
return Base GetWriteHandles(); \
} \
virtual AuUInt GetWriteHandle() override \
{ \
return Base GetWriteHandle(); \
2022-04-16 18:26:01 +00:00
} \
bool HasValidHandle() \
{ \
return Base HasValidHandle(); \
}
2022-04-16 18:26:01 +00:00
#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 AuList<AuUInt> GetHandles() override \
{ \
return Base GetHandles(); \
} \
bool HasValidHandle() \
{ \
return Base HasValidHandle(); \
}
#endif
#define PROXY_INTERNAL_INTERFACE(Base) PROXY_INTERNAL_INTERFACE_(Base.)
}