summaryrefslogtreecommitdiff
path: root/sw/source/ui/dbui/maildispatcher.cxx
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-08-23 15:24:11 +0200
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-08-23 15:24:11 +0200
commit7a9916abd9ead998e6b0b6442bea67827411f4b7 (patch)
tree51da9b48384426b750242e2cd1d26034f2d26cfd /sw/source/ui/dbui/maildispatcher.cxx
parentef599bd8ed7aba0240e0d7a4c3f9b744044d34b4 (diff)
recreated tag libreoffice-3.3.0.4 which had these commits:
commit a459007bd5e462d85981eaa32e3b970555bcdea6 (tag: refs/tags/libreoffice-3.3.0.4, refs/remotes/origin/libreoffice-3-3-0) Author: Petr Mladek <pmladek@suse.cz> Date: Tue Jan 18 19:01:22 2011 +0100 Version 3.3.0.4, tag libreoffice-3.3.0.4 (3.3-rc4) commit dce61127f79a7a991ff32208b72e931d2353e1cd Author: Kohei Yoshida <kyoshida@novell.com> Date: Fri Jan 14 11:54:40 2011 -0500 Remove pesky on-line registration menu entry. (fdo#33112) sw/uiconfig/swform/menubar/menubar.xml | 1 - sw/uiconfig/swreport/menubar/menubar.xml | 1 - sw/uiconfig/swxform/menubar/menubar.xml | 1 - 3 files changed, 0 insertions(+), 3 deletions(-) commit a9c85da2fa4919e2520a6db08d3836e00a2b3fa9 Author: Caolán McNamara <caolanm@redhat.com> Date: Fri Jan 14 11:44:23 2011 +0000 Resolves: fdo#32633 use standard Edit button width of 50 (cherry picked from commit a3c9ea96b2deee09060fae80d673e262b27872bb) sw/source/ui/misc/titlepage.src | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit a79b457b9123b253bdadcb7c7602b8186b30d701 Author: Caolán McNamara <caolanm@redhat.com> Date: Tue Jan 11 20:33:41 2011 +0000 fix this to build sw/source/core/crsr/pam.cxx | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit fec902aecf9b4f5cee9d0fa18e502a136bd52595 Author: Cédric Bosdonnat <cedricbosdo@openoffice.org> Date: Tue Jan 11 20:18:26 2011 +0100 n#657135: Enhanced fields fixes (key inputs, and 0-length fields import) sw/source/core/crsr/bookmrk.cxx | 2 +- sw/source/core/crsr/pam.cxx | 5 +++-- sw/source/filter/ww8/wrtw8nds.cxx | 6 +++--- sw/source/filter/ww8/ww8scan.hxx | 2 +- sw/source/ui/docvw/edtwin.cxx | 19 ++++++++++++++++--- 5 files changed, 24 insertions(+), 10 deletions(-) commit 8f92e60e028df8c0bd32aa3a04f7105d8446bf4a Author: Petr Mladek <pmladek@suse.cz> Date: Tue Jan 11 22:59:38 2011 +0100 Branch libreoffice-3-3-0 This is 'libreoffice-3-3-0' - the stable branch for the 3.3.0 release. Only very safe changes, reviewed by three people are allowed. If you want to commit more complicated fix for the next 3.3.x release, please use the 'libreoffice-3-3' branch. If you want to build something cool, unstable, and risky, use master.
Notes
split repo tag: writer_libreoffice-3.3.0.4
Diffstat (limited to 'sw/source/ui/dbui/maildispatcher.cxx')
-rw-r--r--sw/source/ui/dbui/maildispatcher.cxx180
1 files changed, 90 insertions, 90 deletions
diff --git a/sw/source/ui/dbui/maildispatcher.cxx b/sw/source/ui/dbui/maildispatcher.cxx
index ef073f6ebabf..d2c9e28fbf9a 100644
--- a/sw/source/ui/dbui/maildispatcher.cxx
+++ b/sw/source/ui/dbui/maildispatcher.cxx
@@ -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
@@ -41,30 +41,30 @@ typedef std::list< ::rtl::Reference<IMailDispatcherListener> > MailDispatcherLis
namespace /* private */
{
- /* Generic event notifier for started,
- stopped, and idle events which are
+ /* Generic event notifier for started,
+ stopped, and idle events which are
very similary */
class GenericEventNotifier
{
public:
// pointer to virtual function typedef
typedef void (IMailDispatcherListener::*GenericNotificationFunc_t)(::rtl::Reference<MailDispatcher>);
-
+
GenericEventNotifier(
- GenericNotificationFunc_t notification_function,
+ GenericNotificationFunc_t notification_function,
::rtl::Reference<MailDispatcher> mail_dispatcher) :
notification_function_(notification_function),
mail_dispatcher_(mail_dispatcher)
{}
-
+
void operator() (::rtl::Reference<IMailDispatcherListener> listener) const
{ (listener.get()->*notification_function_)(mail_dispatcher_); }
-
+
private:
GenericNotificationFunc_t notification_function_;
::rtl::Reference<MailDispatcher> mail_dispatcher_;
};
-
+
class MailDeliveryNotifier
{
public:
@@ -72,77 +72,77 @@ namespace /* private */
mail_dispatcher_(xMailDispatcher),
message_(message)
{}
-
+
void operator() (::rtl::Reference<IMailDispatcherListener> listener) const
- { listener->mailDelivered(mail_dispatcher_, message_); }
-
+ { listener->mailDelivered(mail_dispatcher_, message_); }
+
private:
::rtl::Reference<MailDispatcher> mail_dispatcher_;
uno::Reference<mail::XMailMessage> message_;
};
-
+
class MailDeliveryErrorNotifier
{
public:
MailDeliveryErrorNotifier(
::rtl::Reference<MailDispatcher> xMailDispatcher,
- uno::Reference<mail::XMailMessage> message,
- const ::rtl::OUString& error_message) :
+ uno::Reference<mail::XMailMessage> message,
+ const ::rtl::OUString& error_message) :
mail_dispatcher_(xMailDispatcher),
message_(message),
error_message_(error_message)
{}
-
+
void operator() (::rtl::Reference<IMailDispatcherListener> listener) const
{ listener->mailDeliveryError(mail_dispatcher_, message_, error_message_); }
-
+
private:
::rtl::Reference<MailDispatcher> mail_dispatcher_;
uno::Reference<mail::XMailMessage> message_;
::rtl::OUString error_message_;
};
-
+
} // namespace private
-
+
MailDispatcher::MailDispatcher(uno::Reference<mail::XSmtpService> mailserver) :
mailserver_ (mailserver),
- run_(false),
+ run_(false),
shutdown_requested_(false)
-{
+{
wakening_call_.reset();
mail_dispatcher_active_.reset();
-
- if (!create())
- throw uno::RuntimeException();
-
- // wait until the mail dispatcher thread is really alive
- // and has aquired a reference to this instance of the
- // class
- mail_dispatcher_active_.wait();
+
+ if (!create())
+ throw uno::RuntimeException();
+
+ // wait until the mail dispatcher thread is really alive
+ // and has aquired a reference to this instance of the
+ // class
+ mail_dispatcher_active_.wait();
}
MailDispatcher::~MailDispatcher()
-{
+{
}
void MailDispatcher::enqueueMailMessage(uno::Reference<mail::XMailMessage> message)
-{
- ::osl::MutexGuard thread_status_guard(thread_status_mutex_);
+{
+ ::osl::MutexGuard thread_status_guard(thread_status_mutex_);
::osl::MutexGuard message_container_guard(message_container_mutex_);
-
+
OSL_PRECOND(!shutdown_requested_, "MailDispatcher thread is shuting down already");
-
- messages_.push_back(message);
+
+ messages_.push_back(message);
if (run_)
- wakening_call_.set();
+ wakening_call_.set();
}
uno::Reference<mail::XMailMessage> MailDispatcher::dequeueMailMessage()
-{
+{
::osl::MutexGuard guard(message_container_mutex_);
uno::Reference<mail::XMailMessage> message;
if(!messages_.empty())
- {
+ {
message = messages_.front();
messages_.pop_front();
}
@@ -150,51 +150,51 @@ uno::Reference<mail::XMailMessage> MailDispatcher::dequeueMailMessage()
}
void MailDispatcher::start()
-{
- OSL_PRECOND(!isStarted(), "MailDispatcher is already started!");
-
- ::osl::ClearableMutexGuard thread_status_guard(thread_status_mutex_);
-
+{
+ OSL_PRECOND(!isStarted(), "MailDispatcher is already started!");
+
+ ::osl::ClearableMutexGuard thread_status_guard(thread_status_mutex_);
+
OSL_PRECOND(!shutdown_requested_, "MailDispatcher thread is shuting down already");
-
+
if (!shutdown_requested_)
{
run_ = true;
wakening_call_.set();
thread_status_guard.clear();
-
- MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
- std::for_each(listeners_cloned.begin(), listeners_cloned.end(), GenericEventNotifier(&IMailDispatcherListener::started, this));
- }
+
+ MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
+ std::for_each(listeners_cloned.begin(), listeners_cloned.end(), GenericEventNotifier(&IMailDispatcherListener::started, this));
+ }
}
void MailDispatcher::stop()
{
- OSL_PRECOND(isStarted(), "MailDispatcher not started!");
-
- ::osl::ClearableMutexGuard thread_status_guard(thread_status_mutex_);
-
+ OSL_PRECOND(isStarted(), "MailDispatcher not started!");
+
+ ::osl::ClearableMutexGuard thread_status_guard(thread_status_mutex_);
+
OSL_PRECOND(!shutdown_requested_, "MailDispatcher thread is shuting down already");
-
+
if (!shutdown_requested_)
{
run_ = false;
wakening_call_.reset();
thread_status_guard.clear();
-
- MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
- std::for_each(listeners_cloned.begin(), listeners_cloned.end(), GenericEventNotifier(&IMailDispatcherListener::stopped, this));
+
+ MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
+ std::for_each(listeners_cloned.begin(), listeners_cloned.end(), GenericEventNotifier(&IMailDispatcherListener::stopped, this));
}
}
void MailDispatcher::shutdown()
-{
- ::osl::MutexGuard thread_status_guard(thread_status_mutex_);
-
+{
+ ::osl::MutexGuard thread_status_guard(thread_status_mutex_);
+
OSL_PRECOND(!shutdown_requested_, "MailDispatcher thread is shuting down already");
-
+
shutdown_requested_ = true;
- wakening_call_.set();
+ wakening_call_.set();
}
bool MailDispatcher::isStarted() const
@@ -205,7 +205,7 @@ bool MailDispatcher::isStarted() const
void MailDispatcher::addListener(::rtl::Reference<IMailDispatcherListener> listener)
{
OSL_PRECOND(!shutdown_requested_, "MailDispatcher thread is shuting down already");
-
+
::osl::MutexGuard guard(listener_container_mutex_);
listeners_.push_back(listener);
}
@@ -213,7 +213,7 @@ void MailDispatcher::addListener(::rtl::Reference<IMailDispatcherListener> liste
void MailDispatcher::removeListener(::rtl::Reference<IMailDispatcherListener> listener)
{
OSL_PRECOND(!shutdown_requested_, "MailDispatcher thread is shuting down already");
-
+
::osl::MutexGuard guard(listener_container_mutex_);
listeners_.remove(listener);
}
@@ -228,67 +228,67 @@ void MailDispatcher::sendMailMessageNotifyListener(uno::Reference<mail::XMailMes
{
try
{
- mailserver_->sendMailMessage(message);
- MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
- std::for_each(listeners_cloned.begin(), listeners_cloned.end(), MailDeliveryNotifier(this, message));
+ mailserver_->sendMailMessage(message);
+ MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
+ std::for_each(listeners_cloned.begin(), listeners_cloned.end(), MailDeliveryNotifier(this, message));
}
catch (mail::MailException& ex)
- {
- MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
- std::for_each(listeners_cloned.begin(), listeners_cloned.end(), MailDeliveryErrorNotifier(this, message, ex.Message));
+ {
+ MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
+ std::for_each(listeners_cloned.begin(), listeners_cloned.end(), MailDeliveryErrorNotifier(this, message, ex.Message));
}
catch (uno::RuntimeException& ex)
- {
- MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
- std::for_each(listeners_cloned.begin(), listeners_cloned.end(), MailDeliveryErrorNotifier(this, message, ex.Message));
+ {
+ MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
+ std::for_each(listeners_cloned.begin(), listeners_cloned.end(), MailDeliveryErrorNotifier(this, message, ex.Message));
}
}
void MailDispatcher::run()
-{
+{
// aquire a self reference in order to avoid race
// conditions. The last client of this class must
- // call shutdown before releasing his last reference
+ // call shutdown before releasing his last reference
// to this class in order to shutdown this thread
// which will release his (the very last reference
- // to the class and so force their destruction
- m_xSelfReference = this;
-
+ // to the class and so force their destruction
+ m_xSelfReference = this;
+
// signal that the mail dispatcher thread is now alive
mail_dispatcher_active_.set();
-
+
for(;;)
- {
+ {
wakening_call_.wait();
-
- ::osl::ClearableMutexGuard thread_status_guard(thread_status_mutex_);
+
+ ::osl::ClearableMutexGuard thread_status_guard(thread_status_mutex_);
if (shutdown_requested_)
break;
-
+
::osl::ClearableMutexGuard message_container_guard(message_container_mutex_);
-
+
if (messages_.size())
- {
- thread_status_guard.clear();
+ {
+ thread_status_guard.clear();
uno::Reference<mail::XMailMessage> message = messages_.front();
messages_.pop_front();
message_container_guard.clear();
sendMailMessageNotifyListener(message);
}
- else // idle - put ourself to sleep
+ else // idle - put ourself to sleep
{
wakening_call_.reset();
message_container_guard.clear();
thread_status_guard.clear();
- MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
- std::for_each(listeners_cloned.begin(), listeners_cloned.end(), GenericEventNotifier(&IMailDispatcherListener::idle, this));
- }
+ MailDispatcherListenerContainer_t listeners_cloned(cloneListener());
+ std::for_each(listeners_cloned.begin(), listeners_cloned.end(), GenericEventNotifier(&IMailDispatcherListener::idle, this));
+ }
} // end for SSH ALI
}
-void MailDispatcher::onTerminated()
+void MailDispatcher::onTerminated()
{
- //keep the reference until the end of onTerminated() because of the call order in the
+ //keep the reference until the end of onTerminated() because of the call order in the
//_threadFunc() from osl/thread.hxx
m_xSelfReference = 0;
}