summaryrefslogtreecommitdiff
path: root/vcl/inc
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/inc')
-rw-r--r--vcl/inc/vcl/salinst.hxx4
-rw-r--r--vcl/inc/vcl/solarmutex.hxx76
-rw-r--r--vcl/inc/vcl/svapp.hxx8
3 files changed, 81 insertions, 7 deletions
diff --git a/vcl/inc/vcl/salinst.hxx b/vcl/inc/vcl/salinst.hxx
index 5863fb824313..30187dde2108 100644
--- a/vcl/inc/vcl/salinst.hxx
+++ b/vcl/inc/vcl/salinst.hxx
@@ -62,8 +62,6 @@ class SalSession;
struct SystemGraphicsData;
struct SystemWindowData;
-namespace vos { class IMutex; }
-
// ---------------
// - SalInstance -
// ---------------
@@ -131,7 +129,7 @@ public:
virtual SalBitmap* CreateSalBitmap() = 0;
// YieldMutex
- virtual vos::IMutex* GetYieldMutex() = 0;
+ virtual osl::SolarMutex* GetYieldMutex() = 0;
virtual ULONG ReleaseYieldMutex() = 0;
virtual void AcquireYieldMutex( ULONG nCount ) = 0;
diff --git a/vcl/inc/vcl/solarmutex.hxx b/vcl/inc/vcl/solarmutex.hxx
new file mode 100644
index 000000000000..c4fa5d6de2e6
--- /dev/null
+++ b/vcl/inc/vcl/solarmutex.hxx
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * 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
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef _VCL_SOLARMUTEX_HXX_
+#define _VCL_SOLARMUTEX_HXX_
+
+#include <osl/mutex.hxx>
+#include <vcl/dllapi.h>
+
+namespace vcl
+{
+
+/** Implementation of the SolarMutex interface.
+ */
+class VCL_DLLPUBLIC SolarMutexObject : public osl::SolarMutex
+{
+public:
+ //static SolarMutex& SAL_CALL getGlobalMutex();
+
+ /** Creates mutex
+ */
+ SolarMutexObject();
+
+ /** Implicitly destroys mutex
+ */
+ virtual ~SolarMutexObject();
+
+ /** Blocks if Mutex is already in use
+ */
+ virtual void SAL_CALL acquire();
+
+ /** Tries to get the mutex without blocking.
+ @return True if mutex could be obtained, otherwise False
+ */
+ virtual sal_Bool SAL_CALL tryToAcquire();
+
+ /** Releases the mutex.
+ */
+ virtual void SAL_CALL release();
+
+protected:
+ oslMutex m_solarMutex;
+
+private:
+ /* Disable copy/assignment
+ */
+ SolarMutexObject( const SolarMutexObject& );
+ SolarMutexObject& SAL_CALL operator=( const SolarMutexObject& );
+};
+
+}
+
+#endif // _VCL_SOLARMUTEX_HXX_
diff --git a/vcl/inc/vcl/svapp.hxx b/vcl/inc/vcl/svapp.hxx
index 55c424d050c2..e608b61d0b7f 100644
--- a/vcl/inc/vcl/svapp.hxx
+++ b/vcl/inc/vcl/svapp.hxx
@@ -30,7 +30,7 @@
#define _SV_SVAPP_HXX
#include <osl/thread.hxx>
-#include <vos/mutex.hxx>
+#include <osl/mutex.hxx>
#include <tools/string.hxx>
#include <tools/link.hxx>
#include <tools/unqid.hxx>
@@ -279,7 +279,7 @@ public:
static void Reschedule( bool bAllEvents = false );
static void Yield( bool bAllEvents = false );
static void EndYield();
- static vos::IMutex& GetSolarMutex();
+ static osl::SolarMutex& GetSolarMutex();
static oslThreadIdentifier GetMainThreadIdentifier();
static ULONG ReleaseSolarMutex();
static void AcquireSolarMutex( ULONG nCount );
@@ -504,7 +504,7 @@ class VCL_DLLPUBLIC SolarMutexGuard
private:
SolarMutexGuard( const SolarMutexGuard& );
const SolarMutexGuard& operator = ( const SolarMutexGuard& );
- ::vos::IMutex& m_solarMutex;
+ ::osl::SolarMutex& m_solarMutex;
public:
@@ -557,7 +557,7 @@ public:
}
}
protected:
- vos::IMutex& m_solarMutex;
+ osl::SolarMutex& m_solarMutex;
};