1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_beans_XMultiPropertySet_idl__
20 #define __com_sun_star_beans_XMultiPropertySet_idl__
22 #include
<com
/sun
/star
/uno
/XInterface.idl
>
24 #include
<com
/sun
/star
/beans
/XPropertySetInfo.idl
>
26 #include
<com
/sun
/star
/beans
/PropertyVetoException.idl
>
28 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
30 #include
<com
/sun
/star
/lang
/WrappedTargetException.idl
>
32 #include
<com
/sun
/star
/beans
/XPropertiesChangeListener.idl
>
36 module com
{ module sun
{ module star
{ module beans
{
39 /** provides access to multiple properties with a single call.
41 published
interface XMultiPropertySet
: com
::sun
::star
::uno
::XInterface
45 the XPropertySetInfo interface, which describes
46 all properties of the object to which this interface belongs.
47 NULL is returned if the object cannot or will
48 not provide information about the properties.
50 @see XPropertySet::getPropertySetInfo
52 com
::sun
::star
::beans
::XPropertySetInfo getPropertySetInfo
();
55 /** sets the values to the properties with the specified names.
57 <p>The values of the properties must change before the bound
58 events are fired. The values of the constrained properties
59 should change after the vetoable events are fired and only if no
60 exception occurred. Unknown properties are ignored. </p>
63 specifies the names of the properties. All names must be unique.
64 This sequence must be alphabetically sorted.
67 contains the new values of the properties. The order is the same
68 as in <var>aPropertyNames</var>.
70 @throws IllegalArgumentException
71 if one of the new values cannot be converted to the type
72 of the underlying property by an identity or widening conversion.
74 @throws com::sun::star::lang:WrappedTargetException
75 if the implementation has an internal reason for the exception.
76 In this case the original exception is wrapped.
78 void setPropertyValues
( [in] sequence
<string> aPropertyNames
,
79 [in] sequence
<any
> aValues
)
80 raises
( com
::sun
::star
::beans
::PropertyVetoException
,
81 com
::sun
::star
::lang
::IllegalArgumentException
,
82 com
::sun
::star
::lang
::WrappedTargetException
);
86 a sequence of all values of the properties which are specified by their names.
88 <p>The order of the values in the returned sequence will be the same
89 as the order of the names in the argument. </p>
92 specifies the names of the properties.
93 This sequence must be alphabetically sorted.
95 sequence
<any
> getPropertyValues
( [in] sequence
<string> aPropertyNames
);
98 /** adds an XPropertiesChangeListener to the
99 specified property with the specified names.
101 <p>The implementation can ignore the names of the properties
102 and fire the event on all properties. </p>
104 <p>It is suggested to allow multiple registration of the same listener,
105 thus for each time a listener is added, it has to be removed.
107 @param aPropertyNames
108 specifies the names of the properties.
111 contains the listener for the property change events.
113 @see removePropertiesChangeListener
115 void addPropertiesChangeListener
( [in] sequence
<string> aPropertyNames
,
116 [in] com
::sun
::star
::beans
::XPropertiesChangeListener xListener
);
119 /** removes an XPropertiesChangeListener from the listener list.
121 <p>It is a "noop" if the listener is not registered. </p>
123 <p>It is suggested to allow multiple registration of the same listener,
124 thus for each time a listener is added, it has to be removed.
127 contains the listener to be removed.
129 @see addPropertiesChangeListener
131 void removePropertiesChangeListener
(
132 [in] com
::sun
::star
::beans
::XPropertiesChangeListener xListener
);
135 /** fires a sequence of PropertyChangeEvents to the specified
138 @param aPropertyNames
139 specifies the sorted names of the properties.
142 contains the listener for the property change events.
144 void firePropertiesChangeEvent
( [in] sequence
<string> aPropertyNames
,
145 [in] com
::sun
::star
::beans
::XPropertiesChangeListener xListener
);
154 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */