diff options
Diffstat (limited to 'sw/source/ui/inc/maildispatcher.hxx')
-rw-r--r-- | sw/source/ui/inc/maildispatcher.hxx | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/sw/source/ui/inc/maildispatcher.hxx b/sw/source/ui/inc/maildispatcher.hxx index ad5521d3814a..5e1ec613356c 100644 --- a/sw/source/ui/inc/maildispatcher.hxx +++ b/sw/source/ui/inc/maildispatcher.hxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -43,25 +43,25 @@ class IMailDispatcherListener; A MailDispatcher should be used for sending a bunch a mail messages asynchronously. Usually a client enqueues a number of mail messages and then calls start to begin sending them. An instance of this class - must not be shared among different client threads. Instead each client + must not be shared among different client threads. Instead each client thread should create an own instance of this class. -*/ +*/ class MailDispatcher : public ::salhelper::ReferenceObject, private ::osl::Thread { public: - // bringing operator new/delete into scope + // bringing operator new/delete into scope using osl::Thread::operator new; using osl::Thread::operator delete; using osl::Thread::join; - + public: - /** + /** @param xSmtpService [in] a reference to a mail server. A user must be connected to the mail server otherwise errors occur during the delivery of mail messages. - + @throws ::com::sun::star::uno::RuntimeException on errors during construction of an instance of this class. */ @@ -70,39 +70,39 @@ public: /** Shutdown the mail dispatcher. Every mail messages not yet sent will be discarded. - */ + */ virtual ~MailDispatcher(); - + /** Enqueue a mail message for delivery. A client must - start the mail dispatcher in order to send the + start the mail dispatcher in order to send the enqueued mail messages. - + @param xMailMessage [in] a mail message that should be send. */ void enqueueMailMessage(::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage> xMailMessage); - /** - Dequeues a mail message. + /** + Dequeues a mail message. This enables the caller to remove attachments when sending mails is to be cancelled. */ ::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage> dequeueMailMessage(); - + /** Start sending mail messages asynchronously. A client may register - a listener for mail dispatcher events. For every mail message sent - the notification will be sent. While handling such notification a + a listener for mail dispatcher events. For every mail message sent + the notification will be sent. While handling such notification a client may enqueue new mail messages. If there are no more mail messages to send an respective notification is sent and the mail dispatcher waits for more mail messages. - + @precond not isStarted() */ void start(); - + /** Stop sending mail messages. - + @precond isStarted() */ void stop(); @@ -114,52 +114,52 @@ public: mail dispatcher thread will never end. */ void shutdown(); - + /** Check whether the mail dispatcher is started or not. - - @return + + @return <TRUE/> if the sending thread is running. */ bool isStarted() const; - + /** returns if the thread is still running */ using osl::Thread::isRunning; - + /** returns if shutdown has already been called */ - bool isShutdownRequested() const - { return shutdown_requested_; } + bool isShutdownRequested() const + { return shutdown_requested_; } /** Register a listener for mail dispatcher events. */ void addListener(::rtl::Reference<IMailDispatcherListener> listener); - + /** Unregister a listener for mail dispatcher events */ void removeListener(::rtl::Reference<IMailDispatcherListener> listener); - + protected: virtual void SAL_CALL run(); virtual void SAL_CALL onTerminated(); private: std::list< ::rtl::Reference<IMailDispatcherListener> > cloneListener(); - void sendMailMessageNotifyListener(::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage> message); - -private: - ::com::sun::star::uno::Reference< ::com::sun::star::mail::XSmtpService> mailserver_; + void sendMailMessageNotifyListener(::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage> message); + +private: + ::com::sun::star::uno::Reference< ::com::sun::star::mail::XSmtpService> mailserver_; ::std::list< ::com::sun::star::uno::Reference< ::com::sun::star::mail::XMailMessage > > messages_; - ::std::list< ::rtl::Reference<IMailDispatcherListener> > listeners_; + ::std::list< ::rtl::Reference<IMailDispatcherListener> > listeners_; ::osl::Mutex message_container_mutex_; - ::osl::Mutex listener_container_mutex_; + ::osl::Mutex listener_container_mutex_; ::osl::Mutex thread_status_mutex_; ::osl::Condition mail_dispatcher_active_; - ::osl::Condition wakening_call_; + ::osl::Condition wakening_call_; ::rtl::Reference<MailDispatcher> m_xSelfReference; - bool run_; + bool run_; bool shutdown_requested_; }; |