Albert
|
#include <albert/plugindependency.h>
Convenience holder class for plugin soft dependencies.
Watches for (de)registration of an extension id
of type T
. On (de)registration of the dependency the pointer is updated and the callback called.
If you use this class you may want to lock a mutex against a query handler or an action. This should not be necessary since the plugin loader and the extension registry must not be accessed while a session query is running. Take care though if you defer the execution of the action using a timer or similar.
Public Member Functions | |
WeakDependency (const QString &id, std::function< void(bool)> on_registered={}) | |
Constructs a WeakDependency with id and callback on_registered . | |
~WeakDependency () | |
![]() | |
operator T () const | |
operator bool () const | |
const T * | operator-> () const |
T * | operator-> () |
const T * | get () const |
T * | get () |
Public Attributes | |
std::function< void(bool)> | callback |
Additional Inherited Members | |
![]() | |
T * | dependency_ = nullptr |
|
inlineexplicit |
Constructs a WeakDependency with id
and callback on_registered
.
|
inline |
std::function<void(bool)> albert::WeakDependency< T >::callback |