dbaccess/source/ui/inc/sbamultiplex.hxx | 1 include/comphelper/multiinterfacecontainer2.hxx | 224 ------------------------ ucb/source/ucp/file/bc.cxx | 1 3 files changed, 226 deletions(-)
New commits: commit c8fbbc26e0d94c4c556a9a5e3cb94b796b7bca1b Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Sun Dec 5 13:49:29 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sun Dec 5 21:19:30 2021 +0100 remove OMultiTypeInterfaceContainerHelperVar2 superceded and replaced by OMultiTypeInterfaceContainerHelperVar3 Change-Id: I46ad14bcc9bfcfe1a5279414e72d9356ddb02329 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126382 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/dbaccess/source/ui/inc/sbamultiplex.hxx b/dbaccess/source/ui/inc/sbamultiplex.hxx index 88d1ad3bf1a3..3609bfeb0842 100644 --- a/dbaccess/source/ui/inc/sbamultiplex.hxx +++ b/dbaccess/source/ui/inc/sbamultiplex.hxx @@ -33,7 +33,6 @@ #include <comphelper/uno3.hxx> #include <cppuhelper/interfacecontainer.hxx> #include <comphelper/interfacecontainer3.hxx> -#include <comphelper/multiinterfacecontainer2.hxx> #include <comphelper/multiinterfacecontainer3.hxx> #include <cppuhelper/queryinterface.hxx> #include <cppuhelper/weak.hxx> diff --git a/include/comphelper/multiinterfacecontainer2.hxx b/include/comphelper/multiinterfacecontainer2.hxx deleted file mode 100644 index 0c3e7f690d16..000000000000 --- a/include/comphelper/multiinterfacecontainer2.hxx +++ /dev/null @@ -1,224 +0,0 @@ -/* -*- 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 . - */ -#pragma once - -#include <sal/config.h> - -#include <com/sun/star/lang/EventObject.hpp> -#include <com/sun/star/lang/DisposedException.hpp> -#include <comphelper/comphelperdllapi.h> -#include <comphelper/interfacecontainer2.hxx> -#include <memory> -#include <vector> - -namespace com::sun::star::uno -{ -class XInterface; -} -namespace osl -{ -class Mutex; -} - -/** */ //for docpp -namespace comphelper -{ -/** - A helper class to store interface references of different types. - This is a copy of the similar class at include/cppuhelper/interfacecontainer.h, - but now uses the improved comphelper::InterfaceContainer2. - - @see OInterfaceIteratorHelper2 - @see OInterfaceContainerHelper2 - */ -template <class key, class hashImpl = void, class equalImpl = std::equal_to<key>> -class OMultiTypeInterfaceContainerHelperVar2 -{ -public: - /** - Create a container of interface containers. - - @param rMutex the mutex to protect multi thread access. - The lifetime must be longer than the lifetime - of this object. - */ - inline OMultiTypeInterfaceContainerHelperVar2(::osl::Mutex& rMutex_) - : rMutex(rMutex_) - { - } - - /** - Return all id's under which at least one interface is added. - */ - inline std::vector<key> getContainedTypes() const - { - ::osl::MutexGuard aGuard(rMutex); - std::vector<key> aInterfaceTypes; - aInterfaceTypes.reserve(m_aMap.size()); - for (const auto& rPair : m_aMap) - // are interfaces added to this container? - if (rPair.second->getLength()) - // yes, put the type in the array - aInterfaceTypes.push_back(rPair.first); - return aInterfaceTypes; - } - - inline bool hasContainedTypes() const - { - ::osl::MutexGuard aGuard(rMutex); - for (const auto& rPair : m_aMap) - // are interfaces added to this container? - if (rPair.second->getLength()) - return true; - return false; - } - - /** - Return the container created under this key. - The InterfaceContainerHelper exists until the whole MultiTypeContainer is destroyed. - @return the container created under this key. If the container - was not created, null was returned. - */ - inline OInterfaceContainerHelper2* getContainer(const key& rKey) const - { - ::osl::MutexGuard aGuard(rMutex); - - auto iter = find(rKey); - if (iter != m_aMap.end()) - return (*iter).second.get(); - return nullptr; - } - - /** Inserts an element into the container with the specified key. - The position is not specified, thus it is not specified in which order events are fired. - - @attention - If you add the same interface more than once, then it will be added to the elements list - more than once and thus if you want to remove that interface from the list, you have to call - removeInterface() the same number of times. - In the latter case, you will also get events fired more than once (if the interface is a - listener interface). - - @param rKey - the id of the container - @param r - interface to be added; it is allowed, to insert null or - the same interface more than once - @return - the new count of elements in the container - */ - inline sal_Int32 addInterface(const key& rKey, - const css::uno::Reference<css::uno::XInterface>& rListener) - { - ::osl::MutexGuard aGuard(rMutex); - auto iter = find(rKey); - if (iter == m_aMap.end()) - { - OInterfaceContainerHelper2* pLC = new OInterfaceContainerHelper2(rMutex); - m_aMap.emplace_back(rKey, pLC); - return pLC->addInterface(rListener); - } - else - return (*iter).second->addInterface(rListener); - } - - /** Removes an element from the container with the specified key. - It uses interface equality to remove the interface. - - @param rKey - the id of the container - @param rxIFace - interface to be removed - @return - the new count of elements in the container - */ - inline sal_Int32 removeInterface(const key& rKey, - const css::uno::Reference<css::uno::XInterface>& rListener) - { - ::osl::MutexGuard aGuard(rMutex); - - // search container with id nUik - auto iter = find(rKey); - // container found? - if (iter != m_aMap.end()) - return (*iter).second->removeInterface(rListener); - - // no container with this id. Always return 0 - return 0; - } - - /** - Call disposing on all references in the container, that - support XEventListener. Then clears the container. - @param rEvt the event object which is passed during disposing() call - */ - inline void disposeAndClear(const css::lang::EventObject& rEvt) - { - // create a copy, because do not fire event in a guarded section - InterfaceMap tempMap; - { - ::osl::MutexGuard aGuard(rMutex); - tempMap = std::move(m_aMap); - } - - for (auto& rPair : tempMap) - rPair.second->disposeAndClear(rEvt); - } - - /** - Remove all elements of all containers. Does not delete the container. - */ - inline void clear() - { - ::osl::MutexGuard aGuard(rMutex); - - for (const auto& rPair : m_aMap) - rPair.second->clear(); - } - - typedef key keyType; - -private: - typedef ::std::vector<std::pair<key, std::unique_ptr<OInterfaceContainerHelper2>>> InterfaceMap; - InterfaceMap m_aMap; - ::osl::Mutex& rMutex; - - typename InterfaceMap::const_iterator find(const key& rKey) const - { - auto iter = m_aMap.begin(); - auto end = m_aMap.end(); - - while (iter != end) - { - equalImpl equal; - if (equal(iter->first, rKey)) - break; - ++iter; - } - return iter; - } - - OMultiTypeInterfaceContainerHelperVar2(const OMultiTypeInterfaceContainerHelperVar2&) = delete; - OMultiTypeInterfaceContainerHelperVar2& operator=(const OMultiTypeInterfaceContainerHelperVar2&) - = delete; -}; - -} // namespace comphelper - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucb/source/ucp/file/bc.cxx b/ucb/source/ucp/file/bc.cxx index 3575ac7f0f85..9bb4fc26ec66 100644 --- a/ucb/source/ucp/file/bc.cxx +++ b/ucb/source/ucp/file/bc.cxx @@ -32,7 +32,6 @@ #include <com/sun/star/io/XActiveDataSink.hpp> #include <com/sun/star/ucb/NameClash.hpp> #include <comphelper/fileurl.hxx> -#include <comphelper/multiinterfacecontainer2.hxx> #include <cppuhelper/interfacecontainer.hxx> #include <cppuhelper/supportsservice.hxx> #include "filglob.hxx"