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 ()
 
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 168 of file asyncnotification.hxx.

Constructor & Destructor Documentation

comphelper::AsyncEventNotifierAutoJoin::AsyncEventNotifierAutoJoin ( char const *  name)
private
comphelper::AsyncEventNotifierAutoJoin::~AsyncEventNotifierAutoJoin ( )
overridevirtual

Definition at line 210 of file asyncnotification.cxx.

References w.

Member Function Documentation

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

Definition at line 238 of file asyncnotification.cxx.

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

Definition at line 224 of file asyncnotification.cxx.

References AsyncEventNotifierAutoJoin().

void comphelper::AsyncEventNotifierAutoJoin::onTerminated ( )
overrideprivatevirtual

Definition at line 264 of file asyncnotification.cxx.

References comphelper::AsyncEventNotifierBase::m_xImpl.

Referenced by run().

void comphelper::AsyncEventNotifierAutoJoin::run ( )
overrideprivatevirtual
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 233 of file asyncnotification.cxx.

References comphelper::AsyncEventNotifierBase::terminate().


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