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 : * This file incorporates work covered by the following license notice:
10 : *
11 : */
12 :
13 : #ifndef __TEST_BEANS_XPROPERTYSET_HXX__
14 : #define __TEST_BEANS_XPROPERTYSET_HXX__
15 :
16 : #include <com/sun/star/uno/Reference.hxx>
17 : #include <com/sun/star/beans/XPropertySet.hpp>
18 : #include <com/sun/star/beans/XPropertySetInfo.hpp>
19 :
20 : #include "test/testdllapi.hxx"
21 :
22 : #include <vector>
23 :
24 : namespace apitest {
25 :
26 12 : class OOO_DLLPUBLIC_TEST XPropertySet
27 : {
28 : public:
29 : virtual ~XPropertySet();
30 :
31 : virtual css::uno::Reference<css::uno::XInterface> init() = 0;
32 :
33 : void testGetPropertySetInfo();
34 : void testAddPropertyChangeListener();
35 : void testAddVetoableChangeListener();
36 : void testSetPropertyValue();
37 : void testGetPropertyValue();
38 : void testRemovePropertyChangeListener();
39 : void testRemoveVetoableChangeListener();
40 :
41 : protected:
42 : virtual bool isPropertyValueChangeable(const OUString& rName);
43 :
44 : private:
45 : void fillPropsToTest(const css::uno::Reference<css::beans::XPropertySetInfo>& xPropInfo);
46 : static bool getSinglePropertyValue(
47 : const css::uno::Reference<css::beans::XPropertySet>& xPropSet, const OUString& rName);
48 :
49 12 : struct OOO_DLLPUBLIC_TEST PropsToTest
50 : {
51 : std::vector<OUString> constrained;
52 : std::vector<OUString> bound;
53 : std::vector<OUString> normal;
54 : std::vector<OUString> readonly;
55 :
56 : bool initialized;
57 :
58 : PropsToTest();
59 : };
60 :
61 : PropsToTest maPropsToTest;
62 : };
63 :
64 : }
65 :
66 : #endif
67 :
68 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|