LibreOffice Module comphelper (master) 1
|
This is a hack (when proper joining is not possible), use of which should be avoided by good design. More...
#include <asyncnotification.hxx>
Public Member Functions | |
virtual SAL_DLLPRIVATE | ~AsyncEventNotifierAutoJoin () override |
virtual void SAL_CALL | terminate () override |
terminates the thread More... | |
Public Member Functions inherited from comphelper::AsyncEventNotifierBase | |
AsyncEventNotifierBase () | |
virtual void SAL_CALL | terminate () |
terminates the thread More... | |
void | addEvent (const AnyEventRef &_rEvent, const ::rtl::Reference< IEventProcessor > &_xProcessor) |
adds an event to the queue, together with the instance which is responsible for processing it More... | |
void | removeEventsForProcessor (const ::rtl::Reference< IEventProcessor > &_xProcessor) |
removes all events for the given event processor from the queue More... | |
Static Public Member Functions | |
static std::shared_ptr< AsyncEventNotifierAutoJoin > | newAsyncEventNotifierAutoJoin (char const *name) |
static void | launch (std::shared_ptr< AsyncEventNotifierAutoJoin > const &) |
Private Member Functions | |
SAL_DLLPRIVATE | AsyncEventNotifierAutoJoin (char const *name) |
virtual SAL_DLLPRIVATE void SAL_CALL | run () override |
virtual SAL_DLLPRIVATE void SAL_CALL | onTerminated () override |
Additional Inherited Members | |
Protected Member Functions inherited from comphelper::AsyncEventNotifierBase | |
virtual SAL_DLLPRIVATE | ~AsyncEventNotifierBase () |
virtual SAL_DLLPRIVATE void | execute () |
Protected Attributes inherited from comphelper::AsyncEventNotifierBase | |
std::unique_ptr< EventNotifierImpl > | m_xImpl |
This is a hack (when proper joining is not possible), use of which should be avoided by good design.
Definition at line 169 of file asyncnotification.hxx.
|
private |
Definition at line 197 of file asyncnotification.cxx.
References comphelper::AsyncEventNotifierBase::m_xImpl, and name.
Referenced by newAsyncEventNotifierAutoJoin().
|
overridevirtual |
Definition at line 202 of file asyncnotification.cxx.
References comphelper::g_Notifiers, and w.
|
static |
Definition at line 230 of file asyncnotification.cxx.
|
static |
Definition at line 216 of file asyncnotification.cxx.
References AsyncEventNotifierAutoJoin(), comphelper::g_Notifiers, and name.
|
overrideprivatevirtual |
Definition at line 250 of file asyncnotification.cxx.
References comphelper::AsyncEventNotifierBase::m_xImpl.
Referenced by run().
|
overrideprivatevirtual |
Definition at line 241 of file asyncnotification.cxx.
References comphelper::AsyncEventNotifierBase::execute(), comphelper::AsyncEventNotifierBase::m_xImpl, and onTerminated().
|
overridevirtual |
terminates the thread
Note that this is a cooperative termination - if you call this from a thread different from the notification thread itself, then it will block until the notification thread finished processing the current event. If you call it from the notification thread itself, it will return immediately, and the thread will be terminated as soon as the current notification is finished.
Reimplemented from comphelper::AsyncEventNotifierBase.
Definition at line 225 of file asyncnotification.cxx.
References comphelper::AsyncEventNotifierBase::terminate().