/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ /* * 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/.
*/
namespace comphelper
{ /** Serves two purposes (1) extracts code that doesn't need to be templated (2) helps to handle the custom where we have conflicting interfaces e.g. multiple UNO interfaces that extend css::lang::XComponent
*/ class COMPHELPER_DLLPUBLIC WeakComponentImplHelperBase : publicvirtual comphelper::UnoImplBase, public cppu::OWeakObject, public css::lang::XComponent
{ public: virtual ~WeakComponentImplHelperBase() override;
/** Called by dispose for subclasses to do dispose() work. The mutex is held when called, and subclasses can unlock() the guard if necessary.
*/ virtualvoid disposing(std::unique_lock<std::mutex>&);
protected: void throwIfDisposed(std::unique_lock<std::mutex>&)
{ if (m_bDisposed) throw css::lang::DisposedException(OUString(), static_cast<cppu::OWeakObject*>(this));
} // only to be called from the destructor, to run the dispose logic, if necessary void disposeOnDestruct();
/** Serves two purposes (1) extracts code that doesn't need to be templated (2) helps to handle the custom where we have conflicting interfaces e.g. multiple UNO interfaces that extend css::lang::XComponent
*/ class COMPHELPER_DLLPUBLIC WeakImplHelperBase : publicvirtual comphelper::UnoImplBase, public cppu::OWeakObject
{ public: virtual ~WeakImplHelperBase() override;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.