25 #ifndef JUCE_MESSAGEMANAGER_H_INCLUDED 26 #define JUCE_MESSAGEMANAGER_H_INCLUDED 59 static void deleteInstance();
69 void runDispatchLoop();
78 void stopDispatchLoop();
84 #if JUCE_MODAL_LOOPS_PERMITTED || DOXYGEN 90 bool runDispatchLoopUntil (
int millisecondsToRunFor);
94 #if JUCE_COMPILER_SUPPORTS_LAMBDAS 98 static void callAsync (std::function<
void(
void)>);
122 bool isThisTheMessageThread()
const noexcept;
129 void setCurrentThreadAsMessageThread();
145 bool currentThreadHasLockedMessageManager()
const noexcept;
154 static void broadcastMessage (
const String& messageText);
179 virtual void messageCallback() = 0;
190 void deliverBroadcastMessage (
const String&);
202 friend class QuitMessage;
206 bool quitMessagePosted, quitMessageReceived;
207 Thread::ThreadID messageThreadId;
208 Thread::ThreadID volatile threadWithLock;
211 static
bool postMessageToSystemQueue (MessageBase*);
212 static
void* exitModalLoopCallback (
void*);
213 static
void doPlatformSpecificInitialisation();
214 static
void doPlatformSpecificShutdown();
215 static
bool dispatchNextMessageOnSystemQueue (
bool returnIfNoPendingMessages);
298 MessageManagerLock (
Thread* threadToCheckForExitSignal =
nullptr);
335 #endif // JUCE_MESSAGEMANAGER_H_INCLUDED void * ThreadID
Definition: juce_Thread.h:224
bool hasStopMessageBeenSent() const noexcept
Definition: juce_MessageManager.h:82
#define noexcept
Definition: juce_CompilerSupport.h:141
Definition: juce_MessageManager.h:173
virtual ~MessageBase()
Definition: juce_MessageManager.h:177
Definition: juce_String.h:43
#define JUCE_API
Definition: juce_StandardHeader.h:139
Definition: juce_ActionBroadcaster.h:37
Definition: juce_ReferenceCountedObject.h:65
Definition: juce_CriticalSection.h:47
Definition: juce_MessageManager.h:253
Definition: juce_ReferenceCountedObject.h:227
Definition: juce_MessageManager.cpp:108
Definition: juce_ScopedPointer.h:70
Definition: juce_ActionListener.h:35
void *() MessageCallbackFunction(void *userData)
Definition: juce_MessageManager.h:37
Definition: juce_MessageManager.cpp:266
Thread::ThreadID getCurrentMessageThread() const noexcept
Definition: juce_MessageManager.h:136
Definition: juce_Thread.h:47
Definition: juce_ThreadPool.h:50
MessageBase() noexcept
Definition: juce_MessageManager.h:176
ReferenceCountedObjectPtr< MessageBase > Ptr
Definition: juce_MessageManager.h:182
bool lockWasGained() const noexcept
Definition: juce_MessageManager.h:321
Definition: juce_MessageManager.h:46