diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-02-23 10:37:09 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-02-23 10:47:37 +0100 |
commit | 2eaa1422a032d6a7ffc72a2abeb3dd3e6248a263 (patch) | |
tree | a8a618394c09b21cd189a4f9f221557dc5fc628a /comphelper/inc | |
parent | 40d21ab3c75a7c18de940162563015ae80136709 (diff) |
Adapted AsyncEventNotifier to safer-to-use salhelper::Thread
Diffstat (limited to 'comphelper/inc')
-rw-r--r-- | comphelper/inc/comphelper/asyncnotification.hxx | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/comphelper/inc/comphelper/asyncnotification.hxx b/comphelper/inc/comphelper/asyncnotification.hxx index e7d5ac38ff3b..0ca35a3bf2a5 100644 --- a/comphelper/inc/comphelper/asyncnotification.hxx +++ b/comphelper/inc/comphelper/asyncnotification.hxx @@ -29,12 +29,13 @@ #ifndef COMPHELPER_ASYNCNOTIFICATION_HXX #define COMPHELPER_ASYNCNOTIFICATION_HXX -#include <osl/thread.hxx> -#include <rtl/ref.hxx> -#include <comphelper/comphelperdllapi.h> -#include <rtl/alloc.h> +#include "sal/config.h" -#include <memory> +#include "boost/scoped_ptr.hpp" +#include "comphelper/comphelperdllapi.h" +#include "rtl/ref.hxx" +#include "sal/types.h" +#include "salhelper/thread.hxx" //........................................................................ namespace comphelper @@ -109,26 +110,25 @@ namespace comphelper events in the queue. As soon as you add an event, the thread is woken up, processes the event, and sleeps again. */ - class COMPHELPER_DLLPUBLIC AsyncEventNotifier :public ::osl::Thread - ,public ::rtl::IReference + class COMPHELPER_DLLPUBLIC AsyncEventNotifier: public salhelper::Thread { friend struct EventNotifierImpl; private: - ::std::auto_ptr< EventNotifierImpl > m_pImpl; + boost::scoped_ptr< EventNotifierImpl > m_pImpl; + + SAL_DLLPRIVATE virtual ~AsyncEventNotifier(); // Thread - virtual void SAL_CALL run(); - virtual void SAL_CALL onTerminated(); + SAL_DLLPRIVATE virtual void execute(); public: /** constructs a notifier thread - */ - AsyncEventNotifier(); - // IReference implementations - virtual oslInterlockedCount SAL_CALL acquire(); - virtual oslInterlockedCount SAL_CALL release(); + @param name the thread name, see ::osl_setThreadName; must not be + null + */ + AsyncEventNotifier(char const * name); /** terminates the thread @@ -156,9 +156,6 @@ namespace comphelper /** removes all events for the given event processor from the queue */ void removeEventsForProcessor( const ::rtl::Reference< IEventProcessor >& _xProcessor ); - - protected: - virtual ~AsyncEventNotifier(); }; //==================================================================== |