LibreOffice Module comphelper (master) 1
Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
comphelper::AsyncEventNotifierAutoJoin Class Referencefinal

This is a hack (when proper joining is not possible), use of which should be avoided by good design. More...

#include <asyncnotification.hxx>

Inheritance diagram for comphelper::AsyncEventNotifierAutoJoin:
Collaboration diagram for comphelper::AsyncEventNotifierAutoJoin:

Public Member Functions

virtual SAL_DLLPRIVATE ~AsyncEventNotifierAutoJoin () override
virtual void SAL_CALL terminate () override
 terminates the th
- Public Member Functions inherited from comphelper::AsyncEventNotifierBase
 AsyncEventNotifierBase ()
virtual void SAL_CALL terminate ()
 terminates the th
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< AsyncEventNotifierAutoJoinnewAsyncEventNotifierAutoJoin (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< EventNotifierImplm_xImpl

Detailed Description

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.

Constructor & Destructor Documentation

◆ AsyncEventNotifierAutoJoin()

comphelper::AsyncEventNotifierAutoJoin::AsyncEventNotifierAutoJoin ( char const *  name)

◆ ~AsyncEventNotifierAutoJoin()

comphelper::AsyncEventNotifierAutoJoin::~AsyncEventNotifierAutoJoin ( )

Definition at line 202 of file asyncnotification.cxx.

References comphelper::g_Notifiers, and w.

Member Function Documentation

◆ launch()

void comphelper::AsyncEventNotifierAutoJoin::launch ( std::shared_ptr< AsyncEventNotifierAutoJoin > const &  xThis)

Definition at line 230 of file asyncnotification.cxx.

◆ newAsyncEventNotifierAutoJoin()

std::shared_ptr< AsyncEventNotifierAutoJoin > comphelper::AsyncEventNotifierAutoJoin::newAsyncEventNotifierAutoJoin ( char const *  name)

◆ onTerminated()

void comphelper::AsyncEventNotifierAutoJoin::onTerminated ( )

Definition at line 250 of file asyncnotification.cxx.

References comphelper::AsyncEventNotifierBase::m_xImpl.

Referenced by run().

◆ run()

void comphelper::AsyncEventNotifierAutoJoin::run ( )

◆ terminate()

void comphelper::AsyncEventNotifierAutoJoin::terminate ( )

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().

The documentation for this class was generated from the following files: