Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
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 :
10 : #ifndef INCLUDED_TEST_BEANS_XPROPERTYSET_HXX
11 : #define INCLUDED_TEST_BEANS_XPROPERTYSET_HXX
12 :
13 : #include <com/sun/star/uno/Reference.hxx>
14 : #include <com/sun/star/beans/XPropertySet.hpp>
15 : #include <com/sun/star/beans/XPropertySetInfo.hpp>
16 :
17 : #include <test/testdllapi.hxx>
18 :
19 : #include <vector>
20 :
21 : namespace apitest {
22 :
23 24 : class OOO_DLLPUBLIC_TEST XPropertySet
24 : {
25 : public:
26 : virtual ~XPropertySet();
27 :
28 : virtual css::uno::Reference<css::uno::XInterface> init() = 0;
29 :
30 : void testGetPropertySetInfo();
31 : void testAddPropertyChangeListener();
32 : void testAddVetoableChangeListener();
33 : void testSetPropertyValue();
34 : void testGetPropertyValue();
35 : void testRemovePropertyChangeListener();
36 : void testRemoveVetoableChangeListener();
37 :
38 : protected:
39 : virtual bool isPropertyValueChangeable(const OUString& rName);
40 :
41 : private:
42 : void fillPropsToTest(const css::uno::Reference<css::beans::XPropertySetInfo>& xPropInfo);
43 : static bool getSinglePropertyValue(
44 : const css::uno::Reference<css::beans::XPropertySet>& xPropSet, const OUString& rName);
45 :
46 24 : struct OOO_DLLPUBLIC_TEST PropsToTest
47 : {
48 : std::vector<OUString> constrained;
49 : std::vector<OUString> bound;
50 : std::vector<OUString> normal;
51 : std::vector<OUString> readonly;
52 :
53 : bool initialized;
54 :
55 : PropsToTest();
56 : };
57 :
58 : PropsToTest maPropsToTest;
59 : };
60 :
61 : }
62 :
63 : #endif
64 :
65 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|