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... | |
![]() | |
AsyncEventNotifierBase () | |
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 | |
![]() | |
virtual SAL_DLLPRIVATE | ~AsyncEventNotifierBase () |
virtual SAL_DLLPRIVATE void | execute () |
![]() | |
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 168 of file asyncnotification.hxx.
|
private |
Definition at line 216 of file asyncnotification.cxx.
References comphelper::AsyncEventNotifierBase::m_xImpl.
Referenced by newAsyncEventNotifierAutoJoin().
|
overridevirtual |
Definition at line 221 of file asyncnotification.cxx.
References w.
|
static |
Definition at line 249 of file asyncnotification.cxx.
|
static |
Definition at line 235 of file asyncnotification.cxx.
References AsyncEventNotifierAutoJoin().
|
overrideprivatevirtual |
Definition at line 275 of file asyncnotification.cxx.
References comphelper::AsyncEventNotifierBase::m_xImpl.
Referenced by run().
|
overrideprivatevirtual |
Definition at line 263 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 244 of file asyncnotification.cxx.
References comphelper::AsyncEventNotifierBase::terminate().