summaryrefslogtreecommitdiff
path: root/configmgr/source/configurationprovider.cxx
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@suse.cz>2010-10-24 16:53:14 +0200
committerJan Holesovsky <kendy@suse.cz>2010-10-24 16:53:14 +0200
commitfc9171c1442b359d7e806767e90a18c5d6ca2e7e (patch)
tree4794331a9c05fe2b05b2d1d201a3084e222f0280 /configmgr/source/configurationprovider.cxx
parentefaabab96ab8f6b1b866f26e7c4478b846ac4a1d (diff)
parentba640a3477213a4d2f179f188fe80029969ef1bb (diff)
Merge commit 'ooo/OOO330_m12'
Conflicts: desktop/source/app/app.cxx
Diffstat (limited to 'configmgr/source/configurationprovider.cxx')
-rw-r--r--configmgr/source/configurationprovider.cxx16
1 files changed, 15 insertions, 1 deletions
diff --git a/configmgr/source/configurationprovider.cxx b/configmgr/source/configurationprovider.cxx
index 273a803716c0..ed50642994d9 100644
--- a/configmgr/source/configurationprovider.cxx
+++ b/configmgr/source/configurationprovider.cxx
@@ -115,6 +115,8 @@ public:
private:
virtual ~Service() {}
+ virtual void SAL_CALL disposing() { flushModifications(); }
+
virtual rtl::OUString SAL_CALL getImplementationName()
throw (css::uno::RuntimeException)
{ return configuration_provider::getImplementationName(); }
@@ -167,6 +169,8 @@ private:
virtual css::lang::Locale SAL_CALL getLocale()
throw (css::uno::RuntimeException);
+ void flushModifications() const;
+
css::uno::Reference< css::uno::XComponentContext > context_;
rtl::OUString locale_;
};
@@ -327,7 +331,7 @@ void Service::removeRefreshListener(
}
void Service::flush() throw (css::uno::RuntimeException) {
- //TODO
+ flushModifications();
cppu::OInterfaceContainerHelper * cont = rBHelper.getContainer(
cppu::UnoType< css::util::XFlushListener >::get());
if (cont != 0) {
@@ -381,6 +385,16 @@ css::lang::Locale Service::getLocale() throw (css::uno::RuntimeException) {
return loc;
}
+void Service::flushModifications() const {
+ Components * components;
+ {
+ osl::MutexGuard guard(lock);
+ Components::initSingleton(context_);
+ components = &Components::getSingleton();
+ }
+ components->flushModifications();
+}
+
class Factory:
public cppu::WeakImplHelper1< css::lang::XSingleComponentFactory >,
private boost::noncopyable