Branch libreoffice-24-8-3
[LibreOffice.git] / sc / inc / PivotTableDataSource.hxx
blob636746b79cc0db7e56c2e3f4e181f51b212bcec3
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 */
10 #pragma once
12 #include <com/sun/star/chart2/data/XDataSource.hpp>
13 #include <com/sun/star/lang/XServiceInfo.hpp>
15 #include <svl/lstner.hxx>
16 #include <cppuhelper/implbase.hxx>
17 #include <vector>
19 namespace com::sun::star::chart2::data { class XLabeledDataSequence; }
21 namespace sc
24 typedef cppu::WeakImplHelper<css::chart2::data::XDataSource,
25 css::lang::XServiceInfo>
26 PivotTableDataSource_Base;
28 class PivotTableDataSource final : public PivotTableDataSource_Base, public SfxListener
30 public:
31 explicit PivotTableDataSource(std::vector<css::uno::Reference<css::chart2::data::XLabeledDataSequence>>&& xLabeledSequence);
32 virtual ~PivotTableDataSource() override;
33 virtual void Notify(SfxBroadcaster& rBroadcaster, const SfxHint& rHint) override;
35 // XDataSource
36 virtual css::uno::Sequence<css::uno::Reference<css::chart2::data::XLabeledDataSequence>> SAL_CALL
37 getDataSequences() override;
39 // XServiceInfo
40 virtual OUString SAL_CALL getImplementationName() override;
42 virtual sal_Bool SAL_CALL supportsService(const OUString& rServiceName) override;
44 virtual css::uno::Sequence<OUString> SAL_CALL
45 getSupportedServiceNames() override;
47 private:
48 std::vector<css::uno::Reference<css::chart2::data::XLabeledDataSequence>> m_xLabeledSequence;
53 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */