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:
[legend]
Collaboration diagram for comphelper::AsyncEventNotifierAutoJoin:
[legend]

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< 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)
private

◆ ~AsyncEventNotifierAutoJoin()

comphelper::AsyncEventNotifierAutoJoin::~AsyncEventNotifierAutoJoin ( )
overridevirtual

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)
static

Definition at line 230 of file asyncnotification.cxx.

◆ newAsyncEventNotifierAutoJoin()

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

◆ onTerminated()

void comphelper::AsyncEventNotifierAutoJoin::onTerminated ( )
overrideprivatevirtual

Definition at line 250 of file asyncnotification.cxx.

References comphelper::AsyncEventNotifierBase::m_xImpl.

Referenced by run().

◆ run()

void comphelper::AsyncEventNotifierAutoJoin::run ( )
overrideprivatevirtual

◆ terminate()

void comphelper::AsyncEventNotifierAutoJoin::terminate ( )
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().


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