e57ca02849
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
136 lines
4.5 KiB
C++
136 lines
4.5 KiB
C++
/* -*- 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/.
|
|
*/
|
|
|
|
#ifndef INCLUDED_CPPUHELPER_SOURCE_TYPEMANAGER_HXX
|
|
#define INCLUDED_CPPUHELPER_SOURCE_TYPEMANAGER_HXX
|
|
|
|
#include <sal/config.h>
|
|
|
|
#include <com/sun/star/container/ElementExistException.hpp>
|
|
#include <com/sun/star/container/NoSuchElementException.hpp>
|
|
#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
|
|
#include <com/sun/star/container/XSet.hpp>
|
|
#include <com/sun/star/lang/IllegalArgumentException.hpp>
|
|
#include <com/sun/star/lang/XServiceInfo.hpp>
|
|
#include <com/sun/star/reflection/InvalidTypeNameException.hpp>
|
|
#include <com/sun/star/reflection/NoSuchTypeNameException.hpp>
|
|
#include <com/sun/star/reflection/TypeDescriptionSearchDepth.hpp>
|
|
#include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.hpp>
|
|
#include <com/sun/star/uno/Reference.hxx>
|
|
#include <com/sun/star/uno/RuntimeException.hpp>
|
|
#include <com/sun/star/uno/Sequence.hxx>
|
|
#include <cppuhelper/basemutex.hxx>
|
|
#include <cppuhelper/compbase.hxx>
|
|
#include <rtl/ref.hxx>
|
|
#include <sal/types.h>
|
|
|
|
namespace com { namespace sun { namespace star {
|
|
namespace uno { class Any; }
|
|
namespace reflection { class XTypeDescription; }
|
|
} } }
|
|
namespace rtl { class OUString; }
|
|
namespace unoidl {
|
|
class ConstantGroupEntity;
|
|
class Entity;
|
|
class EnumTypeEntity;
|
|
class Manager;
|
|
}
|
|
|
|
namespace cppuhelper {
|
|
|
|
typedef cppu::WeakComponentImplHelper<
|
|
css::lang::XServiceInfo, css::container::XHierarchicalNameAccess,
|
|
css::container::XSet, css::reflection::XTypeDescriptionEnumerationAccess >
|
|
TypeManager_Base;
|
|
|
|
class TypeManager: private cppu::BaseMutex, public TypeManager_Base {
|
|
public:
|
|
TypeManager();
|
|
|
|
using TypeManager_Base::acquire;
|
|
using TypeManager_Base::release;
|
|
|
|
void init(rtl::OUString const & rdbUris);
|
|
|
|
css::uno::Any find(rtl::OUString const & name);
|
|
|
|
css::uno::Reference< css::reflection::XTypeDescription > resolve(
|
|
rtl::OUString const & name);
|
|
|
|
private:
|
|
virtual ~TypeManager() throw () override;
|
|
|
|
virtual void SAL_CALL disposing() override;
|
|
|
|
virtual rtl::OUString SAL_CALL getImplementationName() override;
|
|
|
|
virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName) override;
|
|
|
|
virtual css::uno::Sequence< rtl::OUString > SAL_CALL
|
|
getSupportedServiceNames() override;
|
|
|
|
virtual css::uno::Any SAL_CALL getByHierarchicalName(
|
|
rtl::OUString const & aName) override;
|
|
|
|
virtual sal_Bool SAL_CALL hasByHierarchicalName(rtl::OUString const & aName) override;
|
|
|
|
virtual css::uno::Type SAL_CALL getElementType() override;
|
|
|
|
virtual sal_Bool SAL_CALL hasElements() override;
|
|
|
|
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
|
|
createEnumeration() override;
|
|
|
|
virtual sal_Bool SAL_CALL has(css::uno::Any const & aElement) override;
|
|
|
|
virtual void SAL_CALL insert(css::uno::Any const & aElement) override;
|
|
|
|
virtual void SAL_CALL remove(css::uno::Any const & aElement) override;
|
|
|
|
virtual css::uno::Reference< css::reflection::XTypeDescriptionEnumeration >
|
|
SAL_CALL createTypeDescriptionEnumeration(
|
|
rtl::OUString const & moduleName,
|
|
css::uno::Sequence< css::uno::TypeClass > const & types,
|
|
css::reflection::TypeDescriptionSearchDepth depth) override;
|
|
|
|
void readRdbDirectory(rtl::OUString const & uri, bool optional);
|
|
|
|
void readRdbFile(rtl::OUString const & uri, bool optional);
|
|
|
|
css::uno::Any getSequenceType(rtl::OUString const & name);
|
|
|
|
css::uno::Any getInstantiatedStruct(
|
|
rtl::OUString const & name, sal_Int32 separator);
|
|
|
|
css::uno::Any getInterfaceMember(
|
|
rtl::OUString const & name, sal_Int32 separator);
|
|
|
|
css::uno::Any getNamed(
|
|
rtl::OUString const & name,
|
|
rtl::Reference< unoidl::Entity > const & entity);
|
|
|
|
static css::uno::Any getEnumMember(
|
|
rtl::Reference< unoidl::EnumTypeEntity > const & entity,
|
|
rtl::OUString const & member);
|
|
|
|
static css::uno::Any getConstant(
|
|
rtl::OUString const & constantGroupName,
|
|
rtl::Reference< unoidl::ConstantGroupEntity > const & entity,
|
|
rtl::OUString const & member);
|
|
|
|
rtl::Reference< unoidl::Entity > findEntity(rtl::OUString const & name);
|
|
|
|
rtl::Reference< unoidl::Manager > manager_;
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|