Audacity 3.2.0
|
Public Types | |
using | QueueType = std::vector< std::pair< CloudStatusChangedMessage, bool > > |
Public Member Functions | |
void | Enqueue (CloudStatusChangedMessage message, bool canMerge) |
void | PublishSafe () |
Observer::Subscription | SubscribeSafe (std::function< void(const CloudStatusChangedMessage &)> callback) |
Public Attributes | |
std::mutex | QueueMutex |
QueueType | Queue |
std::recursive_mutex | ObserverMutex |
Additional Inherited Members | |
Private Types inherited from Observer::Publisher< CloudStatusChangedMessage > | |
using | message_type = CloudStatusChangedMessage |
using | CallbackReturn = std::conditional_t< true, void, bool > |
using | Callback = std::function< CallbackReturn(const CloudStatusChangedMessage &) > |
Type of functions that can be connected to the Publisher. More... | |
Private Member Functions inherited from Observer::Publisher< CloudStatusChangedMessage > | |
Publisher (ExceptionPolicy *pPolicy=nullptr, Alloc a={}) | |
Constructor supporting type-erased custom allocation/deletion. More... | |
Publisher (Publisher &&)=default | |
Publisher & | operator= (Publisher &&)=default |
Subscription | Subscribe (Callback callback) |
Connect a callback to the Publisher; later-connected are called earlier. More... | |
Subscription | Subscribe (Object &obj, Return(Object::*callback)(Args...)) |
Overload of Subscribe takes an object and pointer-to-member-function. More... | |
CallbackReturn | Publish (const CloudStatusChangedMessage &message) |
Send a message to connected callbacks. More... | |
Static Private Attributes inherited from Observer::Publisher< CloudStatusChangedMessage > | |
static constexpr bool | notifies_all |
Definition at line 62 of file ProjectCloudExtension.cpp.
using audacity::cloud::audiocom::sync::ProjectCloudExtension::CloudStatusChangedNotifier::QueueType = std::vector<std::pair<CloudStatusChangedMessage, bool> > |
Definition at line 98 of file ProjectCloudExtension.cpp.
|
inline |
Definition at line 65 of file ProjectCloudExtension.cpp.
References Queue, and QueueMutex.
|
inline |
Definition at line 77 of file ProjectCloudExtension.cpp.
References _, ObserverMutex, Observer::Publisher< CloudStatusChangedMessage >::Publish(), Queue, QueueMutex, and anonymous_namespace{NoteTrack.cpp}::swap().
|
inline |
Definition at line 92 of file ProjectCloudExtension.cpp.
References ObserverMutex, and Observer::Publisher< CloudStatusChangedMessage >::Subscribe().
std::recursive_mutex audacity::cloud::audiocom::sync::ProjectCloudExtension::CloudStatusChangedNotifier::ObserverMutex |
Definition at line 102 of file ProjectCloudExtension.cpp.
Referenced by PublishSafe(), and SubscribeSafe().
QueueType audacity::cloud::audiocom::sync::ProjectCloudExtension::CloudStatusChangedNotifier::Queue |
Definition at line 101 of file ProjectCloudExtension.cpp.
Referenced by Enqueue(), and PublishSafe().
std::mutex audacity::cloud::audiocom::sync::ProjectCloudExtension::CloudStatusChangedNotifier::QueueMutex |
Definition at line 100 of file ProjectCloudExtension.cpp.
Referenced by Enqueue(), and PublishSafe().