LMMS
Loading...
Searching...
No Matches
juce::InternalMessageQueue Class Reference

Public Member Functions

 InternalMessageQueue ()
 ~InternalMessageQueue ()
void postMessage (MessageManager::MessageBase *const msg) noexcept
 InternalMessageQueue ()
 ~InternalMessageQueue ()
void broadcastMessage (const String &message)
void postMessage (MessageManager::MessageBase *message)
bool dispatchNextMessage (bool returnIfNoPendingMessages)

Private Member Functions

int getWriteHandle () const noexcept
int getReadHandle () const noexcept
MessageManager::MessageBase::Ptr popNextMessage (int fd) noexcept
void dispatchMessages ()

Static Private Member Functions

static LRESULT CALLBACK messageWndProc (HWND h, UINT message, WPARAM wParam, LPARAM lParam) noexcept
static BOOL CALLBACK broadcastEnumWindowProc (HWND hwnd, LPARAM lParam)
static void dispatchMessage (MessageManager::MessageBase *message)
static void handleBroadcastMessage (const COPYDATASTRUCT *data)

Private Attributes

CriticalSection lock
ReferenceCountedArray< MessageManager::MessageBasequeue
int msgpipe [2]
int bytesInSocket = 0
std::unique_ptr< HiddenMessageWindowmessageWindow
ReferenceCountedArray< MessageManager::MessageBasemessageQueue

Static Private Attributes

static constexpr int maxBytesInSocketQueue = 128
static constexpr unsigned int customMessageID = WM_USER + 123
static constexpr unsigned int broadcastMessageMagicNumber = 0xc403
static const TCHAR messageWindowName [] = _T("JUCEWindow")

Constructor & Destructor Documentation

◆ InternalMessageQueue() [1/2]

juce::InternalMessageQueue::InternalMessageQueue ( )
inline

◆ ~InternalMessageQueue() [1/2]

juce::InternalMessageQueue::~InternalMessageQueue ( )
inline

◆ InternalMessageQueue() [2/2]

juce::InternalMessageQueue::InternalMessageQueue ( )
inline

◆ ~InternalMessageQueue() [2/2]

juce::InternalMessageQueue::~InternalMessageQueue ( )
inline

Member Function Documentation

◆ broadcastEnumWindowProc()

BOOL CALLBACK juce::InternalMessageQueue::broadcastEnumWindowProc ( HWND hwnd,
LPARAM lParam )
inlinestaticprivate

◆ broadcastMessage()

void juce::InternalMessageQueue::broadcastMessage ( const String & message)
inline

◆ dispatchMessage()

void juce::InternalMessageQueue::dispatchMessage ( MessageManager::MessageBase * message)
inlinestaticprivate

◆ dispatchMessages()

void juce::InternalMessageQueue::dispatchMessages ( )
inlineprivate

◆ dispatchNextMessage()

bool juce::InternalMessageQueue::dispatchNextMessage ( bool returnIfNoPendingMessages)
inline

◆ getReadHandle()

int juce::InternalMessageQueue::getReadHandle ( ) const
inlineprivatenoexcept

◆ getWriteHandle()

int juce::InternalMessageQueue::getWriteHandle ( ) const
inlineprivatenoexcept

◆ handleBroadcastMessage()

void juce::InternalMessageQueue::handleBroadcastMessage ( const COPYDATASTRUCT * data)
inlinestaticprivate

◆ messageWndProc()

LRESULT CALLBACK juce::InternalMessageQueue::messageWndProc ( HWND h,
UINT message,
WPARAM wParam,
LPARAM lParam )
inlinestaticprivatenoexcept

◆ popNextMessage()

MessageManager::MessageBase::Ptr juce::InternalMessageQueue::popNextMessage ( int fd)
inlineprivatenoexcept

◆ postMessage() [1/2]

void juce::InternalMessageQueue::postMessage ( MessageManager::MessageBase *const msg)
inlinenoexcept

◆ postMessage() [2/2]

void juce::InternalMessageQueue::postMessage ( MessageManager::MessageBase * message)
inline

Member Data Documentation

◆ broadcastMessageMagicNumber

unsigned int juce::InternalMessageQueue::broadcastMessageMagicNumber = 0xc403
staticconstexprprivate

◆ bytesInSocket

int juce::InternalMessageQueue::bytesInSocket = 0
private

◆ customMessageID

unsigned int juce::InternalMessageQueue::customMessageID = WM_USER + 123
staticconstexprprivate

◆ lock

CriticalSection juce::InternalMessageQueue::lock
private

◆ maxBytesInSocketQueue

int juce::InternalMessageQueue::maxBytesInSocketQueue = 128
staticconstexprprivate

◆ messageQueue

ReferenceCountedArray<MessageManager::MessageBase> juce::InternalMessageQueue::messageQueue
private

◆ messageWindow

std::unique_ptr<HiddenMessageWindow> juce::InternalMessageQueue::messageWindow
private

◆ messageWindowName

const TCHAR juce::InternalMessageQueue::messageWindowName = _T("JUCEWindow")
staticprivate

◆ msgpipe

int juce::InternalMessageQueue::msgpipe[2]
private

◆ queue

ReferenceCountedArray<MessageManager::MessageBase> juce::InternalMessageQueue::queue
private

The documentation for this class was generated from the following files: