bump product version to 7.6.3.2-android
[LibreOffice.git] / include / comphelper / indexedpropertyvalues.hxx
blob5a5f3e8ba72bc5abe52b74003a5f27aa1e903e92
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9 #pragma once
11 #include <sal/config.h>
12 #include <com/sun/star/beans/PropertyValue.hpp>
13 #include <com/sun/star/container/XIndexContainer.hpp>
14 #include <com/sun/star/lang/XServiceInfo.hpp>
15 #include <com/sun/star/uno/Sequence.h>
16 #include <comphelper/comphelperdllapi.h>
17 #include <cppuhelper/implbase.hxx>
18 #include <vector>
20 namespace comphelper
22 typedef std::vector<css::uno::Sequence<css::beans::PropertyValue>> IndexedPropertyValues;
24 class COMPHELPER_DLLPUBLIC IndexedPropertyValuesContainer final
25 : public cppu::WeakImplHelper<css::container::XIndexContainer, css::lang::XServiceInfo>
27 public:
28 IndexedPropertyValuesContainer() noexcept;
30 // XIndexContainer
31 virtual void SAL_CALL insertByIndex(sal_Int32 nIndex, const css::uno::Any& aElement) override;
32 virtual void SAL_CALL removeByIndex(sal_Int32 nIndex) override;
34 // XIndexReplace
35 virtual void SAL_CALL replaceByIndex(sal_Int32 nIndex, const css::uno::Any& aElement) override;
37 // XIndexAccess
38 virtual sal_Int32 SAL_CALL getCount() override;
39 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override;
41 // XElementAccess
42 virtual css::uno::Type SAL_CALL getElementType() override;
43 virtual sal_Bool SAL_CALL hasElements() override;
45 //XServiceInfo
46 virtual OUString SAL_CALL getImplementationName() override;
47 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override;
48 virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override;
50 private:
51 IndexedPropertyValues maProperties;
55 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */