summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-05-14 13:15:38 +0200
committerStephan Bergmann <sbergman@redhat.com>2013-05-14 14:41:54 +0200
commit11fd73acce5d8bff7025bb6ddcbaf99d9d70b545 (patch)
tree1a3d4dbe24e4bbbf301eca3a277e211483b3312a
parenta883783c2a1b0e7a8ee5b46387d1e1e3bc5e19bd (diff)
SolarMutex does not belong into the URE interface
...so move it from osl/mutex.hxx to its own comphelper/solarmutex.hxx. It looks like a newbie mistake that 59e7685d8d812ee8773f57475cbe3aa2a0bdfc81 "Create an abstract interface to be used to implement a SolarMutex" put it here in the first place. I do not consider this an incompatible change really, as no external URE client code should have used SolarMutex anyway. (Also included some clean up, like removing unused {Clearable,Resettable}SolarGuard, and spelling out SolarGuard in the few places it is used.) Change-Id: I121ffb5b7cefbc19e88b5405e5a85ffc895be852
-rw-r--r--comphelper/Library_comphelper.mk1
-rw-r--r--comphelper/source/misc/solarmutex.cxx28
-rw-r--r--comphelper/source/property/ChainablePropertySet.cxx20
-rw-r--r--comphelper/source/property/MasterPropertySet.cxx42
-rw-r--r--dbaccess/source/core/dataaccess/ModelImpl.cxx12
-rw-r--r--dbaccess/source/core/dataaccess/ModelImpl.hxx11
-rw-r--r--fpicker/source/win32/filepicker/SolarMutex.cxx4
-rw-r--r--framework/inc/threadhelp/lockhelper.hxx8
-rw-r--r--framework/inc/threadhelp/threadhelpbase.hxx2
-rw-r--r--framework/source/fwi/threadhelp/lockhelper.cxx4
-rw-r--r--include/comphelper/ChainablePropertySet.hxx5
-rw-r--r--include/comphelper/MasterPropertySet.hxx5
-rw-r--r--include/comphelper/SettingsHelper.hxx2
-rw-r--r--include/comphelper/solarmutex.hxx50
-rw-r--r--include/osl/mutex.hxx26
-rw-r--r--include/sfx2/docstoragemodifylistener.hxx5
-rw-r--r--include/tools/solarmutex.hxx4
-rw-r--r--include/vcl/solarmutex.hxx18
-rw-r--r--include/vcl/svapp.hxx10
-rw-r--r--sc/source/core/data/documen3.cxx2
-rw-r--r--sfx2/source/doc/docstoragemodifylistener.cxx8
-rw-r--r--svx/source/form/fmshimp.cxx4
-rw-r--r--sw/source/ui/inc/unodispatch.hxx3
-rw-r--r--tools/source/misc/solarmutex.cxx4
-rw-r--r--vcl/aqua/source/app/salinst.cxx4
-rw-r--r--vcl/aqua/source/window/salframeview.mm8
-rw-r--r--vcl/generic/app/geninst.cxx8
-rw-r--r--vcl/headless/svpinst.cxx2
-rw-r--r--vcl/inc/aqua/salinst.h8
-rw-r--r--vcl/inc/generic/geninst.h4
-rw-r--r--vcl/inc/salinst.hxx4
-rw-r--r--vcl/inc/unx/gtk/gtkinst.hxx2
-rw-r--r--vcl/inc/win/salinst.h2
-rw-r--r--vcl/source/app/solarmutex.cxx2
-rw-r--r--vcl/source/app/svapp.cxx4
-rw-r--r--vcl/unx/generic/dtrans/X11_selection.cxx8
-rw-r--r--vcl/unx/gtk/app/gtkdata.cxx4
-rw-r--r--vcl/win/source/app/salinst.cxx20
38 files changed, 204 insertions, 154 deletions
diff --git a/comphelper/Library_comphelper.mk b/comphelper/Library_comphelper.mk
index 0746889742b2..09a68895f81f 100644
--- a/comphelper/Library_comphelper.mk
+++ b/comphelper/Library_comphelper.mk
@@ -106,6 +106,7 @@ $(eval $(call gb_Library_add_exception_objects,comphelper,\
comphelper/source/misc/servicedecl \
comphelper/source/misc/serviceinfohelper \
comphelper/source/misc/sharedmutex \
+ comphelper/source/misc/solarmutex \
comphelper/source/misc/stillreadwriteinteraction \
comphelper/source/misc/anycompare \
comphelper/source/misc/storagehelper \
diff --git a/comphelper/source/misc/solarmutex.cxx b/comphelper/source/misc/solarmutex.cxx
new file mode 100644
index 000000000000..af17a9a39347
--- /dev/null
+++ b/comphelper/source/misc/solarmutex.cxx
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include "sal/config.h"
+
+#include "comphelper/solarmutex.hxx"
+
+comphelper::SolarMutex::SolarMutex() {}
+
+comphelper::SolarMutex::~SolarMutex() {}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/comphelper/source/property/ChainablePropertySet.cxx b/comphelper/source/property/ChainablePropertySet.cxx
index cd078a9f59e9..c4cc545d63a6 100644
--- a/comphelper/source/property/ChainablePropertySet.cxx
+++ b/comphelper/source/property/ChainablePropertySet.cxx
@@ -19,7 +19,7 @@
#include <comphelper/ChainablePropertySet.hxx>
#include <comphelper/ChainablePropertySetInfo.hxx>
-#include <osl/mutex.hxx>
+#include <comphelper/solarmutex.hxx>
#include <boost/scoped_ptr.hpp>
@@ -31,7 +31,7 @@ using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::beans;
-ChainablePropertySet::ChainablePropertySet( comphelper::ChainablePropertySetInfo* pInfo, osl::SolarMutex* pMutex )
+ChainablePropertySet::ChainablePropertySet( comphelper::ChainablePropertySetInfo* pInfo, comphelper::SolarMutex* pMutex )
throw()
: mpInfo ( pInfo )
, mpMutex ( pMutex )
@@ -55,9 +55,9 @@ void SAL_CALL ChainablePropertySet::setPropertyValue( const OUString& rPropertyN
throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException)
{
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard;
if (mpMutex)
- pMutexGuard.reset( new osl::SolarGuard(mpMutex) );
+ pMutexGuard.reset( new osl::Guard< comphelper::SolarMutex >(mpMutex) );
PropertyInfoHash::const_iterator aIter = mpInfo->maMap.find ( rPropertyName );
@@ -73,9 +73,9 @@ Any SAL_CALL ChainablePropertySet::getPropertyValue( const OUString& rPropertyNa
throw(UnknownPropertyException, WrappedTargetException, RuntimeException)
{
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard;
if (mpMutex)
- pMutexGuard.reset( new osl::SolarGuard(mpMutex) );
+ pMutexGuard.reset( new osl::Guard< comphelper::SolarMutex >(mpMutex) );
PropertyInfoHash::const_iterator aIter = mpInfo->maMap.find ( rPropertyName );
@@ -119,9 +119,9 @@ void SAL_CALL ChainablePropertySet::setPropertyValues( const Sequence< OUString
throw(PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException)
{
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard;
if (mpMutex)
- pMutexGuard.reset( new osl::SolarGuard(mpMutex) );
+ pMutexGuard.reset( new osl::Guard< comphelper::SolarMutex >(mpMutex) );
const sal_Int32 nCount = aPropertyNames.getLength();
@@ -153,9 +153,9 @@ Sequence< Any > SAL_CALL ChainablePropertySet::getPropertyValues( const Sequence
throw(RuntimeException)
{
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard;
if (mpMutex)
- pMutexGuard.reset( new osl::SolarGuard(mpMutex) );
+ pMutexGuard.reset( new osl::Guard< comphelper::SolarMutex >(mpMutex) );
const sal_Int32 nCount = aPropertyNames.getLength();
diff --git a/comphelper/source/property/MasterPropertySet.cxx b/comphelper/source/property/MasterPropertySet.cxx
index f996e8b1fc7d..6477e11ee329 100644
--- a/comphelper/source/property/MasterPropertySet.cxx
+++ b/comphelper/source/property/MasterPropertySet.cxx
@@ -22,7 +22,7 @@
#include <comphelper/MasterPropertySetInfo.hxx>
#include <comphelper/ChainablePropertySet.hxx>
#include <comphelper/ChainablePropertySetInfo.hxx>
-#include <osl/mutex.hxx>
+#include <comphelper/solarmutex.hxx>
#include <boost/scoped_ptr.hpp>
@@ -30,16 +30,16 @@
class AutoOGuardArray
{
- boost::scoped_ptr< osl::SolarGuard > * mpGuardArray;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > * mpGuardArray;
public:
AutoOGuardArray( sal_Int32 nNumElements );
~AutoOGuardArray();
- boost::scoped_ptr< osl::SolarGuard > & operator[] ( sal_Int32 i ) { return mpGuardArray[i]; }
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > & operator[] ( sal_Int32 i ) { return mpGuardArray[i]; }
};
-AutoOGuardArray::AutoOGuardArray( sal_Int32 nNumElements ) : mpGuardArray(new boost::scoped_ptr< osl::SolarGuard >[nNumElements])
+AutoOGuardArray::AutoOGuardArray( sal_Int32 nNumElements ) : mpGuardArray(new boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > >[nNumElements])
{
}
@@ -67,7 +67,7 @@ SlaveData::SlaveData ( ChainablePropertySet *pSlave)
{
}
-MasterPropertySet::MasterPropertySet( comphelper::MasterPropertySetInfo* pInfo, osl::SolarMutex* pMutex )
+MasterPropertySet::MasterPropertySet( comphelper::MasterPropertySetInfo* pInfo, comphelper::SolarMutex* pMutex )
throw()
: mpInfo ( pInfo )
, mpMutex ( pMutex )
@@ -105,9 +105,9 @@ void SAL_CALL MasterPropertySet::setPropertyValue( const OUString& rPropertyName
throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException)
{
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard;
if (mpMutex)
- pMutexGuard.reset( new osl::SolarGuard(mpMutex) );
+ pMutexGuard.reset( new osl::Guard< comphelper::SolarMutex >(mpMutex) );
PropertyDataHash::const_iterator aIter = mpInfo->maMap.find ( rPropertyName );
@@ -125,9 +125,9 @@ void SAL_CALL MasterPropertySet::setPropertyValue( const OUString& rPropertyName
ChainablePropertySet * pSlave = maSlaveMap [ (*aIter).second->mnMapId ]->mpSlave;
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard2;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard2;
if (pSlave->mpMutex)
- pMutexGuard2.reset( new osl::SolarGuard(pSlave->mpMutex) );
+ pMutexGuard2.reset( new osl::Guard< comphelper::SolarMutex >(pSlave->mpMutex) );
pSlave->_preSetValues();
pSlave->_setSingleValue( *((*aIter).second->mpInfo), rValue );
@@ -139,9 +139,9 @@ Any SAL_CALL MasterPropertySet::getPropertyValue( const OUString& rPropertyName
throw(UnknownPropertyException, WrappedTargetException, RuntimeException)
{
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard;
if (mpMutex)
- pMutexGuard.reset( new osl::SolarGuard(mpMutex) );
+ pMutexGuard.reset( new osl::Guard< comphelper::SolarMutex >(mpMutex) );
PropertyDataHash::const_iterator aIter = mpInfo->maMap.find ( rPropertyName );
@@ -160,9 +160,9 @@ Any SAL_CALL MasterPropertySet::getPropertyValue( const OUString& rPropertyName
ChainablePropertySet * pSlave = maSlaveMap [ (*aIter).second->mnMapId ]->mpSlave;
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard2;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard2;
if (pSlave->mpMutex)
- pMutexGuard2.reset( new osl::SolarGuard(pSlave->mpMutex) );
+ pMutexGuard2.reset( new osl::Guard< comphelper::SolarMutex >(pSlave->mpMutex) );
pSlave->_preGetValues();
pSlave->_getSingleValue( *((*aIter).second->mpInfo), aAny );
@@ -200,9 +200,9 @@ void SAL_CALL MasterPropertySet::setPropertyValues( const Sequence< OUString >&
throw(PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException)
{
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard;
if (mpMutex)
- pMutexGuard.reset( new osl::SolarGuard(mpMutex) );
+ pMutexGuard.reset( new osl::Guard< comphelper::SolarMutex >(mpMutex) );
const sal_Int32 nCount = aPropertyNames.getLength();
@@ -239,7 +239,7 @@ void SAL_CALL MasterPropertySet::setPropertyValues( const Sequence< OUString >&
{
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
if (pSlave->mpSlave->mpMutex)
- aOGuardArray[i].reset( new osl::SolarGuard(pSlave->mpSlave->mpMutex) );
+ aOGuardArray[i].reset( new osl::Guard< comphelper::SolarMutex >(pSlave->mpSlave->mpMutex) );
pSlave->mpSlave->_preSetValues();
pSlave->SetInit ( sal_True );
@@ -266,9 +266,9 @@ Sequence< Any > SAL_CALL MasterPropertySet::getPropertyValues( const Sequence< O
throw(RuntimeException)
{
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard;
if (mpMutex)
- pMutexGuard.reset( new osl::SolarGuard(mpMutex) );
+ pMutexGuard.reset( new osl::Guard< comphelper::SolarMutex >(mpMutex) );
const sal_Int32 nCount = aPropertyNames.getLength();
@@ -304,7 +304,7 @@ Sequence< Any > SAL_CALL MasterPropertySet::getPropertyValues( const Sequence< O
{
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
if (pSlave->mpSlave->mpMutex)
- aOGuardArray[i].reset( new osl::SolarGuard(pSlave->mpSlave->mpMutex) );
+ aOGuardArray[i].reset( new osl::Guard< comphelper::SolarMutex >(pSlave->mpSlave->mpMutex) );
pSlave->mpSlave->_preGetValues();
pSlave->SetInit ( sal_True );
@@ -367,9 +367,9 @@ PropertyState SAL_CALL MasterPropertySet::getPropertyState( const OUString& Prop
ChainablePropertySet * pSlave = maSlaveMap [ (*aIter).second->mnMapId ]->mpSlave;
// acquire mutex in c-tor and releases it in the d-tor (exception safe!).
- boost::scoped_ptr< osl::SolarGuard > pMutexGuard;
+ boost::scoped_ptr< osl::Guard< comphelper::SolarMutex > > pMutexGuard;
if (pSlave->mpMutex)
- pMutexGuard.reset( new osl::SolarGuard(pSlave->mpMutex) );
+ pMutexGuard.reset( new osl::Guard< comphelper::SolarMutex >(pSlave->mpMutex) );
pSlave->_preGetPropertyState();
pSlave->_getPropertyState( *((*aIter).second->mpInfo), aState );
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.cxx b/dbaccess/source/core/dataaccess/ModelImpl.cxx
index 95af6b73e65b..e015e7cbfa78 100644
--- a/dbaccess/source/core/dataaccess/ModelImpl.cxx
+++ b/dbaccess/source/core/dataaccess/ModelImpl.cxx
@@ -95,19 +95,19 @@ VosMutexFacade::VosMutexFacade( ::osl::Mutex& _rMutex )
{
}
-void SAL_CALL VosMutexFacade::acquire()
+void VosMutexFacade::acquire()
{
m_rMutex.acquire();
}
-sal_Bool SAL_CALL VosMutexFacade::tryToAcquire()
+void VosMutexFacade::release()
{
- return m_rMutex.tryToAcquire();
+ m_rMutex.release();
}
-void SAL_CALL VosMutexFacade::release()
+bool VosMutexFacade::tryToAcquire()
{
- m_rMutex.release();
+ return m_rMutex.tryToAcquire();
}
//============================================================
@@ -1194,7 +1194,7 @@ namespace
{
void lcl_modifyListening( ::sfx2::IModifiableDocument& _rDocument,
const Reference< XStorage >& _rxStorage, ::rtl::Reference< ::sfx2::DocumentStorageModifyListener >& _inout_rListener,
- ::osl::SolarMutex& _rMutex, bool _bListen )
+ comphelper::SolarMutex& _rMutex, bool _bListen )
{
Reference< XModifiable > xModify( _rxStorage, UNO_QUERY );
OSL_ENSURE( xModify.is() || !_rxStorage.is(), "lcl_modifyListening: storage can't notify us!" );
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.hxx b/dbaccess/source/core/dataaccess/ModelImpl.hxx
index fa595648336c..eff4138ea316 100644
--- a/dbaccess/source/core/dataaccess/ModelImpl.hxx
+++ b/dbaccess/source/core/dataaccess/ModelImpl.hxx
@@ -62,13 +62,13 @@
#include <comphelper/namedvaluecollection.hxx>
#include <comphelper/proparrhlp.hxx>
#include <comphelper/sharedmutex.hxx>
+#include <comphelper/solarmutex.hxx>
#include <connectivity/CommonTools.hxx>
#include <cppuhelper/propshlp.hxx>
#include <cppuhelper/weakref.hxx>
#include <sfx2/docmacromode.hxx>
#include <sfx2/docstoragemodifylistener.hxx>
#include <unotools/sharedunocomponent.hxx>
-#include <osl/mutex.hxx>
#include <rtl/ref.hxx>
#include <memory>
@@ -128,7 +128,7 @@ class OSharedConnectionManager;
//============================================================
/** a class which provides an IMutex interface to an OSL-based mutex
*/
-class VosMutexFacade : public ::osl::SolarMutex
+class VosMutexFacade : public comphelper::SolarMutex
{
public:
/** beware of life time: the mutex you pass here must live as least as long
@@ -136,10 +136,9 @@ public:
*/
VosMutexFacade( ::osl::Mutex& _rMutex );
- // IMutex
- virtual void SAL_CALL acquire();
- virtual sal_Bool SAL_CALL tryToAcquire();
- virtual void SAL_CALL release();
+ virtual void acquire();
+ virtual void release();
+ virtual bool tryToAcquire();
private:
::osl::Mutex& m_rMutex;
diff --git a/fpicker/source/win32/filepicker/SolarMutex.cxx b/fpicker/source/win32/filepicker/SolarMutex.cxx
index ed4c28998cc6..c21f994e177f 100644
--- a/fpicker/source/win32/filepicker/SolarMutex.cxx
+++ b/fpicker/source/win32/filepicker/SolarMutex.cxx
@@ -19,7 +19,7 @@
#include <vcl/svapp.hxx>
-#include <osl/mutex.hxx>
+#include <comphelper/solarmutex.hxx>
#include <osl/thread.hxx>
int ReleaseSolarMutexOnMainThreadContext(unsigned nThreadId)
@@ -29,7 +29,7 @@ int ReleaseSolarMutexOnMainThreadContext(unsigned nThreadId)
if ( nMainThreadId == nThreadId )
{
- ::osl::SolarMutex& rMutex = Application::GetSolarMutex();
+ comphelper::SolarMutex& rMutex = Application::GetSolarMutex();
if ( rMutex.tryToAcquire() )
nAcquireCount = Application::ReleaseSolarMutex() - 1;
}
diff --git a/framework/inc/threadhelp/lockhelper.hxx b/framework/inc/threadhelp/lockhelper.hxx
index 93641b5817b4..6d7bb24d424f 100644
--- a/framework/inc/threadhelp/lockhelper.hxx
+++ b/framework/inc/threadhelp/lockhelper.hxx
@@ -25,7 +25,7 @@
#include <threadhelp/irwlock.h>
#include <threadhelp/fairrwlock.hxx>
-#include <osl/mutex.hxx>
+#include <comphelper/solarmutex.hxx>
#include <fwidllapi.h>
namespace framework{
@@ -85,7 +85,7 @@ class FWI_DLLPUBLIC LockHelper : public IMutex
//-------------------------------------------------------------------------------------------------------------
// ctor/dtor
//-------------------------------------------------------------------------------------------------------------
- LockHelper( ::osl::SolarMutex* pSolarMutex = NULL );
+ LockHelper( comphelper::SolarMutex* pSolarMutex = NULL );
virtual ~LockHelper( );
//-------------------------------------------------------------------------------------------------------------
@@ -106,7 +106,7 @@ class FWI_DLLPUBLIC LockHelper : public IMutex
//-------------------------------------------------------------------------------------------------------------
// something else
//-------------------------------------------------------------------------------------------------------------
- static LockHelper& getGlobalLock ( ::osl::SolarMutex* pSolarMutex = NULL );
+ static LockHelper& getGlobalLock ( comphelper::SolarMutex* pSolarMutex = NULL );
::osl::Mutex& getShareableOslMutex( );
//-------------------------------------------------------------------------------------------------------------
@@ -138,7 +138,7 @@ class FWI_DLLPUBLIC LockHelper : public IMutex
mutable FairRWLock* m_pFairRWLock ;
mutable ::osl::Mutex* m_pOwnMutex ;
- mutable ::osl::SolarMutex* m_pSolarMutex ;
+ mutable comphelper::SolarMutex* m_pSolarMutex ;
mutable ::osl::Mutex* m_pShareableOslMutex ;
mutable sal_Bool m_bDummySolarMutex ;
};
diff --git a/framework/inc/threadhelp/threadhelpbase.hxx b/framework/inc/threadhelp/threadhelpbase.hxx
index 042d4f6be424..b13959880a91 100644
--- a/framework/inc/threadhelp/threadhelpbase.hxx
+++ b/framework/inc/threadhelp/threadhelpbase.hxx
@@ -45,7 +45,7 @@ struct ThreadHelpBase
// public methods
//-------------------------------------------------------------------------------------------------------------
public:
- ThreadHelpBase( ::osl::SolarMutex* pSolarMutex = NULL )
+ ThreadHelpBase( comphelper::SolarMutex* pSolarMutex = NULL )
: m_aLock( pSolarMutex )
{
}
diff --git a/framework/source/fwi/threadhelp/lockhelper.cxx b/framework/source/fwi/threadhelp/lockhelper.cxx
index 3b4d7286b710..d32fafb170e2 100644
--- a/framework/source/fwi/threadhelp/lockhelper.cxx
+++ b/framework/source/fwi/threadhelp/lockhelper.cxx
@@ -44,7 +44,7 @@ namespace framework{
@onerror -
*//*-*************************************************************************************************************/
-LockHelper::LockHelper( ::osl::SolarMutex* pSolarMutex )
+LockHelper::LockHelper( comphelper::SolarMutex* pSolarMutex )
: m_pFairRWLock ( NULL )
, m_pOwnMutex ( NULL )
, m_pSolarMutex ( NULL )
@@ -400,7 +400,7 @@ void LockHelper::downgradeWriteAccess()
@onerror No error should occure.
*//*-*************************************************************************************************************/
-LockHelper& LockHelper::getGlobalLock( ::osl::SolarMutex* pSolarMutex )
+LockHelper& LockHelper::getGlobalLock( comphelper::SolarMutex* pSolarMutex )
{
// Initialize static "member" only for one time!
// Algorithm:
diff --git a/include/comphelper/ChainablePropertySet.hxx b/include/comphelper/ChainablePropertySet.hxx
index 2dfe5f3ca256..62546c0605e5 100644
--- a/include/comphelper/ChainablePropertySet.hxx
+++ b/include/comphelper/ChainablePropertySet.hxx
@@ -25,6 +25,7 @@
#include <com/sun/star/beans/XMultiPropertySet.hpp>
#include <comphelper/PropertyInfoHash.hxx>
#include "comphelper/comphelperdllapi.h"
+#include "comphelper/solarmutex.hxx"
namespace comphelper
{
@@ -59,7 +60,7 @@ namespace comphelper
friend class MasterPropertySet;
protected:
ChainablePropertySetInfo *mpInfo;
- osl::SolarMutex* mpMutex;
+ SolarMutex* mpMutex;
::com::sun::star::uno::Reference < com::sun::star::beans::XPropertySetInfo > mxInfo;
virtual void _preSetValues ()
@@ -89,7 +90,7 @@ namespace comphelper
throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException );
public:
- ChainablePropertySet( comphelper::ChainablePropertySetInfo* pInfo, osl::SolarMutex* pMutex = NULL )
+ ChainablePropertySet( comphelper::ChainablePropertySetInfo* pInfo, SolarMutex* pMutex = NULL )
throw();
virtual ~ChainablePropertySet()
throw();
diff --git a/include/comphelper/MasterPropertySet.hxx b/include/comphelper/MasterPropertySet.hxx
index 266137fdb9b4..00784c4f16f2 100644
--- a/include/comphelper/MasterPropertySet.hxx
+++ b/include/comphelper/MasterPropertySet.hxx
@@ -24,6 +24,7 @@
#include <com/sun/star/beans/XMultiPropertySet.hpp>
#include <comphelper/PropertyInfoHash.hxx>
#include "comphelper/comphelperdllapi.h"
+#include "comphelper/solarmutex.hxx"
#include <map>
namespace comphelper
@@ -60,7 +61,7 @@ namespace comphelper
{
protected:
MasterPropertySetInfo *mpInfo;
- osl::SolarMutex* mpMutex;
+ SolarMutex* mpMutex;
sal_uInt8 mnLastId;
SlaveMap maSlaveMap;
::com::sun::star::uno::Reference < com::sun::star::beans::XPropertySetInfo > mxInfo;
@@ -92,7 +93,7 @@ namespace comphelper
throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException );
public:
- MasterPropertySet( comphelper::MasterPropertySetInfo* pInfo, ::osl::SolarMutex* pMutex = NULL )
+ MasterPropertySet( comphelper::MasterPropertySetInfo* pInfo, SolarMutex* pMutex = NULL )
throw();
virtual ~MasterPropertySet()
throw();
diff --git a/include/comphelper/SettingsHelper.hxx b/include/comphelper/SettingsHelper.hxx
index d623fa3e5494..341b7431db06 100644
--- a/include/comphelper/SettingsHelper.hxx
+++ b/include/comphelper/SettingsHelper.hxx
@@ -43,7 +43,7 @@ namespace comphelper
public ComphelperBase
{
public:
- SettingsHelperNoState ( ComphelperBaseInfo *pInfo, ::osl::SolarMutex* pMutex = NULL)
+ SettingsHelperNoState ( ComphelperBaseInfo *pInfo, SolarMutex* pMutex = NULL)
: ComphelperBase ( pInfo, pMutex )
{}
virtual ~SettingsHelperNoState () throw( ) {}
diff --git a/include/comphelper/solarmutex.hxx b/include/comphelper/solarmutex.hxx
new file mode 100644
index 000000000000..f8fce1e3a608
--- /dev/null
+++ b/include/comphelper/solarmutex.hxx
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_COMPHELPER_SOLARMUTEX_HXX
+#define INCLUDED_COMPHELPER_SOLARMUTEX_HXX
+
+#include "sal/config.h"
+
+#include "boost/noncopyable.hpp"
+#include "comphelper/comphelperdllapi.h"
+
+namespace comphelper {
+
+/** SolarMutex interface, needed for Application::GetSolarMutex().
+*/
+class COMPHELPER_DLLPUBLIC SolarMutex: private boost::noncopyable {
+public:
+ virtual void acquire() = 0;
+
+ virtual void release() = 0;
+
+ virtual bool tryToAcquire() = 0;
+
+protected:
+ SolarMutex();
+
+ virtual ~SolarMutex();
+};
+
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/osl/mutex.hxx b/include/osl/mutex.hxx
index 18ff44444223..9fab63fb27c3 100644
--- a/include/osl/mutex.hxx
+++ b/include/osl/mutex.hxx
@@ -238,32 +238,6 @@ namespace osl
typedef Guard<Mutex> MutexGuard;
typedef ClearableGuard<Mutex> ClearableMutexGuard;
typedef ResettableGuard< Mutex > ResettableMutexGuard;
-
- /** SolarMutex interface, needed for SolarMutex.
- Deprecated, used just for Application::GetSolarMutex().
- */
- class SolarMutex
- {
- public:
- /** Blocks if mutex is already in use
- */
- virtual void SAL_CALL acquire() = 0;
-
- /** Tries to get the mutex without blocking.
- */
- virtual sal_Bool SAL_CALL tryToAcquire() = 0;
-
- /** Releases the mutex.
- */
- virtual void SAL_CALL release() = 0;
-
- protected:
- SolarMutex() {}
- virtual ~SolarMutex() {}
- };
- typedef osl::Guard< SolarMutex > SolarGuard;
- typedef osl::ClearableGuard< SolarMutex > ClearableSolarGuard;
- typedef osl::ResettableGuard< SolarMutex > ResettableSolarGuard;
}
#endif /* __cplusplus */
diff --git a/include/sfx2/docstoragemodifylistener.hxx b/include/sfx2/docstoragemodifylistener.hxx
index c361b8768260..792a8dab0d97 100644
--- a/include/sfx2/docstoragemodifylistener.hxx
+++ b/include/sfx2/docstoragemodifylistener.hxx
@@ -26,6 +26,7 @@
#include <cppuhelper/implbase1.hxx>
+namespace comphelper { class SolarMutex; }
//........................................................................
namespace sfx2
@@ -55,10 +56,10 @@ namespace sfx2
class SFX2_DLLPUBLIC DocumentStorageModifyListener : public DocumentStorageModifyListener_Base
{
IModifiableDocument* m_pDocument;
- ::osl::SolarMutex& m_rMutex;
+ comphelper::SolarMutex& m_rMutex;
public:
- DocumentStorageModifyListener( IModifiableDocument& _rDocument, ::osl::SolarMutex& _rMutex );
+ DocumentStorageModifyListener( IModifiableDocument& _rDocument, comphelper::SolarMutex& _rMutex );
void dispose();
diff --git a/include/tools/solarmutex.hxx b/include/tools/solarmutex.hxx
index 1d6b13c59655..cf4b156a51cf 100644
--- a/include/tools/solarmutex.hxx
+++ b/include/tools/solarmutex.hxx
@@ -20,14 +20,14 @@
#define _TOOLS_SOLARMUTEX_HXX
#include "tools/toolsdllapi.h"
-#include <osl/mutex.hxx>
+#include <comphelper/solarmutex.hxx>
namespace tools
{
class TOOLS_DLLPUBLIC SolarMutex
{
public:
- static void SetSolarMutex( ::osl::SolarMutex* pMutex );
+ static void SetSolarMutex( comphelper::SolarMutex* pMutex );
static bool Acquire();
static void Release();
};
diff --git a/include/vcl/solarmutex.hxx b/include/vcl/solarmutex.hxx
index a6880a62995a..48b4f0c005ee 100644
--- a/include/vcl/solarmutex.hxx
+++ b/include/vcl/solarmutex.hxx
@@ -20,7 +20,8 @@
#ifndef _VCL_SOLARMUTEX_HXX_
#define _VCL_SOLARMUTEX_HXX_
-#include <osl/mutex.hxx>
+#include <comphelper/solarmutex.hxx>
+#include <osl/mutex.h>
#include <vcl/dllapi.h>
namespace vcl
@@ -28,7 +29,7 @@ namespace vcl
/** Implementation of the SolarMutex interface.
*/
-class VCL_DLLPUBLIC SolarMutexObject : public osl::SolarMutex
+class VCL_DLLPUBLIC SolarMutexObject : public comphelper::SolarMutex
{
public:
//static SolarMutex& SAL_CALL getGlobalMutex();
@@ -41,18 +42,11 @@ public:
*/
virtual ~SolarMutexObject();
- /** Blocks if Mutex is already in use
- */
- virtual void SAL_CALL acquire();
+ virtual void acquire();
- /** Tries to get the mutex without blocking.
- @return True if mutex could be obtained, otherwise False
- */
- virtual sal_Bool SAL_CALL tryToAcquire();
+ virtual void release();
- /** Releases the mutex.
- */
- virtual void SAL_CALL release();
+ virtual bool tryToAcquire();
protected:
oslMutex m_solarMutex;
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index f2f59c25d85b..ffe228e453d5 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -26,8 +26,8 @@
#include <stdexcept>
+#include <comphelper/solarmutex.hxx>
#include <osl/thread.hxx>
-#include <osl/mutex.hxx>
#include <tools/string.hxx>
#include <tools/link.hxx>
#include <tools/solar.h>
@@ -165,7 +165,7 @@ public:
static void Reschedule( bool bAllEvents = false );
static void Yield( bool bAllEvents = false );
static void EndYield();
- static osl::SolarMutex& GetSolarMutex();
+ static comphelper::SolarMutex& GetSolarMutex();
static oslThreadIdentifier GetMainThreadIdentifier();
static sal_uLong ReleaseSolarMutex();
static void AcquireSolarMutex( sal_uLong nCount );
@@ -397,7 +397,7 @@ class VCL_DLLPUBLIC SolarMutexGuard
private:
SolarMutexGuard( const SolarMutexGuard& );
const SolarMutexGuard& operator = ( const SolarMutexGuard& );
- ::osl::SolarMutex& m_solarMutex;
+ comphelper::SolarMutex& m_solarMutex;
public:
@@ -450,7 +450,7 @@ public:
}
}
protected:
- osl::SolarMutex& m_solarMutex;
+ comphelper::SolarMutex& m_solarMutex;
};
class VCL_DLLPUBLIC SolarMutexResettableGuard
@@ -496,7 +496,7 @@ public:
}
}
protected:
- osl::SolarMutex& m_solarMutex;
+ comphelper::SolarMutex& m_solarMutex;
};
diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx
index 07bc970136dd..1b64286481a8 100644
--- a/sc/source/core/data/documen3.cxx
+++ b/sc/source/core/data/documen3.cxx
@@ -884,7 +884,7 @@ void ScDocument::RemoveUnoObject( SfxListener& rObject )
// This check is done after calling EndListening, so a later BroadcastUno call
// won't touch this object.
- osl::SolarMutex& rSolarMutex = Application::GetSolarMutex();
+ comphelper::SolarMutex& rSolarMutex = Application::GetSolarMutex();
if ( rSolarMutex.tryToAcquire() )
{
// BroadcastUno is always called with the SolarMutex locked, so if it
diff --git a/sfx2/source/doc/docstoragemodifylistener.cxx b/sfx2/source/doc/docstoragemodifylistener.cxx
index b3bf3b73d1f3..16a3b1c4504d 100644
--- a/sfx2/source/doc/docstoragemodifylistener.cxx
+++ b/sfx2/source/doc/docstoragemodifylistener.cxx
@@ -18,7 +18,7 @@
*/
#include "sfx2/docstoragemodifylistener.hxx"
-#include <osl/mutex.hxx>
+#include <comphelper/solarmutex.hxx>
//........................................................................
namespace sfx2
@@ -40,7 +40,7 @@ namespace sfx2
//=
//====================================================================
//--------------------------------------------------------------------
- DocumentStorageModifyListener::DocumentStorageModifyListener( IModifiableDocument& _rDocument, ::osl::SolarMutex& _rMutex )
+ DocumentStorageModifyListener::DocumentStorageModifyListener( IModifiableDocument& _rDocument, comphelper::SolarMutex& _rMutex )
:m_pDocument( &_rDocument )
,m_rMutex( _rMutex )
{
@@ -54,14 +54,14 @@ namespace sfx2
//--------------------------------------------------------------------
void DocumentStorageModifyListener::dispose()
{
- ::osl::SolarGuard aGuard( m_rMutex );
+ ::osl::Guard< comphelper::SolarMutex > aGuard( m_rMutex );
m_pDocument = NULL;
}
//--------------------------------------------------------------------
void SAL_CALL DocumentStorageModifyListener::modified( const EventObject& /*aEvent*/ ) throw (RuntimeException)
{
- ::osl::SolarGuard aGuard( m_rMutex );
+ ::osl::Guard< comphelper::SolarMutex > aGuard( m_rMutex );
// storageIsModified must not contain any locking!
if ( m_pDocument )
m_pDocument->storageIsModified();
diff --git a/svx/source/form/fmshimp.cxx b/svx/source/form/fmshimp.cxx
index 6beaa7b279eb..78de8a7e69a4 100644
--- a/svx/source/form/fmshimp.cxx
+++ b/svx/source/form/fmshimp.cxx
@@ -81,9 +81,9 @@
#include <comphelper/evtmethodhelper.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/property.hxx>
+#include <comphelper/solarmutex.hxx>
#include <comphelper/string.hxx>
#include <connectivity/dbtools.hxx>
-#include <osl/mutex.hxx>
#include <rtl/logfile.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/docfile.hxx>
@@ -837,7 +837,7 @@ void SAL_CALL FmXFormShell::propertyChange(const PropertyChangeEvent& evt) throw
// (Solche Paints passieren zum Beispiel, wenn man einfach nur eine andere Applikation ueber das Office legt und wieder
// zurueckschaltet).
// Deshalb die Benutzung des SolarMutex, der sichert das ab.
- ::osl::SolarMutex& rSolarSafety = Application::GetSolarMutex();
+ comphelper::SolarMutex& rSolarSafety = Application::GetSolarMutex();
if (rSolarSafety.tryToAcquire())
{
m_pShell->GetViewShell()->GetViewFrame()->GetBindings().Invalidate(SID_FM_RECORD_TOTAL , sal_True, sal_False);
diff --git a/sw/source/ui/inc/unodispatch.hxx b/sw/source/ui/inc/unodispatch.hxx
index 2ee0e010a44d..26eb45d759b7 100644
--- a/sw/source/ui/inc/unodispatch.hxx
+++ b/sw/source/ui/inc/unodispatch.hxx
@@ -27,6 +27,7 @@
#include <cppuhelper/implbase2.hxx>
#include <cppuhelper/implbase3.hxx>
#include <list>
+#include <comphelper/solarmutex.hxx>
#include <osl/mutex.hxx>
class SwView;
@@ -41,7 +42,7 @@ class SwXDispatchProviderInterceptor : public cppu::WeakImplHelper3
class DispatchMutexLock_Impl
{
//::osl::MutexGuard aGuard; #102295# solar mutex has to be used currently
- osl::SolarGuard aGuard;
+ osl::Guard< comphelper::SolarMutex > aGuard;
DispatchMutexLock_Impl();
public:
DispatchMutexLock_Impl(SwXDispatchProviderInterceptor&);
diff --git a/tools/source/misc/solarmutex.cxx b/tools/source/misc/solarmutex.cxx
index 515f0832c291..f71899901f7e 100644
--- a/tools/source/misc/solarmutex.cxx
+++ b/tools/source/misc/solarmutex.cxx
@@ -21,9 +21,9 @@
namespace tools
{
- static ::osl::SolarMutex* pSolarMutex = 0;
+ static comphelper::SolarMutex* pSolarMutex = 0;
- void SolarMutex::SetSolarMutex( ::osl::SolarMutex* pMutex )
+ void SolarMutex::SetSolarMutex( comphelper::SolarMutex* pMutex )
{
pSolarMutex = pMutex;
}
diff --git a/vcl/aqua/source/app/salinst.cxx b/vcl/aqua/source/app/salinst.cxx
index 5a3ad3304768..b97bbd555387 100644
--- a/vcl/aqua/source/app/salinst.cxx
+++ b/vcl/aqua/source/app/salinst.cxx
@@ -102,7 +102,7 @@ class AquaDelayedSettingsChanged : public Timer
void AquaSalInstance::delayedSettingsChanged( bool bInvalidate )
{
- osl::SolarGuard aGuard( *mpSalYieldMutex );
+ osl::Guard< comphelper::SolarMutex > aGuard( *mpSalYieldMutex );
AquaDelayedSettingsChanged* pTimer = new AquaDelayedSettingsChanged( bInvalidate );
pTimer->SetTimeout( 50 );
pTimer->Start();
@@ -460,7 +460,7 @@ void AquaSalInstance::PostUserEvent( AquaSalFrame* pFrame, sal_uInt16 nType, voi
// -----------------------------------------------------------------------
-osl::SolarMutex* AquaSalInstance::GetYieldMutex()
+comphelper::SolarMutex* AquaSalInstance::GetYieldMutex()
{
return mpSalYieldMutex;
}
diff --git a/vcl/aqua/source/window/salframeview.mm b/vcl/aqua/source/window/salframeview.mm
index d8ccd17e996a..2a35a4b32551 100644
--- a/vcl/aqua/source/window/salframeview.mm
+++ b/vcl/aqua/source/window/salframeview.mm
@@ -161,7 +161,7 @@ static AquaSalFrame* getMouseContainerFrame()
{
if( GetSalData() && GetSalData()->mpFirstInstance )
{
- osl::SolarMutex* pMutex = GetSalData()->mpFirstInstance->GetYieldMutex();
+ comphelper::SolarMutex* pMutex = GetSalData()->mpFirstInstance->GetYieldMutex();
if( pMutex )
{
pMutex->acquire();
@@ -438,9 +438,9 @@ static AquaSalFrame* getMouseContainerFrame()
return NO;
}
-// helper class similar to a osl::SolarGuard for the SalYieldMutex
-// the difference is that it only does tryToAcquire instead of aquire
-// so dreaded deadlocks like #i93512# are prevented
+// helper class similar to a osl::Guard< comphelper::SolarMutex > for the
+// SalYieldMutex; the difference is that it only does tryToAcquire instead of
+// acquire so dreaded deadlocks like #i93512# are prevented
class TryGuard
{
public:
diff --git a/vcl/generic/app/geninst.cxx b/vcl/generic/app/geninst.cxx
index b5d309d4f280..22a3975ab3a6 100644
--- a/vcl/generic/app/geninst.cxx
+++ b/vcl/generic/app/geninst.cxx
@@ -63,19 +63,19 @@ void SalYieldMutex::release()
SolarMutexObject::release();
}
-sal_Bool SalYieldMutex::tryToAcquire()
+bool SalYieldMutex::tryToAcquire()
{
if ( SolarMutexObject::tryToAcquire() )
{
mnThreadId = osl::Thread::getCurrentIdentifier();
mnCount++;
- return sal_True;
+ return true;
}
else
- return sal_False;
+ return false;
}
-osl::SolarMutex* SalGenericInstance::GetYieldMutex()
+comphelper::SolarMutex* SalGenericInstance::GetYieldMutex()
{
return mpSalYieldMutex;
}
diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index 38e077760d1d..f74d37d74ab8 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -174,7 +174,7 @@ bool SvpSalInstance::CheckTimeout( bool bExecuteTimers )
m_aTimeout = aTimeOfDay;
m_aTimeout += m_nTimeoutMS;
- osl::SolarGuard aGuard( mpSalYieldMutex );
+ osl::Guard< comphelper::SolarMutex > aGuard( mpSalYieldMutex );
// notify
ImplSVData* pSVData = ImplGetSVData();
diff --git a/vcl/inc/aqua/salinst.h b/vcl/inc/aqua/salinst.h
index 89469c779ae7..441cbefdab6c 100644
--- a/vcl/inc/aqua/salinst.h
+++ b/vcl/inc/aqua/salinst.h
@@ -20,7 +20,7 @@
#ifndef _SV_SALINST_H
#define _SV_SALINST_H
-#include "osl/mutex.hxx"
+#include "comphelper/solarmutex.hxx"
#include "osl/thread.hxx"
#include "osl/conditn.h"
#include <vcl/solarmutex.hxx>
@@ -44,12 +44,12 @@ public:
SalYieldMutex();
virtual void acquire();
virtual void release();
- virtual sal_Bool tryToAcquire();
+ virtual bool tryToAcquire();
sal_uLong GetAcquireCount() const { return mnCount; }
oslThreadIdentifier GetThreadId() const { return mnThreadId; }
};
-#define YIELD_GUARD osl::SolarGuard aGuard( GetSalData()->mpFirstInstance->GetYieldMutex() )
+#define YIELD_GUARD osl::Guard< comphelper::SolarMutex > aGuard( GetSalData()->mpFirstInstance->GetYieldMutex() )
class AquaSalInstance : public SalInstance
@@ -107,7 +107,7 @@ public:
virtual SalI18NImeStatus* CreateI18NImeStatus();
virtual SalSystem* CreateSalSystem();
virtual SalBitmap* CreateSalBitmap();
- virtual osl::SolarMutex* GetYieldMutex();
+ virtual comphelper::SolarMutex* GetYieldMutex();
virtual sal_uLong ReleaseYieldMutex();
virtual void AcquireYieldMutex( sal_uLong nCount );
virtual bool CheckYieldMutex();
diff --git a/vcl/inc/generic/geninst.h b/vcl/inc/generic/geninst.h
index de47409e4fff..acbe1d49e2fb 100644
--- a/vcl/inc/generic/geninst.h
+++ b/vcl/inc/generic/geninst.h
@@ -58,7 +58,7 @@ public:
virtual void acquire();
virtual void release();
- virtual sal_Bool tryToAcquire();
+ virtual bool tryToAcquire();
virtual sal_uIntPtr GetAcquireCount() const { return mnCount; }
oslThreadIdentifier GetThreadId() const { return mnThreadId; }
@@ -81,7 +81,7 @@ public:
virtual ~SalGenericInstance();
// Yield mutex
- virtual osl::SolarMutex* GetYieldMutex();
+ virtual comphelper::SolarMutex* GetYieldMutex();
virtual sal_uIntPtr ReleaseYieldMutex();
virtual void AcquireYieldMutex( sal_uIntPtr nCount );
virtual bool CheckYieldMutex();
diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx
index 73b79644736d..ca304cae1daa 100644
--- a/vcl/inc/salinst.hxx
+++ b/vcl/inc/salinst.hxx
@@ -33,7 +33,7 @@
#include <list>
-
+namespace comphelper { class SolarMutex; }
struct SystemParentData;
struct SalPrinterQueueInfo;
struct ImplJobSetup;
@@ -111,7 +111,7 @@ public:
virtual SalBitmap* CreateSalBitmap() = 0;
// YieldMutex
- virtual osl::SolarMutex*
+ virtual comphelper::SolarMutex*
GetYieldMutex() = 0;
virtual sal_uLong ReleaseYieldMutex() = 0;
virtual void AcquireYieldMutex( sal_uLong nCount ) = 0;
diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx
index 6e358331e8fe..b9e510dcbf0d 100644
--- a/vcl/inc/unx/gtk/gtkinst.hxx
+++ b/vcl/inc/unx/gtk/gtkinst.hxx
@@ -44,7 +44,7 @@ public:
GtkYieldMutex();
virtual void acquire();
virtual void release();
- virtual sal_Bool tryToAcquire() { return SalYieldMutex::tryToAcquire(); }
+ virtual bool tryToAcquire() { return SalYieldMutex::tryToAcquire(); }
void ThreadsEnter();
void ThreadsLeave();
diff --git a/vcl/inc/win/salinst.h b/vcl/inc/win/salinst.h
index 5c3b0382870c..7defd4a95fcc 100644
--- a/vcl/inc/win/salinst.h
+++ b/vcl/inc/win/salinst.h
@@ -59,7 +59,7 @@ public:
virtual SalI18NImeStatus* CreateI18NImeStatus();
virtual SalSystem* CreateSalSystem();
virtual SalBitmap* CreateSalBitmap();
- virtual osl::SolarMutex* GetYieldMutex();
+ virtual comphelper::SolarMutex* GetYieldMutex();
virtual sal_uIntPtr ReleaseYieldMutex();
virtual void AcquireYieldMutex( sal_uIntPtr nCount );
virtual bool CheckYieldMutex();
diff --git a/vcl/source/app/solarmutex.cxx b/vcl/source/app/solarmutex.cxx
index 7aba45912881..fb5f416073d9 100644
--- a/vcl/source/app/solarmutex.cxx
+++ b/vcl/source/app/solarmutex.cxx
@@ -35,7 +35,7 @@ void SolarMutexObject::acquire()
osl_acquireMutex( m_solarMutex );
}
-sal_Bool SolarMutexObject::tryToAcquire()
+bool SolarMutexObject::tryToAcquire()
{
return osl_tryToAcquireMutex( m_solarMutex );
}
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index d04d1e2baf7a..8b3d149f8714 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -63,7 +63,7 @@
#include "com/sun/star/awt/XToolkit.hpp"
#include "com/sun/star/uno/XNamingService.hpp"
#include "com/sun/star/lang/XMultiServiceFactory.hpp"
-#include "osl/mutex.hxx"
+#include "comphelper/solarmutex.hxx"
#include "osl/process.h"
#include <utility>
@@ -473,7 +473,7 @@ void Application::Quit()
// -----------------------------------------------------------------------
-osl::SolarMutex& Application::GetSolarMutex()
+comphelper::SolarMutex& Application::GetSolarMutex()
{
ImplSVData* pSVData = ImplGetSVData();
return *(pSVData->mpDefInst->GetYieldMutex());
diff --git a/vcl/unx/generic/dtrans/X11_selection.cxx b/vcl/unx/generic/dtrans/X11_selection.cxx
index 5b79345d41cd..9cd2c0be3dbc 100644
--- a/vcl/unx/generic/dtrans/X11_selection.cxx
+++ b/vcl/unx/generic/dtrans/X11_selection.cxx
@@ -64,7 +64,7 @@
#include <osl/process.h>
#include <comphelper/processfactory.hxx>
-#include <osl/mutex.hxx>
+#include <comphelper/solarmutex.hxx>
#define DRAG_EVENT_MASK ButtonPressMask |\
ButtonReleaseMask |\
@@ -3308,7 +3308,7 @@ void SelectionManager::startDrag(
*/
if( nPointerGrabSuccess != GrabSuccess )
{
- osl::SolarMutex& rSolarMutex( Application::GetSolarMutex() );
+ comphelper::SolarMutex& rSolarMutex( Application::GetSolarMutex() );
if( rSolarMutex.tryToAcquire() )
{
pCaptureFrame = GetGenericData()->GetSalDisplay()->GetCaptureFrame();
@@ -3349,7 +3349,7 @@ void SelectionManager::startDrag(
listener->dragDropEnd( aDragFailedEvent );
if( pCaptureFrame )
{
- osl::SolarMutex& rSolarMutex( Application::GetSolarMutex() );
+ comphelper::SolarMutex& rSolarMutex( Application::GetSolarMutex() );
if( rSolarMutex.tryToAcquire() )
GetGenericData()->GetSalDisplay()->CaptureMouse( pCaptureFrame );
#if OSL_DEBUG_LEVEL > 0
@@ -3438,7 +3438,7 @@ void SelectionManager::startDrag(
if( pCaptureFrame )
{
- osl::SolarMutex& rSolarMutex( Application::GetSolarMutex() );
+ comphelper::SolarMutex& rSolarMutex( Application::GetSolarMutex() );
if( rSolarMutex.tryToAcquire() )
GetGenericData()->GetSalDisplay()->CaptureMouse( pCaptureFrame );
#if OSL_DEBUG_LEVEL > 0
diff --git a/vcl/unx/gtk/app/gtkdata.cxx b/vcl/unx/gtk/app/gtkdata.cxx
index af7043a60556..6abb06b13205 100644
--- a/vcl/unx/gtk/app/gtkdata.cxx
+++ b/vcl/unx/gtk/app/gtkdata.cxx
@@ -825,7 +825,7 @@ extern "C" {
SalData *pSalData = GetSalData();
- osl::SolarGuard aGuard( pSalData->m_pInstance->GetYieldMutex() );
+ osl::Guard< comphelper::SolarMutex > aGuard( pSalData->m_pInstance->GetYieldMutex() );
sal_gtk_timeout_defer( pTSource );
@@ -911,7 +911,7 @@ gboolean GtkData::userEventFn( gpointer data )
gboolean bContinue = FALSE;
GtkData *pThis = (GtkData *) data;
SalGenericData *pData = GetGenericData();
- osl::SolarGuard aGuard( pData->m_pInstance->GetYieldMutex() );
+ osl::Guard< comphelper::SolarMutex > aGuard( pData->m_pInstance->GetYieldMutex() );
const SalGenericDisplay *pDisplay = pData->GetDisplay();
if (pDisplay)
{
diff --git a/vcl/win/source/app/salinst.cxx b/vcl/win/source/app/salinst.cxx
index ef43804c1afe..7da838c058dd 100644
--- a/vcl/win/source/app/salinst.cxx
+++ b/vcl/win/source/app/salinst.cxx
@@ -23,7 +23,7 @@
#include <process.h>
#include <osl/file.hxx>
-#include <osl/mutex.hxx>
+#include <comphelper/solarmutex.hxx>
#include <tools/solarmutex.hxx>
@@ -107,9 +107,9 @@ public: // for ImplSalYield()
public:
SalYieldMutex( WinSalInstance* pInstData );
- virtual void SAL_CALL acquire();
- virtual void SAL_CALL release();
- virtual sal_Bool SAL_CALL tryToAcquire();
+ virtual void acquire();
+ virtual void release();
+ virtual bool tryToAcquire();
sal_uLong GetAcquireCount( sal_uLong nThreadId );
};
@@ -125,7 +125,7 @@ SalYieldMutex::SalYieldMutex( WinSalInstance* pInstData )
// -----------------------------------------------------------------------
-void SAL_CALL SalYieldMutex::acquire()
+void SalYieldMutex::acquire()
{
SolarMutexObject::acquire();
mnCount++;
@@ -134,7 +134,7 @@ void SAL_CALL SalYieldMutex::acquire()
// -----------------------------------------------------------------------
-void SAL_CALL SalYieldMutex::release()
+void SalYieldMutex::release()
{
DWORD nThreadId = GetCurrentThreadId();
if ( mnThreadId != nThreadId )
@@ -176,16 +176,16 @@ void SAL_CALL SalYieldMutex::release()
// -----------------------------------------------------------------------
-sal_Bool SAL_CALL SalYieldMutex::tryToAcquire()
+bool SalYieldMutex::tryToAcquire()
{
if( SolarMutexObject::tryToAcquire() )
{
mnCount++;
mnThreadId = GetCurrentThreadId();
- return sal_True;
+ return true;
}
else
- return sal_False;
+ return false;
}
// -----------------------------------------------------------------------
@@ -593,7 +593,7 @@ WinSalInstance::~WinSalInstance()
// -----------------------------------------------------------------------
-osl::SolarMutex* WinSalInstance::GetYieldMutex()
+comphelper::SolarMutex* WinSalInstance::GetYieldMutex()
{
return mpSalYieldMutex;
}