3#include <Foundation/FoundationInternal.h>
4PL_FOUNDATION_INTERNAL_HEADER
6#if PL_ENABLED(PL_PLATFORM_WINDOWS_DESKTOP)
8# include <Foundation/Basics.h>
9# include <Foundation/Basics/Platform/Win/IncludeWindows.h>
10# include <Foundation/Communication/Implementation/MessageLoop.h>
15class PL_FOUNDATION_DLL plMessageLoop_win :
public plMessageLoop
20 PL_DECLARE_POD_TYPE();
24 DWORD uiBytesTransfered;
32 HANDLE GetPort()
const {
return m_hPort; }
35 virtual void WakeUp()
override;
38 bool GetIOItem(plInt32 iTimeout, IOItem* pItem);
39 bool ProcessInternalIOItem(
const IOItem& item);
40 bool MatchCompletedIOItem(
plIpcChannel* pFilter, IOItem* pItem);
45 HANDLE m_hPort = INVALID_HANDLE_VALUE;
Definition DynamicArray.h:81
Base class for a communication channel between processes.
Definition IpcChannel.h:44
Internal sub-system used by plIpcChannel.
Definition MessageLoop.h:20
virtual bool WaitForMessages(plInt32 iTimeout, plIpcChannel *pFilter)=0
Waits until a new message has been processed (sent, received).
virtual void WakeUp()=0
Wake up the message loop when new work comes in.