20 #ifndef INCLUDED_SW_SOURCE_UIBASE_INC_MAILDISPATCHER_HXX
21 #define INCLUDED_SW_SOURCE_UIBASE_INC_MAILDISPATCHER_HXX
23 #include <com/sun/star/mail/XSmtpService.hpp>
24 #include <com/sun/star/mail/XMailMessage.hpp>
25 #include <osl/thread.hxx>
26 #include <osl/conditn.hxx>
27 #include <rtl/ref.hxx>
49 using osl::Thread::operator
new;
50 using osl::Thread::operator
delete;
51 using osl::Thread::join;
62 MailDispatcher(css::uno::Reference<css::mail::XSmtpService>
const& xMailService);
78 void enqueueMailMessage(css::uno::Reference<css::mail::XMailMessage>
const& xMailMessage);
83 css::uno::Reference<css::mail::XMailMessage> dequeueMailMessage();
122 using osl::Thread::isRunning;
135 virtual void SAL_CALL
run()
override;
136 virtual void SAL_CALL onTerminated()
override;
138 std::vector<::rtl::Reference<IMailDispatcherListener>> cloneListener();
139 void sendMailMessageNotifyListener(css::uno::Reference<css::mail::XMailMessage>
const& message);
154 #endif // INCLUDED_SW_SOURCE_UIBASE_INC_MAILDISPATCHER_HXX
::osl::Mutex m_aListenerContainerMutex
css::uno::Reference< css::mail::XSmtpService > m_xMailserver
bool isShutdownRequested() const
returns if shutdown has already been called
MailDispatcher listener interface.
std::list< css::uno::Reference< css::mail::XMailMessage > > m_aXMessageList
void addListener(const InterfaceRef &xObject, const css::uno::Reference< css::lang::XEventListener > &xListener)
::osl::Condition m_aWakeupCondition
std::vector<::rtl::Reference< IMailDispatcherListener > > m_aListenerVector
::osl::Mutex m_aThreadStatusMutex
::osl::Condition m_aRunCondition
bool m_bShutdownRequested
::osl::Mutex m_aMessageContainerMutex
bool isStarted() const
Check whether the mail dispatcher is started or not.
::rtl::Reference< MailDispatcher > m_xSelfReference
A MailDispatcher should be used for sending a bunch a mail messages asynchronously.