[Libreoffice-commits] .: canvas/inc

Bjoern Michaelsen bmichaelsen at kemper.freedesktop.org
Sat Apr 16 10:36:06 PDT 2011


 canvas/inc/canvas/base/basemutexhelper.hxx |   72 +++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

New commits:
commit 6835e1d82da43d24796e7c913d05733da8b032f3
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date:   Sat Apr 16 19:35:05 2011 +0200

    restoring basemutexhelper.hxx
    
    * got killed in 3cd302f4e5dd443670debfb9bbae7e3be1676ca6
    * checked out from 7db45b251adf8588624fee439df3ae0629c6ac4f

diff --git a/canvas/inc/canvas/base/basemutexhelper.hxx b/canvas/inc/canvas/base/basemutexhelper.hxx
new file mode 100644
index 0000000..c1c7eed
--- /dev/null
+++ b/canvas/inc/canvas/base/basemutexhelper.hxx
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * 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 INCLUDED_CANVAS_BASEMUTEXHELPER_HXX
+#define INCLUDED_CANVAS_BASEMUTEXHELPER_HXX
+
+#include <osl/mutex.hxx>
+
+
+/* Definition of the BaseMutexHelper class */
+
+namespace canvas
+{
+    /** Base class, deriving from ::comphelper::OBaseMutex and
+        initializing its own baseclass with m_aMutex.
+
+        This is necessary to make the CanvasBase, GraphicDeviceBase,
+        etc. classes freely combinable - letting them perform this
+        initialization would prohibit deriving e.g. CanvasBase from
+        GraphicDeviceBase.
+     */
+    template< class Base > class BaseMutexHelper : public Base
+    {
+    public:
+        typedef Base BaseType;
+
+        /** Construct BaseMutexHelper
+
+            This method is the whole purpose of this template:
+            initializing a base class with the provided m_aMutex
+            member (the WeakComponentImplHelper templates need that,
+            as they require the lifetime of the mutex to extend
+            theirs).
+         */
+        BaseMutexHelper() :
+            BaseType( m_aMutex )
+        {
+        }
+
+protected:
+        mutable ::osl::Mutex m_aMutex;
+    };
+}
+
+#endif /* INCLUDED_CANVAS_BASEMUTEXHELPER_HXX */
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list