26class MessageManagerLock;
29class ActionBroadcaster;
82 #if JUCE_MODAL_LOOPS_PERMITTED
88 bool runDispatchLoopUntil (
int millisecondsToRunFor);
97 static bool callAsync (std::function<
void()> functionToCall);
127 void setCurrentThreadAsMessageThread();
148 static
bool existsAndIsLockedByCurrentThread()
noexcept;
153 static
bool existsAndIsCurrentThread()
noexcept;
162 static
void broadcastMessage (
const String& messageText);
226 void enter()
const noexcept;
276 void exit()
const noexcept;
465#define JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED \
466 jassert (juce::MessageManager::existsAndIsLockedByCurrentThread());
473#define JUCE_ASSERT_MESSAGE_THREAD \
474 jassert (juce::MessageManager::existsAndIsCurrentThread());
479#define JUCE_ASSERT_MESSAGE_MANAGER_EXISTS \
480 jassert (juce::MessageManager::getInstanceWithoutCreating() != nullptr);
#define noexcept
Definition DistrhoDefines.h:72
#define final
Definition DistrhoDefines.h:74
Definition juce_ActionBroadcaster.h:37
Definition juce_ActionListener.h:35
Definition juce_ScopedLock.h:55
Definition juce_ScopedLock.h:198
Definition juce_ScopedLock.h:126
Definition juce_MessageManager.h:200
WaitableEvent lockedEvent
Definition juce_MessageManager.h:305
Atomic< int > lockGained
Definition juce_MessageManager.h:306
Lock()
Definition juce_MessageManager.cpp:306
bool tryAcquire(bool) const noexcept
Definition juce_MessageManager.cpp:311
ReferenceCountedObjectPtr< BlockingMessage > blockingMessage
Definition juce_MessageManager.h:304
GenericScopedTryLock< Lock > ScopedTryLockType
Definition juce_MessageManager.h:294
void enter() const noexcept
Definition juce_MessageManager.cpp:308
void messageCallback() const
Definition juce_MessageManager.cpp:397
void abort() const noexcept
Definition juce_MessageManager.cpp:403
bool tryEnter() const noexcept
Definition juce_MessageManager.cpp:309
GenericScopedUnlock< Lock > ScopedUnlockType
Definition juce_MessageManager.h:291
GenericScopedLock< Lock > ScopedLockType
Definition juce_MessageManager.h:288
Atomic< int > abortWait
Definition juce_MessageManager.h:306
Definition juce_MessageManager.h:182
ReferenceCountedObjectPtr< MessageBase > Ptr
Definition juce_MessageManager.h:190
virtual void messageCallback()=0
~MessageBase() override=default
Definition juce_MessageManager.cpp:88
static MessageManager * instance
Definition juce_MessageManager.h:320
static void doPlatformSpecificShutdown()
Definition juce_linux_Messaging.cpp:310
static void doPlatformSpecificInitialisation()
Definition juce_linux_Messaging.cpp:301
static void * exitModalLoopCallback(void *)
void runDispatchLoop()
Definition juce_MessageManager.cpp:101
bool hasStopMessageBeenSent() const noexcept
Definition juce_MessageManager.h:80
friend class MessageManagerLock
Definition juce_MessageManager.h:325
void stopDispatchLoop()
Definition juce_MessageManager.cpp:116
Atomic< Thread::ThreadID > threadWithLock
Definition juce_MessageManager.h:330
Atomic< int > quitMessagePosted
Definition juce_MessageManager.h:328
Thread::ThreadID messageThreadId
Definition juce_MessageManager.h:329
std::unique_ptr< ActionBroadcaster > broadcaster
Definition juce_MessageManager.h:327
void deliverBroadcastMessage(const String &)
Definition juce_MessageManager.cpp:205
static bool postMessageToSystemQueue(MessageBase *)
Definition juce_linux_Messaging.cpp:316
Thread::ThreadID getCurrentMessageThread() const noexcept
Definition juce_MessageManager.h:134
static void deleteInstance()
Definition juce_MessageManager.cpp:63
static MessageManager * getInstanceWithoutCreating() noexcept
Definition juce_MessageManager.cpp:58
MessageManager() noexcept
Definition juce_MessageManager.cpp:26
static MessageManager * getInstance()
Definition juce_MessageManager.cpp:47
bool locked
Definition juce_MessageManager.h:450
bool attemptLock(Thread *, ThreadPoolJob *)
Definition juce_MessageManager.cpp:418
MessageManager::Lock mmLock
Definition juce_MessageManager.h:449
MessageManagerLock(Thread *threadToCheckForExitSignal=nullptr)
Definition juce_MessageManager.cpp:410
void exitSignalSent() override
Definition juce_MessageManager.cpp:457
bool lockWasGained() const noexcept
Definition juce_MessageManager.h:445
ReferenceCountedObject()=default
Definition juce_ReferenceCountedObject.h:247
Definition juce_String.h:53
Definition juce_Thread.h:181
Definition juce_Thread.h:43
void * ThreadID
Definition juce_Thread.h:304
Definition juce_ThreadPool.h:45
Definition juce_WaitableEvent.h:36
CARLA_PLUGIN_EXPORT void exit(int status)
Definition interposer-safe.cpp:70
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
void *(void *userData) MessageCallbackFunction
Definition juce_MessageManager.h:33
Definition juce_Uuid.h:141
Definition juce_Atomic.h:42
Definition juce_MessageManager.cpp:281
RECT const char void(* callback)(const char *droppath))) SWELL_API_DEFINE(BOOL
Definition swell-functions.h:1004
ZCONST char * post
Definition fileio.c:2493
#define const
Definition zconf.h:137