summaryrefslogtreecommitdiffstats
path: root/udkapi/com/sun/star/beans
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:54:39 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:54:39 +0000
commit267c6f2ac71f92999e969232431ba04678e7437e (patch)
tree358c9467650e1d0a1d7227a21dac2e3d08b622b2 /udkapi/com/sun/star/beans
parentInitial commit. (diff)
downloadlibreoffice-267c6f2ac71f92999e969232431ba04678e7437e.tar.xz
libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.zip
Adding upstream version 4:24.2.0.upstream/4%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'udkapi/com/sun/star/beans')
-rw-r--r--udkapi/com/sun/star/beans/Ambiguous.idl48
-rw-r--r--udkapi/com/sun/star/beans/Defaulted.idl48
-rw-r--r--udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl44
-rw-r--r--udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl59
-rw-r--r--udkapi/com/sun/star/beans/IllegalTypeException.idl38
-rw-r--r--udkapi/com/sun/star/beans/Introspection.idl33
-rw-r--r--udkapi/com/sun/star/beans/IntrospectionException.idl37
-rw-r--r--udkapi/com/sun/star/beans/MethodConcept.idl106
-rw-r--r--udkapi/com/sun/star/beans/NamedValue.idl40
-rw-r--r--udkapi/com/sun/star/beans/NotRemoveableException.idl34
-rw-r--r--udkapi/com/sun/star/beans/Optional.idl49
-rw-r--r--udkapi/com/sun/star/beans/Pair.idl43
-rw-r--r--udkapi/com/sun/star/beans/Property.idl71
-rw-r--r--udkapi/com/sun/star/beans/PropertyAttribute.idl98
-rw-r--r--udkapi/com/sun/star/beans/PropertyBag.idl42
-rw-r--r--udkapi/com/sun/star/beans/PropertyChangeEvent.idl72
-rw-r--r--udkapi/com/sun/star/beans/PropertyConcept.idl75
-rw-r--r--udkapi/com/sun/star/beans/PropertyExistException.idl37
-rw-r--r--udkapi/com/sun/star/beans/PropertySet.idl43
-rw-r--r--udkapi/com/sun/star/beans/PropertySetInfoChange.idl46
-rw-r--r--udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl56
-rw-r--r--udkapi/com/sun/star/beans/PropertyState.idl81
-rw-r--r--udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl70
-rw-r--r--udkapi/com/sun/star/beans/PropertyValue.idl61
-rw-r--r--udkapi/com/sun/star/beans/PropertyValues.idl32
-rw-r--r--udkapi/com/sun/star/beans/PropertyVetoException.idl37
-rw-r--r--udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl52
-rw-r--r--udkapi/com/sun/star/beans/StringPair.idl41
-rw-r--r--udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl77
-rw-r--r--udkapi/com/sun/star/beans/UnknownPropertyException.idl37
-rw-r--r--udkapi/com/sun/star/beans/XExactName.idl55
-rw-r--r--udkapi/com/sun/star/beans/XFastPropertySet.idl91
-rw-r--r--udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl134
-rw-r--r--udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl73
-rw-r--r--udkapi/com/sun/star/beans/XIntrospection.idl95
-rw-r--r--udkapi/com/sun/star/beans/XIntrospectionAccess.idl260
-rw-r--r--udkapi/com/sun/star/beans/XMaterialHolder.idl49
-rw-r--r--udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl124
-rw-r--r--udkapi/com/sun/star/beans/XMultiPropertySet.idl138
-rw-r--r--udkapi/com/sun/star/beans/XMultiPropertyStates.idl103
-rw-r--r--udkapi/com/sun/star/beans/XPropertiesChangeListener.idl44
-rw-r--r--udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl48
-rw-r--r--udkapi/com/sun/star/beans/XProperty.idl47
-rw-r--r--udkapi/com/sun/star/beans/XPropertyAccess.idl61
-rw-r--r--udkapi/com/sun/star/beans/XPropertyBag.idl41
-rw-r--r--udkapi/com/sun/star/beans/XPropertyChangeListener.idl40
-rw-r--r--udkapi/com/sun/star/beans/XPropertyContainer.idl75
-rw-r--r--udkapi/com/sun/star/beans/XPropertySet.idl165
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetInfo.idl74
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl41
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl53
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetOption.idl24
-rw-r--r--udkapi/com/sun/star/beans/XPropertyState.idl114
-rw-r--r--udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl43
-rw-r--r--udkapi/com/sun/star/beans/XPropertyWithState.idl89
-rw-r--r--udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl127
-rw-r--r--udkapi/com/sun/star/beans/XVetoableChangeListener.idl44
-rw-r--r--udkapi/com/sun/star/beans/theIntrospection.idl29
58 files changed, 3888 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/beans/Ambiguous.idl b/udkapi/com/sun/star/beans/Ambiguous.idl
new file mode 100644
index 0000000000..ce29b05a07
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Ambiguous.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+module com { module sun { module star { module beans {
+
+/**
+ A value of a given type that can be ambiguous.
+
+ <p>This structure is used as the type of interface attributes corresponding
+ to instances of com::sun::star::beans::Property that
+ have the com::sun::star::beans::PropertyAttribute::MAYBEAMBIGUOUS.</p>
+ */
+struct Ambiguous<T> {
+ /**
+ The underlying value of this structure instance.
+
+ <p>Even if this structure instance is ambiguous, this member should
+ contain a useful value. If there is no useful value for an ambiguous
+ structure instance, com::sun::star::beans::Optional
+ can be used as the type of this member.</p>
+ */
+ T Value;
+
+ /**
+ Marks this structure instance as ambiguous.
+ */
+ boolean IsAmbiguous;
+};
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/Defaulted.idl b/udkapi/com/sun/star/beans/Defaulted.idl
new file mode 100644
index 0000000000..bad991b7b0
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Defaulted.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+module com { module sun { module star { module beans {
+
+/**
+ A value of a given type that can be defaulted.
+
+ <p>This structure is used as the type of interface attributes corresponding
+ to instances of com::sun::star::beans::Property that
+ have the com::sun::star::beans::PropertyAttribute::MAYBEDEFAULT.</p>
+ */
+struct Defaulted<T> {
+ /**
+ The underlying value of this structure instance.
+
+ <p>Even if this structure instance is defaulted, this member should
+ contain a useful value. If there is no useful value for a defaulted
+ structure instance, com::sun::star::beans::Optional
+ can be used as the type of this member.</p>
+ */
+ T Value;
+
+ /**
+ Marks this structure instance as defaulted.
+ */
+ boolean IsDefaulted;
+};
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl
new file mode 100644
index 0000000000..ef21ea8edc
--- /dev/null
+++ b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** specifies information being retrieved about a single property.
+
+ This type is used for the elements in the sequence returned by
+ com::sun::star::beans::XTolerantMultiPropertySet::GetDirectPropertyTolerantResult.
+
+ @see com::sun::star::beans::XTolerantMultiPropertySet
+ */
+published struct GetDirectPropertyTolerantResult : com::sun::star::beans::GetPropertyTolerantResult
+{
+ /** specifies the name of the property.
+ */
+
+ string Name;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl
new file mode 100644
index 0000000000..54d3fabe5e
--- /dev/null
+++ b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** specifies information being retrieved about a single property.
+
+ @see com::sun::star::beans::XTolerantMultiPropertySet
+ */
+published struct GetPropertyTolerantResult
+{
+ /** specifies a success or error code for the retrieval operation.
+
+ @see com::sun::star::beans::TolerantPropertySetResultType
+ */
+
+ short Result;
+
+
+ /** contains the state of the property.
+
+ <p>The value is undefined if <var>Result</var> is not
+ com::sun::star::beans::TolerantPropertySetResultType::SUCCESS.</p>
+ */
+ com::sun::star::beans::PropertyState State;
+
+
+ /** contains the value of the property.
+
+ <p>The value is undefined if <var>Result</var> is not
+ com::sun::star::beans::TolerantPropertySetResultType::SUCCESS.</p>
+ */
+ any Value;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/IllegalTypeException.idl b/udkapi/com/sun/star/beans/IllegalTypeException.idl
new file mode 100644
index 0000000000..085dd95b72
--- /dev/null
+++ b/udkapi/com/sun/star/beans/IllegalTypeException.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** This exception is thrown to indicate the use of a type which is
+ not appropriate.
+
+ <p>This problem can occur, if you use an `any`. </p>
+ @see PropertyContainer
+ */
+published exception IllegalTypeException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/Introspection.idl b/udkapi/com/sun/star/beans/Introspection.idl
new file mode 100644
index 0000000000..360d46f483
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Introspection.idl
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+/** A legacy (single-instance) service variant of theIntrospection singleton.
+
+ @deprecated Use theIntrospection instead.
+*/
+published service Introspection : com::sun::star::beans::XIntrospection;
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/IntrospectionException.idl b/udkapi/com/sun/star/beans/IntrospectionException.idl
new file mode 100644
index 0000000000..895903e488
--- /dev/null
+++ b/udkapi/com/sun/star/beans/IntrospectionException.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+/** This exception is thrown when an exception happens during
+ introspection.
+ @deprecated
+
+ <p>This exception isn't specified and used anywhere</p>
+ */
+published exception IntrospectionException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/MethodConcept.idl b/udkapi/com/sun/star/beans/MethodConcept.idl
new file mode 100644
index 0000000000..22f77c4a0a
--- /dev/null
+++ b/udkapi/com/sun/star/beans/MethodConcept.idl
@@ -0,0 +1,106 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+/** These constants are used to specify concepts of the
+ introspection which apply to methods.
+
+ <p>This list is not necessarily complete; new constants
+ may be added.</p>
+ @see Introspection
+ @see XIntrospection
+ @see XIntrospectionAccess
+
+*/
+published constants MethodConcept
+{
+ /** This value is used to query for all methods, see
+ XIntrospectionAccess::getMethod() and
+ XIntrospectionAccess::getMethods()
+ */
+ const long ALL = -1;
+
+ /** specifies methods which can result in an unstable state
+ (i.e. deadlock, application crash, security hole, etc.)
+ when called directly by the user.
+ */
+ const long DANGEROUS = 1;
+
+ /** specifies methods which are used to set and get the
+ value of properties/attributes.
+
+ <p>These methods have the signature <code>type get...()
+ </code>, <code>void set...()</code> or <code>boolean is...()
+ </code>. </p>
+ */
+ const long PROPERTY = 2;
+
+ /** specifies methods of the <em>listener concept</em>.
+
+ <p>These methods have the signature <code>add...Listener()
+ </code> or <code>remove...Listener()</code>. </p>
+ */
+ const long LISTENER = 4;
+
+ /** specifies methods of the <em>enumeration concept</em>.
+
+ <p>These methods have the signature
+ <code>create...Enumeration</code> and return an interface
+ that is derived from com::sun::star::container::XEnumeration.
+ Additionally, the method
+ com::sun::star::container::XEnumerationAccess::getElementType()
+ belongs to this concept.</p>
+ */
+ const long ENUMERATION = 8;
+
+ /** specifies methods of the <em>name container concept</em>.
+
+ <p>These methods have the signature
+ <code>get...ByName()</code>,
+ <code>set...ByName()</code>,
+ <code>replace...ByName()</code>,
+ <code>remove...ByName()</code>,
+ <code>has...ByName()</code>, or
+ <code>get...Names</code>. In addition, the method
+ com::sun::star::container::XEnumerationAccess::getElementType()
+ belongs to this concept. </p>
+ */
+ const long NAMECONTAINER = 16;
+
+ /** specifies methods of the <em>index container concept</em>.
+
+ <p>These methods have the signature
+ <code>get...ByIndex()</code>,
+ <code>insert...ByIndex()</code>,
+ <code>replace...ByIndex()</code>, or
+ <code>remove...ByIndex()</code>.
+ The method com::sun::star::container::XIndexAccess::getCount()
+ also belongs to this concept. </p>
+ */
+ const long INDEXCONTAINER = 32;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/NamedValue.idl b/udkapi/com/sun/star/beans/NamedValue.idl
new file mode 100644
index 0000000000..cd1b6aefb0
--- /dev/null
+++ b/udkapi/com/sun/star/beans/NamedValue.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+ module com { module sun { module star { module beans {
+
+
+/** specifies a pair assembled from a name and a value.
+ */
+published struct NamedValue
+{
+ /** specifies the name part of the pair
+ */
+ string Name;
+
+
+ /** specifies the value part of the pair.
+ */
+ any Value;
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/NotRemoveableException.idl b/udkapi/com/sun/star/beans/NotRemoveableException.idl
new file mode 100644
index 0000000000..5636241987
--- /dev/null
+++ b/udkapi/com/sun/star/beans/NotRemoveableException.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module beans {
+
+
+/** This exception is thrown to indicate that removing a property from an
+ XPropertyContainer is not allowed.
+ */
+published exception NotRemoveableException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/Optional.idl b/udkapi/com/sun/star/beans/Optional.idl
new file mode 100644
index 0000000000..6e3392a50d
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Optional.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+module com { module sun { module star { module beans {
+
+/**
+ An optional value of a given type.
+
+ <p>This structure is used as the type of interface attributes corresponding
+ to instances of com::sun::star::beans::Property that
+ have the com::sun::star::beans::PropertyAttribute::MAYBEVOID. It might
+ also be useful in other situations, for example as the return type of an
+ interface method.</p>
+ */
+struct Optional<T> {
+ /**
+ Marks this structure instance as having an actual value.
+ */
+ boolean IsPresent;
+
+ /**
+ The actual value of this structure instance.
+
+ <p>If no actual value is present, a producer of such a structure instance
+ should leave this member defaulted, and a consumer of such a structure
+ instance should ignore the specific value stored in this member.</p>
+ */
+ T Value;
+};
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/Pair.idl b/udkapi/com/sun/star/beans/Pair.idl
new file mode 100644
index 0000000000..13c08b4a2a
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Pair.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+module com { module sun { module star { module beans {
+
+/** A tuple, or pair.
+
+ <p>
+ This structure allows for conveniently packing together two values of
+ any type, and could be useful as the result type of methods.
+ </p>
+
+ @since OOo 3.0
+ */
+struct Pair<T, U> {
+
+ /// first object.
+ T First;
+
+ /// second object.
+ U Second;
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/Property.idl b/udkapi/com/sun/star/beans/Property.idl
new file mode 100644
index 0000000000..3b619ace13
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Property.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** This structure describes a property.
+
+ There are three types of properties:
+ - bound properties
+ - constrained properties
+ - free properties
+
+ */
+published struct Property
+{
+ /** specifies the name of the property.
+
+ <p>The name is unique within an XPropertySet.
+ Upper and lower case are distinguished.</p>
+ */
+ string Name;
+
+
+ /** contains an implementation-specific handle for the property.
+
+ <p>It may be -1 if the implementation has no handle. You can use
+ this handle to get values from the XFastPropertySet.</p>
+ */
+ long Handle;
+
+
+ /** contains an object that identifies the declared type for
+ the property.
+
+ <p>If the property has multiple types or the type is not
+ known, <strong>but not an `any`</strong>, then
+ void must be returned.</p>
+ */
+ type Type;
+
+
+ /** This field may contain zero or more constants of the
+ PropertyAttribute constants group.
+ */
+ short Attributes;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertyAttribute.idl b/udkapi/com/sun/star/beans/PropertyAttribute.idl
new file mode 100644
index 0000000000..bddfd1cd25
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyAttribute.idl
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+ module com { module sun { module star { module beans {
+
+
+/** These values are used to specify the behavior of a Property.
+ */
+published constants PropertyAttribute
+{
+
+ /** indicates that a property value can be void.
+
+ <p>It does not mean that the type of the property is void!</p>
+ */
+ const short MAYBEVOID = 1;
+
+
+ /** indicates that a PropertyChangeEvent will be fired
+ to all registered XPropertyChangeListeners whenever the
+ value of this property changes.
+ */
+ const short BOUND = 2;
+
+
+ /** indicates that a PropertyChangeEvent will be fired
+ to all registered XVetoableChangeListeners whenever the
+ value of this property is about to change.
+
+ <p>This always implies that the property is <em>bound</em>, too. </p>
+ */
+ const short CONSTRAINED = 4;
+
+
+ /** indicates that the value of the property is not persistent.
+ */
+ const short TRANSIENT = 8;
+
+
+ /** indicates that the value of the property is read-only.
+ */
+ const short READONLY = 16;
+
+
+ /** indicates that the value of the property can be ambiguous.
+ */
+ const short MAYBEAMBIGUOUS = 32;
+
+
+ /** indicates that the property can be set to default.
+ */
+ const short MAYBEDEFAULT = 64;
+
+
+ /** indicates that the property can be removed
+ (i.e., by calling XPropertyContainer::removeProperty()).
+ */
+ const short REMOVABLE = 128;
+
+ /** @deprecated
+ same as PropertyAttribute::REMOVABLE.
+ */
+ const short REMOVEABLE = 128;
+
+ /** indicates that a property is optional.
+
+ <p>This attribute is not of interest for concrete property
+ implementations. It's needed for property specifications inside
+ service specifications in UNOIDL.</p>
+
+ @see com::sun::star::reflection::XPropertyTypeDescription
+ @see com::sun::star::reflection::XServiceTypeDescription
+ @since OOo 1.1.2
+ */
+ const short OPTIONAL = 256;
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertyBag.idl b/udkapi/com/sun/star/beans/PropertyBag.idl
new file mode 100644
index 0000000000..426ef751c3
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyBag.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** Implementation of this service can keep any properties and is useful
+ when an XPropertySet is to be used, for example, as parameters for a method call.
+
+ <p>Scripting engines might not be able to use such objects as normal
+ property sets, giving direct access to the properties. In this case,
+ use the methods like XPropertySet::getPropertyValue().
+ */
+published service PropertyBag : XPropertyBag
+{
+ createDefault();
+
+ createWithTypes( [in] sequence<type> AllowedTypes, [in] boolean AllowEmptyPropertyName, [in] boolean AutomaticAddition );
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertyChangeEvent.idl b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl
new file mode 100644
index 0000000000..00662b2a96
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+
+/** gets delivered whenever a "bound" or "constrained" property is changed.
+
+ <p>A PropertyChangeEvent object is sent as an
+ argument to the methods of XPropertyChangeListener
+ and XVetoableChangeListener. </p>
+
+ <p>Normally such events contain the name and the old and new
+ value of the changed property. </p>
+
+ <p>Void values may be provided for the old and new values if their
+ true values are not known. </p>
+ */
+published struct PropertyChangeEvent: com::sun::star::lang::EventObject
+{
+
+ /** contains the unique name of the property which changes its value.
+ */
+ string PropertyName;
+
+
+ /** contains `TRUE` if further events in the same transaction occur.
+ */
+ boolean Further;
+
+
+ /** contains the implementation handle for the property.
+
+ <p>May be -1 if the implementation has no handle. You can use
+ this handle to get values from the XFastPropertySet.</p>
+ */
+ long PropertyHandle;
+
+
+ /** contains the old value of the property.
+ */
+ any OldValue;
+
+
+ /** contains the new value of the property.
+ */
+ any NewValue;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertyConcept.idl b/udkapi/com/sun/star/beans/PropertyConcept.idl
new file mode 100644
index 0000000000..b216000bd8
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyConcept.idl
@@ -0,0 +1,75 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+/** These constants are used to specify concepts of the
+ introspection which apply to properties and to the
+ methods which represent attributes.
+
+ <p>This list is not necessarily complete; new constants
+ may be added.</p>
+
+ @see Introspection
+ @see XIntrospection
+ @see XIntrospectionAccess
+ */
+published constants PropertyConcept
+{
+ /** This value is used to query for all properties.
+
+ See
+ XIntrospectionAccess::getProperty() and
+ XIntrospectionAccess::getProperties()
+ */
+ const long ALL = -1;
+
+ /** specifies that the change or retrieval of this
+ property directly by the user can result in an unstable
+ state (deadlock, application crash, security hole, etc.)
+ */
+ const long DANGEROUS = 1;
+
+ /** specifies all properties which are reachable by
+ XPropertySet, XFastPropertySet or
+ XMultiPropertySet.
+ */
+ const long PROPERTYSET = 2;
+
+
+ /** specifies all properties which are actually attributes of interfaces.
+ */
+ const long ATTRIBUTES = 4;
+
+
+ /** specifies all properties which are represented by getter or setter methods.
+
+ <p>These methods have the signature <code>type get...()</code>,
+ <code>void set...()</code> or <code>boolean is...()</code>.</p>
+ */
+ const long METHODS = 8;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertyExistException.idl b/udkapi/com/sun/star/beans/PropertyExistException.idl
new file mode 100644
index 0000000000..55295d5e57
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyExistException.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+
+/** This exception is thrown to indicate that a property with this name already
+ exists in the object.
+
+ @see PropertyContainer
+ */
+published exception PropertyExistException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertySet.idl b/udkapi/com/sun/star/beans/PropertySet.idl
new file mode 100644
index 0000000000..6442ffe478
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertySet.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module beans {
+
+
+/** This is a generic service which should be supported by all services
+ which have properties.
+
+ <p>It specifies several, mostly optional ways to access properties.
+ */
+published service PropertySet
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ [optional] interface com::sun::star::beans::XFastPropertySet;
+ [optional] interface com::sun::star::beans::XMultiPropertySet;
+ [optional] interface com::sun::star::beans::XPropertyAccess;
+ [optional] interface com::sun::star::beans::XPropertyState;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertySetInfoChange.idl b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl
new file mode 100644
index 0000000000..8338456a62
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+
+/** specifies reasons for sending PropertySetInfoChangeEvents.
+
+ @see PropertySetInfoChangeEvent
+ @see XPropertySetInfo
+ */
+published constants PropertySetInfoChange
+{
+
+ /** A property was inserted into a XPropertySetInfo.
+ */
+ const long PROPERTY_INSERTED = 0;
+
+
+ /** A property was removed from a XPropertySetInfo.
+ */
+ const long PROPERTY_REMOVED = 1;
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl
new file mode 100644
index 0000000000..399ad5dfb4
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** gets delivered whenever an XPropertySetInfo is
+ changed.
+
+ <p>A PropertySetInfoChangeEvent object is sent
+ to XPropertySetInfoChangeListeners.</p>
+ */
+published struct PropertySetInfoChangeEvent: com::sun::star::lang::EventObject
+{
+
+ /** contains the name of the property.
+ */
+ string Name;
+
+
+ /** contains the implementation handle for the property.
+
+ <p>May be -1 if the implementation has no handle.</p>
+ */
+ long Handle;
+
+
+ /** contains the reason for the event.
+
+ @see PropertySetInfoChange
+ */
+ long Reason;
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertyState.idl b/udkapi/com/sun/star/beans/PropertyState.idl
new file mode 100644
index 0000000000..1c5c0d133f
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyState.idl
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** This enumeration lists the states that a property value can have.
+
+ <p>The state consists of two aspects: </p>
+ <ol>
+ <li>whether a value is available or void, </li>
+ <li>whether the value is stored in the property set itself or is a
+ default, or ambiguous. </li>
+ </ol>
+
+ @see XPropertyState
+ @see Property
+ */
+published enum PropertyState
+{
+
+ /** The value of the property is stored in the PropertySet itself.
+
+ <p>The property value must be available and of the specified type.
+ If the PropertyAttribute field in the struct
+ Property contains PropertyAttribute::MAYBEVOID,
+ then the value may be void. </p>
+ */
+ DIRECT_VALUE,
+
+
+ /** The value of the property is available from a master (e.g., template).
+
+ <p>The PropertyAttribute field in the struct
+ Property must contain the
+ PropertyAttribute::MAYBEDEFAULT flag. The property
+ value must be available and of the specified type. If the
+ PropertyAttribute field in the struct Property
+ contains PropertyAttribute::MAYBEVOID, then the
+ value may be void. </p>
+ */
+ DEFAULT_VALUE,
+
+
+ /** The value of the property is only a recommendation because there
+ are multiple values for this property (e.g., from a multi selection).
+
+ <p>The PropertyAttribute field in the struct
+ Property must contain the
+ PropertyAttribute::MAYBEAMBIGUOUS flag. The
+ property value must be available and of the specified type.
+ If the Attribute field in the struct Property contains
+ PropertyAttribute::MAYBEVOID, then the value
+ may be void. </p>
+ */
+ AMBIGUOUS_VALUE
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl
new file mode 100644
index 0000000000..d77327afc2
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** is delivered whenever the state of a "bound" property is changed.
+
+ <p>It is sent as an argument to the method of
+ XPropertyStateChangeListener. </p>
+
+ <p>Normally these events are accompanied by the name, and the old
+ and new values of the changed property. </p>
+
+ <p>Void values may be provided for the old and new values if their
+ true values are not known. </p>
+ */
+published struct PropertyStateChangeEvent: com::sun::star::lang::EventObject
+{
+
+ /** specifies the name of the property which changes its value.
+
+ <p>This name identifies the property uniquely within an
+ XPropertySet. Upper and lower case are distinguished.</p>
+ */
+ string PropertyName;
+
+
+ /** contains the implementation handle for the property.
+
+ <p>It may be -1 if the implementation has no handle. You can use this
+ handle to get values from the XFastPropertySet
+ interface.</p>
+ */
+ long PropertyHandle;
+
+
+ /** contains the old value of the property.
+ */
+ com::sun::star::beans::PropertyState OldValue;
+
+
+ /** contains the new value of the property.
+ */
+ com::sun::star::beans::PropertyState NewValue;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertyValue.idl b/udkapi/com/sun/star/beans/PropertyValue.idl
new file mode 100644
index 0000000000..c4b8516000
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyValue.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+
+/** specifies a property value.
+ */
+published struct PropertyValue
+{
+ /** specifies the name of the property.
+
+ <p>The name is unique within a sequence of PropertyValues.
+ Upper and lower case are distinguished.</p>
+ */
+ string Name;
+
+
+ /** contains an implementation-specific handle for the property.
+
+ <p>It may be -1 if the implementation has no handle. If available
+ it can be used for fast lookups.</p>
+ */
+ long Handle;
+
+
+ /** contains the value of the property or `VOID`,
+ if no value is available.
+ */
+ any Value;
+
+
+ /** determines if the value comes from the object itself or from
+ a default and if the value cannot be determined exactly.
+ */
+ com::sun::star::beans::PropertyState State;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertyValues.idl b/udkapi/com/sun/star/beans/PropertyValues.idl
new file mode 100644
index 0000000000..3b6142373c
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyValues.idl
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module beans {
+
+/** specifies a sequence of PropertyValue instances.
+
+ <p>Such sequences are especially useful for remote interfaces. </p>
+*/
+published typedef sequence<PropertyValue> PropertyValues;
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/PropertyVetoException.idl b/udkapi/com/sun/star/beans/PropertyVetoException.idl
new file mode 100644
index 0000000000..86739e42c1
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyVetoException.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** This exception is thrown when a proposed change to a
+ property represents an unacceptable value.
+
+ @see XPropertySet
+ */
+published exception PropertyVetoException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl
new file mode 100644
index 0000000000..13715d5507
--- /dev/null
+++ b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** specifies information about a single property failed to be set.
+
+ @see com::sun::star::beans::XTolerantMultiPropertySet
+ */
+published struct SetPropertyTolerantFailed
+{
+ /** specifies the name of the property.
+ */
+ string Name;
+
+
+ /** specifies the success or error code for setting the
+ properties value.
+
+ <p>Since the property was not successful set the result will never be
+ com::sun::star::beans::TolerantPropertySetResultType::SUCCESS.
+ </p>
+
+ @see com::sun::star::beans::TolerantPropertySetResultType
+ */
+ short Result;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/StringPair.idl b/udkapi/com/sun/star/beans/StringPair.idl
new file mode 100644
index 0000000000..f75caabbfd
--- /dev/null
+++ b/udkapi/com/sun/star/beans/StringPair.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+ module com { module sun { module star { module beans {
+
+
+/** specifies a pair of two strings.
+ */
+published struct StringPair
+{
+ /** specifies the first of the two strings.
+ */
+ string First;
+
+
+ /** specifies the second of the two strings.
+ */
+ string Second;
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl
new file mode 100644
index 0000000000..8179131056
--- /dev/null
+++ b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** specifies the possible failure types when using the
+ com::sun::star::beans::XTolerantMultiPropertySet
+ interface.
+
+ <p>It usually matches one of the exception types that may occur when
+ using the
+ com::sun::star::beans::XPropertySet or
+ com::sun::star::beans::XMultiPropertySet interfaces.</p>
+*/
+constants TolerantPropertySetResultType
+{
+ /** the property has been successfully set or retrieved.
+ */
+ const short SUCCESS = 0;
+
+ /** the property is not available.
+
+ <p>For example if a
+ com::sun::star::beans::UnknownPropertyException
+ was caught.</p>
+ */
+ const short UNKNOWN_PROPERTY = 1;
+
+ /** the value used with the property is not valid.
+
+ <p>For example if a
+ com::sun::star::lang::IllegalArgumentException
+ was caught.</p>
+ */
+ const short ILLEGAL_ARGUMENT = 2;
+
+ /** the property could not be changed at that time.
+
+ <p>For example if a
+ com::sun::star::beans::PropertyVetoException
+ was caught.</p>
+ */
+ const short PROPERTY_VETO = 3;
+
+ /** a com::sun::star::lang::WrappedTargetException
+ did occur.
+ */
+ const short WRAPPED_TARGET = 4;
+
+ /** the operation failed and the reason is not known.
+ */
+ const short UNKNOWN_FAILURE = 5;
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/UnknownPropertyException.idl b/udkapi/com/sun/star/beans/UnknownPropertyException.idl
new file mode 100644
index 0000000000..35a5079c23
--- /dev/null
+++ b/udkapi/com/sun/star/beans/UnknownPropertyException.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+
+/** This exception is thrown to indicate that the property name is unknown to
+ the implementation.
+
+ @see XPropertySet
+ */
+published exception UnknownPropertyException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XExactName.idl b/udkapi/com/sun/star/beans/XExactName.idl
new file mode 100644
index 0000000000..0f32374cff
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XExactName.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** provides a method of changing names for converting
+ an approximate name to an existing name.
+
+ <p> One field of application is the conversion of case-insensitive
+ names to the existing names. </p>
+
+ <p>Example: A basic interpreter ignores the case of the names. So
+ it must query the XExactName interface and then call
+ the method. </p>
+
+ @see com::sun::star::beans::XPropertySet
+ @see com::sun::star::beans::XIntrospectionAccess
+ @see com::sun::star::container::XNameAccess
+ */
+published interface XExactName: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the exact name for a given approximate name.
+
+ <p>For example "getExactName" could be returned for "GETEXACTNAME"
+ when "GETEXACTNAME" was used by a case insensitive scripting language. </p>
+ */
+ string getExactName( [in] string aApproximateName );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XFastPropertySet.idl b/udkapi/com/sun/star/beans/XFastPropertySet.idl
new file mode 100644
index 0000000000..2e3aa7c041
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XFastPropertySet.idl
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** provides a fast way of accessing and changing property values.
+
+ <p>This interface is an extension to the XPropertySet
+ interface. The get and set methods use handles to access the
+ property values instead of character strings.</p>
+ */
+published interface XFastPropertySet: com::sun::star::uno::XInterface
+{
+
+ /** sets the value to the property with the specified name.
+
+ @param nHandle
+ contains the implementation handle of the
+ implementation for the property.
+
+ @param aValue
+ contains the new value of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws PropertyVetoException
+ if a vetoable listener does not approve the change of
+ a property value.
+
+ @throws IllegalArgumentException
+ if the new value cannot be converted to the type of the
+ underlying property by an identity or widening conversion.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into this
+ com::sun::star::lang::WrappedTargetException.
+
+ */
+ void setFastPropertyValue( [in] long nHandle,
+ [in] any aValue )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** @returns
+ the value of the property with the name PropertyName.
+
+ @param nHandle
+ contains the implementation handle of the implementation for the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ com::sun::star::lang::WrappedTargetException.
+ */
+ any getFastPropertyValue( [in] long nHandle )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl
new file mode 100644
index 0000000000..9c75f75a3e
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl
@@ -0,0 +1,134 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** provides information about and access to the
+ a hierarchy of properties from an implementation.
+
+ <p> Usually an object that implements this interface
+ also implements XPropertySet and at
+ least some of the properties have subproperties. </p>
+
+ <p> This interface allows direct access to subsubproperties, ...
+ up to an arbitrary nesting depth. Often the intermediate
+ elements of the hierarchy implement XProperty. </p>
+
+ <p> Each implementation specifies how the
+ hierarchical property names, that are
+ used to access the elements of the hierarchy,
+ are formed. </p>
+
+ <p> Commonly a notation similar to filesystem paths
+ (separated by '/' slashes) or nested module names
+ (separated by dots '.' or '::') is used. </p>
+
+ */
+published interface XHierarchicalPropertySet: com::sun::star::uno::XInterface
+{
+
+ /** retrieve information about the hierarchy of properties
+
+ @returns
+ the XHierarchicalPropertySetInfo interface,
+ which describes the property hierarchy of the object which
+ supplies this interface.
+
+ @returns
+ `NULL` if the implementation cannot or will
+ not provide information about the properties; otherwise the
+ interface XHierarchicalPropertySetInfo is returned.
+ */
+ com::sun::star::beans::XHierarchicalPropertySetInfo
+ getHierarchicalPropertySetInfo();
+
+
+ /** sets the value of the property with the specified nested name.
+
+ @param aHierarchicalPropertyName
+ This parameter specifies the name of the property.
+
+ @param aValue
+ This parameter specifies the new value for the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws PropertyVetoException
+ if the property is constrained and the change is vetoed by a
+ XVetoableChangeListener.
+
+ @throws com::sun::star::uno::lang::IllegalArgumentException
+ if <var>aValue</var> is not a legal value for this property or
+ if <var>aHierarchicalPropertyName</var> is not a well-formed
+ nested name for this hierarchy.
+ An implementation is not required to detect the latter condition.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ com::sun::star::lang::WrappedTargetException.
+
+ @see XPropertySet::setPropertyValue
+ */
+ void setHierarchicalPropertyValue( [in] string aHierarchicalPropertyName,
+ [in] any aValue )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** @returns
+ the value of the property with the specified nested name.
+
+ @param aHierarchicalPropertyName
+ This parameter specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws com::sun::star::uno::lang::IllegalArgumentException
+ if <var>aHierarchicalPropertyName</var> is not a well-formed
+ nested name for this hierarchy.
+ An implementation is not required to detect this
+ condition.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ com::sun::star::lang::WrappedTargetException.
+
+ @see XPropertySet::getPropertyValue
+ */
+ any getHierarchicalPropertyValue( [in] string aHierarchicalPropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl
new file mode 100644
index 0000000000..8770e3fb01
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** specifies a hierarchy of properties.
+
+ <p>The specification only describes the properties, it does not contain
+ any values.</p>
+ */
+published interface XHierarchicalPropertySetInfo: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the property with the specified name from the hierarchy.
+
+ @param aHierarchicalName
+ specifies the nested name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if <var>aHierarchicalName</var> is not a well-formed
+ nested name for this hierarchy.
+ An implementation is not required to detect this
+ condition.
+
+ */
+ com::sun::star::beans::Property getPropertyByHierarchicalName( [in] string aHierarchicalName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+
+ /** @returns
+ `TRUE` if a property with the specified name exists;
+ otherwise `FALSE` is returned.
+
+ @param aHierarchicalName
+ specifies the name of the property.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if <var>aHierarchicalName</var> is not a well-formed
+ nested name for this hierarchy.
+ An implementation is not required to detect this
+ condition.
+ */
+ boolean hasPropertyByHierarchicalName( [in] string aHierarchicalName );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XIntrospection.idl b/udkapi/com/sun/star/beans/XIntrospection.idl
new file mode 100644
index 0000000000..edbe1bd43a
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XIntrospection.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+/** allows the inspection of an object's properties and methods.
+
+ <p><strong>Important note:</strong>An object can only be
+ inspected completely if it supports the com::sun::star::lang::XTypeProvider
+ interface.</p>
+
+ <p>For details see method XIntrospection::inspect(). </p>
+
+ @see XIntrospectionAccess
+ */
+published interface XIntrospection: com::sun::star::uno::XInterface
+{
+ /** inspects the given object.
+
+ <p>It identifies all properties supported by the object
+ if they are represented in one of the following ways: </p>
+
+ <dl>
+ <dt>property set </dt>
+ <dd>If the object supports an XPropertySet
+ interface, all its properties are adopted.
+ </dd>
+
+ <dt>attributes </dt>
+ <dd>All of an object's attributes are considered as properties
+ with same name. If an attribute is read-only, the property
+ also is read-only.
+ </dd>
+
+ <dt>get/set methods </dt>
+ <dd>Every method <code>RetType getX()</code> defines a
+ property where "X" stands for the property name and
+ "RetType" for its type. The method must not have any
+ parameters, or there is no property access method
+ and "X" has no property. If there is also a method
+ <code>void setX( [in] RetType )</code>, the property
+ "X" also allows write access; otherwise it is read-only.
+ </dd>
+
+ <dt> <strong>Important note:</strong></dt>
+ <dd>If an object implements com::sun::star::container::XNameAccess,
+ the items that can be accessed are not considered as properties
+ of the object and so are not included in the property list offered by
+ com::sun::star::beans::XIntrospectionAccess::getProperties().
+ com::sun::star::container::XNameAccess items have to be
+ accessed separately by com::sun::star::beans::XIntrospectionAccess::getNameAccess().
+ </dd>
+ </dl>
+
+ <p>In addition, the inspect method identifies all listener
+ access methods in the form <code>add...Listener</code>/
+ <code>remove...Listener</code> (except methods of interface
+ XPropertySet) where "..." stands for the listener type.
+ </p>
+
+ <p>Methods which do not belong to a property nor which represent
+ a listener access nor which are methods of XPropertySet,
+ com::sun::star::container::XNameAccess,
+ com::sun::star::container::XIndexAccess, or
+ com::sun::star::container::XEnumerationAccess, are considered to be normal
+ methods. </p>
+
+ @see XIntrospectionAccess
+ */
+ com::sun::star::beans::XIntrospectionAccess inspect( [in] any aObject );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XIntrospectionAccess.idl b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl
new file mode 100644
index 0000000000..629d26ddfe
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl
@@ -0,0 +1,260 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+ module com { module sun { module star { module beans {
+
+
+/** represents the result of an introspection operation done by
+ the inspect method of XIntrospection.
+
+ <p>This interface gives information about an object's
+ properties and methods as detected in the introspection
+ process. It's not possible to access properties or call
+ methods directly using this interface but it provides
+ access to other interfaces to do so.
+ See com::sun::star::beans::XIntrospectionAccess::queryAdapter()</p>
+
+ <p>The XExactName interface has to be supported
+ in order to implement inaccurate name access for all objects
+ which implement the com::sun::star::container::XNameAccess interface
+ or XPropertySet.</p>
+
+ <p>The XMaterialHolder interface has to be
+ supported to give access to the inspected object.</p>
+
+ @see XPropertySet
+ @see com::sun::star::beans::XExactName
+ */
+published interface XIntrospectionAccess: com::sun::star::uno::XInterface
+{
+ /** returns information about which method concepts described in
+ the MethodConcept constants group are supported
+ by this XIntrospectionAccess implementation.
+
+ <p>The minimum supported concepts should be:</p>
+
+ <ul>
+ <li> MethodConcept::PROPERTY, </li>
+ <li> MethodConcept::LISTENER, </li>
+ <li> MethodConcept::ENUMERATION, </li>
+ <li> MethodConcept::NAMECONTAINER</li>
+ <li> MethodConcept::INDEXCONTAINER; </li>
+ </ul>
+
+ @returns
+ zero or more constants of the MethodConcept
+ constants group combined by an arithmetical or-operation.
+ */
+ long getSuppliedMethodConcepts();
+
+ /** returns information about which property concepts described in
+ the PropertyConcept constants group are supported
+ by this XIntrospectionAccess implementation.
+
+ <p>The minimum supported concepts should be:</p>
+
+ <ul>
+ <li> PropertyConcept::PROPERTYSET, </li>
+ <li> PropertyConcept::ATTRIBUTES and </li>
+ <li> PropertyConcept::METHODS. </li>
+ </ul>
+
+ @returns
+ zero or more constants of the PropertyConcept
+ constants group.combined by an arithmetical or-operation.
+ */
+ long getSuppliedPropertyConcepts();
+
+ /** returns information about a property if a property with
+ the demanded name exists and if it accords to one of the
+ demanded PropertyConcepts. The information
+ is provided as Property struct.
+
+ @returns
+ A Property struct providing
+ information about the demanded property,
+ if a corresponding property exists.
+
+ @param aName
+ the name of the property.
+
+ @param nPropertyConcepts
+ zero or more constants of the PropertyConcept
+ constants group combined by an arithmetical
+ or-operation.
+
+ @throws NoSuchElementException
+ when a property with the demanded name doesn't exist
+ or if it accords to a wrong PropertyConcept.
+ */
+ com::sun::star::beans::Property getProperty( [in] string aName,
+ [in] long nPropertyConcepts )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** allows to ask if a property with the demanded name exists
+ and if it accords to one of the demanded PropertyConcept.
+
+ @returns
+ `TRUE` if the property exists and accords to one of
+ the demanded PropertyConcepts, otherwise
+ `FALSE` is returned.
+
+ @param aName
+ the name of the property.
+
+ @param nPropertyConcepts
+ zero or more constants of the PropertyConcept
+ constants group combined by an arithmetical
+ or-operation.
+ */
+ boolean hasProperty( [in] string aName,
+ [in] long nPropertyConcepts );
+
+ /** returns a sequence of properties of the introspected object
+
+ @returns
+ all properties of the introspected object which accord
+ to the demanded PropertyConcepts.
+
+ @param nPropertyConcepts
+ zero or more constants of the PropertyConcept
+ constants group combined by an arithmetical
+ or-operation.
+ */
+ sequence<com::sun::star::beans::Property> getProperties(
+ [in] long nPropertyConcepts );
+
+ /** returns information about a method if a method with
+ the demanded name exists and if it accords to one of
+ the demanded MethodConcepts. The information is
+ provided as com::sun::star::reflection::XIdlMethod.
+
+ @returns
+ A com::sun::star::reflection::XIdlMethod providing
+ information about and
+ access to the demanded method if a corresponding
+ method exists.
+
+ @param aName
+ the name of the method.
+
+ @param nMethodConcepts
+ zero or more constants of the MethodConcept
+ constants group combined by an arithmetical
+ or-operation.
+
+ @throws NoSuchElementException
+ when a method with the demanded name doesn't exist
+ or if it accords to a wrong MethodConcept.
+ */
+ com::sun::star::reflection::XIdlMethod getMethod( [in] string aName,
+ [in] long nMethodConcepts )
+ raises( com::sun::star::lang::NoSuchMethodException );
+
+ /** allows to ask if a method with the demanded name exists
+ and if it accords to one of the demanded MethodConcept.
+
+ @returns
+ `TRUE` if the method exists and accords to one of
+ the demanded MethodConcepts, otherwise
+ `FALSE` is returned.
+
+ @param aName
+ the name of the method.
+
+ @param nMethodConcepts
+ zero or more constants of the MethodConcept
+ constants group combined by an arithmetical
+ or-operation.
+ */
+ boolean hasMethod( [in] string aName,
+ [in] long nMethodConcepts );
+
+ /** returns a sequence of methods of the introspected object.
+
+ @returns
+ all methods of the introspected object which accord
+ to the demanded MethodConcepts.
+
+ @param nMethodConcepts
+ zero or more constants of the MethodConcept
+ constants group combined by an arithmetical
+ or-operation.
+ */
+ sequence<com::sun::star::reflection::XIdlMethod> getMethods(
+ [in] long nMethodConcepts );
+
+ /** returns the listener types supported by the introspected
+ object.
+
+ <p>If the introspected object has the methods
+ <code>addFooListener( XFooListener xFoo )</code> and
+ <code>removeFooListener( XFooListener xFoo )</code>
+ the type of XFooListener will be one of the elements
+ in the returned sequence.
+
+ @returns
+ a sequence of the types of listener interfaces
+ which are supported by the introspected object.
+ */
+ sequence<type> getSupportedListeners();
+
+ /** creates an adapter that implements an interface with the
+ specified type.
+
+ <p>To access properties, query for the XPropertySet
+ interface. If the XPropertySet can
+ be queried, the XFastPropertySet interface
+ must be supported too. </p>
+
+ <p>If the introspected object implements a name container,
+ the introspection should return the
+ com::sun::star::container::XNameAccess and
+ com::sun::star::container::XNameContainer interfaces.</p>
+
+ <p>If the introspected object implements an index container,
+ the introspection should return the
+ com::sun::star::container::XIndexAccess and
+ com::sun::star::container::XIndexContainer interfaces.</p>
+
+ <p>If the introspected object implements an enumeration
+ container, the introspection should return the
+ com::sun::star::container::XEnumerationAccess interface.</p>
+
+ <p>If the introspected object implements the
+ com::sun::star::reflection::XIdlArray interface,
+ the introspection should return this.</p>
+
+ <p>To implement inaccurate name access, at all objects,
+ which implement the com::sun::star::container::XNameAccess or
+ XPropertySet interface, the XExactName interface has to be supported.
+ </p>
+
+ @see com::sun::star::beans::XExactName
+ */
+ com::sun::star::uno::XInterface queryAdapter( [in] type aInterfaceType )
+ raises( com::sun::star::beans::IllegalTypeException );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XMaterialHolder.idl b/udkapi/com/sun/star/beans/XMaterialHolder.idl
new file mode 100644
index 0000000000..00545b55cb
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMaterialHolder.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+/** gives access to the material a (tool-) object is working on.
+
+ <p>Example: The introspection service allows the inspection of an
+ object's properties and methods. The result is represented as
+ XIntrospectionAccess interface. The inspected object then is the
+ material attached to the introspection tool and an implementation
+ of XIntrospectionAccess should also support
+ XMaterialHolder to give access to this material.</p>
+
+ @see XIntrospectionAccess
+ */
+published interface XMaterialHolder: com::sun::star::uno::XInterface
+{
+ /** returns the material that is connected to this (tool-) object
+
+ @returns
+ the material that is connected to this (tool-) object.
+ */
+ any getMaterial();
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl
new file mode 100644
index 0000000000..c81adbf009
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module beans {
+
+
+/** provides access to multiple properties which form a hierarchy.
+
+ @see XHierarchicalPropertySet
+ */
+published interface XMultiHierarchicalPropertySet: com::sun::star::uno::XInterface
+{
+
+ /** retrieve information about the hierarchy of properties
+
+ @returns
+ the XHierarchicalPropertySetInfo interface,
+ which describes the property hierarchy of the object which
+ supplies this interface.
+
+ @returns
+ `NULL` if the implementation cannot or will
+ not provide information about the properties; otherwise the
+ interface XHierarchicalPropertySetInfo is returned.
+
+ @see XHierarchicalPropertySet::getHierarchicalPropertySetInfo
+ */
+ com::sun::star::beans::XHierarchicalPropertySetInfo getHierarchicalPropertySetInfo();
+
+
+ /** sets the values of the properties with the specified nested names.
+
+ <p> The values of the properties must change before bound
+ events are fired. The values of constrained properties
+ should change after the vetoable events are fired, if no
+ exception occurs. </p>
+
+ <p> Unknown properties are ignored. </p>
+
+ @param aHierarchicalPropertyNames
+ This parameter specifies the names of the properties.
+
+ @param Values
+ This parameter specifies the new values for the properties.
+
+ @throws PropertyVetoException
+ if one of the properties is constrained and the change is
+ vetoed by a XVetoableChangeListener.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the values is not a legal value for the
+ corresponding property or if one of the names
+ is not a well-formed nested name for this hierarchy.
+ An implementation is not required to detect the latter
+ condition.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ com::sun::star::lang::WrappedTargetException.
+
+ @see XHierarchicalPropertySet::setHierarchicalPropertyValue
+ @see XMultiPropertySet::setPropertyValues
+ */
+
+
+ void setHierarchicalPropertyValues( [in] sequence<string> aHierarchicalPropertyNames,
+ [in] sequence<any> Values )
+ raises( com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** @returns
+ a sequence of all values of the properties which are specified
+ by their nested names.
+
+ <p> The order of the values in the returned sequence will be the same
+ as the order of the names in the argument. </p>
+
+ <p> Unknown properties are ignored, in their place `NULL` will be returned. </p>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one of the names is not a well-formed
+ nested name for this hierarchy.
+ An implementation is not required to detect this
+ condition.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ com::sun::star::lang::WrappedTargetException.
+
+ @see XHierarchicalPropertySet::getHierarchicalPropertyValue
+ @see XMultiPropertySet::setPropertyValues
+ */
+ sequence<any> getHierarchicalPropertyValues( [in] sequence<string> aPropertyNames )
+ raises( com::sun::star::lang::IllegalArgumentException ,
+ com::sun::star::lang::WrappedTargetException );
+
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XMultiPropertySet.idl b/udkapi/com/sun/star/beans/XMultiPropertySet.idl
new file mode 100644
index 0000000000..407a6e449b
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMultiPropertySet.idl
@@ -0,0 +1,138 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** provides access to multiple properties with a single call.
+ */
+published interface XMultiPropertySet: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the XPropertySetInfo interface, which describes
+ all properties of the object to which this interface belongs.
+ NULL is returned if the object cannot or will
+ not provide information about the properties.
+
+ @see XPropertySet::getPropertySetInfo
+ */
+ com::sun::star::beans::XPropertySetInfo getPropertySetInfo();
+
+
+ /** sets the values to the properties with the specified names.
+
+ <p>The values of the properties must change before the bound
+ events are fired. The values of the constrained properties
+ should change after the vetoable events are fired and only if no
+ exception occurred. Unknown properties are ignored. </p>
+
+ @param aPropertyNames
+ specifies the names of the properties. All names must be unique.
+ This sequence must be alphabetically sorted.
+
+ @param aValues
+ contains the new values of the properties. The order is the same
+ as in <var>aPropertyNames</var>.
+
+ @throws IllegalArgumentException
+ if one of the new values cannot be converted to the type
+ of the underlying property by an identity or widening conversion.
+
+ @throws com::sun::star::lang:WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped.
+ */
+ void setPropertyValues( [in] sequence<string> aPropertyNames,
+ [in] sequence<any> aValues )
+ raises( com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** @returns
+ a sequence of all values of the properties which are specified by their names.
+
+ <p>The order of the values in the returned sequence will be the same
+ as the order of the names in the argument. </p>
+
+ @param aPropertyNames
+ specifies the names of the properties.
+ This sequence must be alphabetically sorted.
+ */
+ sequence<any> getPropertyValues( [in] sequence<string> aPropertyNames );
+
+
+ /** adds an XPropertiesChangeListener to the
+ specified property with the specified names.
+
+ <p>The implementation can ignore the names of the properties
+ and fire the event on all properties. </p>
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @param aPropertyNames
+ specifies the names of the properties.
+
+ @param xListener
+ contains the listener for the property change events.
+
+ @see removePropertiesChangeListener
+ */
+ void addPropertiesChangeListener( [in] sequence<string> aPropertyNames,
+ [in] com::sun::star::beans::XPropertiesChangeListener xListener );
+
+
+ /** removes an XPropertiesChangeListener from the listener list.
+
+ <p>It is a "noop" if the listener is not registered. </p>
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @param xListener
+ contains the listener to be removed.
+
+ @see addPropertiesChangeListener
+ */
+ void removePropertiesChangeListener(
+ [in] com::sun::star::beans::XPropertiesChangeListener xListener );
+
+
+ /** fires a sequence of PropertyChangeEvents to the specified
+ listener.
+
+ @param aPropertyNames
+ specifies the sorted names of the properties.
+
+ @param xListener
+ contains the listener for the property change events.
+ */
+ void firePropertiesChangeEvent( [in] sequence<string> aPropertyNames,
+ [in] com::sun::star::beans::XPropertiesChangeListener xListener );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XMultiPropertyStates.idl b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl
new file mode 100644
index 0000000000..c1ba6c30ff
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl
@@ -0,0 +1,103 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+/** makes it possible to query information about the state of
+ one or more properties.
+
+ <p>The state of a property contains information about the source of
+ the value, e.g. the object itself, a default or a stylesheet.
+ For more information see PropertyState.
+*/
+published interface XMultiPropertyStates: com::sun::star::uno::XInterface
+{
+ /** @returns
+ a sequence of the states of the properties which are specified
+ by their names.
+
+ <p>The order of the states is correlating to the order of the
+ given property names.
+
+ @param aPropertyName
+ specifies the names of the properties. All names must be unique.
+ This sequence must be alphabetically sorted.
+ */
+ sequence<com::sun::star::beans::PropertyState> getPropertyStates(
+ [in] sequence<string> aPropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+ /** sets all properties to their default values.
+
+ <p>Each value depends on the implementation of this interface.
+ If it is a bound property, you must change the value before
+ the change events are fired. If it is a constrained property, you
+ must fire the vetoable event before you change the property value.
+ </p>
+ */
+ void setAllPropertiesToDefault();
+
+ /** sets the specified properties to their default values.
+
+ <p>Each value depends on the implementation of this interface.
+ If it is a bound property, you must change the value before
+ the change events are fired. If it is a constrained property, you
+ must fire the vetoable event before you change the property value. </p>
+
+ @param aPropertyNames
+ specifies the names of the properties. All names must be unique.
+ This sequence must be alphabetically sorted.
+
+ @throws UnknownPropertyException
+ if one of the properties does not exist.
+ */
+ void setPropertiesToDefault( [in] sequence<string> aPropertyNames )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+ /** @returns
+ the default values of the properties with the specified names.
+
+ <p>If no default exists, is not known, or is void,
+ then the return type at the corresponding position in the
+ sequence returned is `void`. </p>
+
+ @param aPropertyNames
+ specifies the names of the properties. All names must be unique.
+ This sequence must be alphabetically sorted.
+
+ @throws UnknownPropertyException
+ if one of the properties does not exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ com::sun::star::lang::WrappedTargetException.
+ */
+ sequence<any> getPropertyDefaults(
+ [in] sequence<string> aPropertyNames )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl b/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl
new file mode 100644
index 0000000000..02d1932a8c
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** receives events which get fired whenever a bound property is changed.
+ */
+published interface XPropertiesChangeListener: com::sun::star::lang::XEventListener
+{
+
+ /** gets called when bound properties are changed.
+
+ @param aEvent
+ contains a sequence of PropertyChangeEvent objects
+ which describe the event source and the properties that have
+ changed.
+ */
+ void propertiesChange( [in] sequence<com::sun::star::beans::PropertyChangeEvent> aEvent );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl
new file mode 100644
index 0000000000..3d69bd6496
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module beans {
+
+
+/** specifies a notifier for changed property values@see XPropertiesChangeListener
+ */
+published interface XPropertiesChangeNotifier: com::sun::star::uno::XInterface
+{
+
+ /** adds an XPropertiesChangeListener to the
+ specified properties with the specified names.
+ */
+ void addPropertiesChangeListener(
+ [in] sequence<string> PropertyNames,
+ [in] com::sun::star::beans::XPropertiesChangeListener Listener );
+
+
+ /** removes an XPropertiesChangeListener from the
+ listener list.
+ */
+ void removePropertiesChangeListener(
+ [in] sequence<string> PropertyNames,
+ [in] com::sun::star::beans::XPropertiesChangeListener Listener );
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XProperty.idl b/udkapi/com/sun/star/beans/XProperty.idl
new file mode 100644
index 0000000000..21a67e3cda
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XProperty.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module beans {
+
+
+/** Is implemented by objects that also are a property of
+ some other object.
+
+ <p> Provides access to traits of this object that would
+ otherwise only be available from a containing
+ XPropertySet via its
+ XPropertySetInfo.
+ </p>
+
+ */
+published interface XProperty: com::sun::star::uno::XInterface
+{
+ /** @returns
+ the specification of this object as Property.
+
+ */
+ com::sun::star::beans::Property getAsProperty();
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertyAccess.idl b/udkapi/com/sun/star/beans/XPropertyAccess.idl
new file mode 100644
index 0000000000..8de04a7dff
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyAccess.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** makes it possible to access all property values and to set them at once.
+
+ <p>In most cases this interface will be in addition to
+ XPropertySet. It is especially useful for remote
+ communication because it lessens the number of calls for getting
+ property values; that is especially important because these calls
+ are necessarily synchronous. </p>
+
+ <p>Another advantage of this method is that conflicts are avoided
+ if property value restrictions depend on the value of other properties.</p>
+ */
+published interface XPropertyAccess: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ a sequence of all property values within the object in a single call.
+ */
+ sequence<com::sun::star::beans::PropertyValue> getPropertyValues();
+
+
+ /** sets the values of given properties.
+
+ <p>All properties which are not contained in the sequence
+ <var>aProps</var> will be left unchanged.</p>
+ */
+ void setPropertyValues( [in] sequence<com::sun::star::beans::PropertyValue> aProps )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertyBag.idl b/udkapi/com/sun/star/beans/XPropertyBag.idl
new file mode 100644
index 0000000000..f6c90c77ae
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyBag.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+ module com { module sun { module star { module beans {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published interface XPropertyBag
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::beans::XPropertyContainer;
+
+ interface com::sun::star::beans::XPropertyAccess;
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertyChangeListener.idl b/udkapi/com/sun/star/beans/XPropertyChangeListener.idl
new file mode 100644
index 0000000000..d5cb1b4a18
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyChangeListener.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** is used to receive PropertyChangeEvents
+ whenever a bound property is changed.
+ */
+published interface XPropertyChangeListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called when a bound property is changed.
+ */
+ void propertyChange( [in] com::sun::star::beans::PropertyChangeEvent evt );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertyContainer.idl b/udkapi/com/sun/star/beans/XPropertyContainer.idl
new file mode 100644
index 0000000000..002027ce8f
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyContainer.idl
@@ -0,0 +1,75 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module beans {
+
+
+/** makes it possible to add and remove properties to or from an object.
+
+ <p>Some scripting engines cannot access properties directly when the
+ property set is changed. Please use XPropertySet::getPropertyValue()
+ etc. in this case. </p>
+ */
+published interface XPropertyContainer: com::sun::star::uno::XInterface
+{
+
+ /** adds a property to the object.
+
+ @param Name
+ specifies the name of the new property.
+
+ @param Attributes
+ specifies the property attributes, see PropertyAttribute.
+
+ @param DefaultValue
+ specifies the type of the new property and a potential default value.
+
+ @throws PropertyExistException
+ if a property with the same name already exists.
+
+ @throws IllegalTypeException
+ if the specified type is not allowed.
+
+ */
+ void addProperty( [in] string Name,
+ [in] short Attributes,
+ [in] any DefaultValue )
+ raises( com::sun::star::beans::PropertyExistException,
+ com::sun::star::beans::IllegalTypeException,
+ com::sun::star::lang::IllegalArgumentException );
+
+
+ /** removes a property from the object.
+
+ @param Name
+ specified the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+ */
+ void removeProperty( [in] string Name )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::NotRemoveableException );
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertySet.idl b/udkapi/com/sun/star/beans/XPropertySet.idl
new file mode 100644
index 0000000000..3daff54e81
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySet.idl
@@ -0,0 +1,165 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** provides information about and access to the
+ properties from an implementation.
+
+ <p>There are three types of properties: </p>
+
+ <ul>
+ <li>bound properties </li>
+ <li>constrained properties </li>
+ <li>free properties </li>
+ </ul>
+
+ <p>You can listen to changes of bound properties with the
+ XPropertyChangeListener and you can veto changes
+ of constrained properties with the XVetoableChangeListener. </p>
+
+ <p>To implement inaccurate name access, you must support the
+ interface XExactName. </p>
+
+ @see com::sun::star::beans::XExactName
+ */
+published interface XPropertySet: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the XPropertySetInfo interface, which
+ describes all properties of the object which supplies this
+ interface.
+
+ @returns
+ NULL if the implementation cannot or will
+ not provide information about the properties; otherwise the
+ interface XPropertySetInfo is returned.
+ */
+ com::sun::star::beans::XPropertySetInfo getPropertySetInfo();
+
+
+ /** sets the value of the property with the specified name.
+
+ <p>If it is a bound property the value will be changed before
+ the change event is fired. If it is a constrained property
+ a vetoable event is fired before the property value can be
+ changed. </p>
+
+ @throws com::sun::star::beans::PropertyVetoException
+ if the property is read-only or vetoable
+ and one of the listeners throws this exception
+ because of an unaccepted new value.
+ */
+ void setPropertyValue( [in] string aPropertyName,
+ [in] any aValue )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::beans::PropertyVetoException,
+ com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** @returns
+ the value of the property with the specified name.
+
+ @param PropertyName
+ This parameter specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ com::sun::star::lang::WrappedTargetException.
+ */
+ any getPropertyValue( [in] string PropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** adds an XPropertyChangeListener to the specified property.
+
+ <p>An empty name ("") registers the listener to all bound
+ properties. If the property is not bound, the behavior is
+ not specified. </p>
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @see removePropertyChangeListener
+ */
+ void addPropertyChangeListener( [in] string aPropertyName,
+ [in] com::sun::star::beans::XPropertyChangeListener xListener )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** removes an XPropertyChangeListener from
+ the listener list.
+
+ <p>It is a "noop" if the listener is not registered. </p>
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+
+ @see addPropertyChangeListener
+ */
+ void removePropertyChangeListener( [in] string aPropertyName,
+ [in] com::sun::star::beans::XPropertyChangeListener aListener )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** adds an XVetoableChangeListener to the specified
+ property with the name PropertyName.
+
+ <p>An empty name ("") registers the listener to all
+ constrained properties. If the property is not constrained,
+ the behavior is not specified. </p>
+
+ @see removeVetoableChangeListener
+ */
+ void addVetoableChangeListener( [in] string PropertyName,
+ [in] com::sun::star::beans::XVetoableChangeListener aListener )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+
+ /** removes an XVetoableChangeListener from the
+ listener list.
+
+ <p>It is a "noop" if the listener is not registered. </p>
+
+ @see addVetoableChangeListener
+ */
+ void removeVetoableChangeListener( [in] string PropertyName,
+ [in] com::sun::star::beans::XVetoableChangeListener aListener )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertySetInfo.idl b/udkapi/com/sun/star/beans/XPropertySetInfo.idl
new file mode 100644
index 0000000000..eb39710cfe
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetInfo.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** specifies a set of properties.
+
+ <p>There are three kinds of properties:
+ <ul>
+ <li>bound properties</li>
+ <li>constrained properties</li>
+ <li>free properties</li>
+ </ul>
+
+ <p>The specification only describes the properties, it does not contain
+ any values.</p>
+ */
+published interface XPropertySetInfo: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ a sequence with all property descriptors which are specified
+ within this XPropertySetInfo.
+ */
+ sequence<com::sun::star::beans::Property> getProperties();
+
+
+ /** @returns
+ the property with the specified name from the object.
+
+ @param aName
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+ */
+ com::sun::star::beans::Property getPropertyByName( [in] string aName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+
+ /** @returns
+ `TRUE` if a property with the specified name exist;
+ otherwise `FALSE` is returned.
+
+ @param Name
+ specifies the name of the property.
+ */
+ boolean hasPropertyByName( [in] string Name );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl
new file mode 100644
index 0000000000..26b81dd936
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module beans {
+
+
+/** a listener for events related to XPropertySetInfos.
+
+ @see PropertySetInfoChangeEvent
+ @see XPropertySetInfoChangeNotifier
+ */
+published interface XPropertySetInfoChangeListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called whenever changes of a XPropertySetInfo shall
+ be propagated.
+ */
+ void propertySetInfoChange( [in] PropertySetInfoChangeEvent evt );
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl
new file mode 100644
index 0000000000..368ea11238
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module beans {
+
+
+/** a notifier for changes of XPropertySetInfos.
+
+ @see PropertySetInfoChangeEvent
+ @see XPropertySetInfoChangeListener
+ */
+published interface XPropertySetInfoChangeNotifier: com::sun::star::uno::XInterface
+{
+
+ /** registers a listener for PropertySetInfoChangeEvents.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void addPropertySetInfoChangeListener(
+ [in] XPropertySetInfoChangeListener Listener );
+
+
+ /** removes a listener for PropertySetInfoChangeEvents.
+
+ <p>It is suggested to allow multiple registration of the same listener,
+ thus for each time a listener is added, it has to be removed.
+ */
+ void removePropertySetInfoChangeListener(
+ [in] XPropertySetInfoChangeListener Listener );
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertySetOption.idl b/udkapi/com/sun/star/beans/XPropertySetOption.idl
new file mode 100644
index 0000000000..d397396c03
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetOption.idl
@@ -0,0 +1,24 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+module com { module sun { module star { module beans {
+
+interface XPropertySetOption: com::sun::star::uno::XInterface
+{
+ /**
+ * Turn on or off notifying change listeners on property value change.
+ * This option is turned on by default.
+ */
+ void enableChangeListenerNotification( [in] boolean bEnable );
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertyState.idl b/udkapi/com/sun/star/beans/XPropertyState.idl
new file mode 100644
index 0000000000..6c86b7a429
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyState.idl
@@ -0,0 +1,114 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** makes it possible to query information about the state of
+ one or more properties.
+
+ <p>The state contains the information if:</p>
+ <ul>
+ <li>a value is available or void</li>
+ <li>the value is stored in the object itself, or if a default value is to be used</li>
+ <li>and if the value cannot be determined, due to ambiguity
+ (multi selection with multiple values).</li>
+ </ul>
+ */
+published interface XPropertyState: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the state of the property.
+
+ @param PropertyName
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+ */
+ com::sun::star::beans::PropertyState getPropertyState(
+ [in] string PropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+
+ /** @returns
+ a sequence of the states of the properties which are specified
+ by their names.
+
+ <p>The order of the states is correlating to the order of the
+ given property names. </p>
+
+ @param aPropertyName
+ contains the sequence of property names.
+
+ @throws UnknownPropertyException
+ if one property does not exist.
+ */
+ sequence<com::sun::star::beans::PropertyState> getPropertyStates(
+ [in] sequence<string> aPropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+
+ /** Sets the property to default value.
+
+ <p>The value depends on the implementation of this interface.
+ If it is a bound property, you must change the value before
+ the change events are fired. If it is a constrained property, you
+ must fire the vetoable event before you change the property value.
+ </p>
+
+ @param PropertyName
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+ */
+ void setPropertyToDefault( [in] string PropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException );
+
+
+ /** @returns
+ the default value of the property with the name PropertyName.
+
+ <p>If no default exists, is not known or is void,
+ then the return type is `void`.
+
+ @param aPropertyName
+ specifies the name of the property.
+
+ @throws UnknownPropertyException
+ if the property does not exist.
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ com::sun::star::lang::WrappedTargetException.
+ */
+ any getPropertyDefault( [in] string aPropertyName )
+ raises( com::sun::star::beans::UnknownPropertyException,
+ com::sun::star::lang::WrappedTargetException );
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl
new file mode 100644
index 0000000000..ec6f824808
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** receives events which get fired whenever the state of a bound
+ property is changed.
+ */
+published interface XPropertyStateChangeListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called when a bound property's state is changed.
+
+ @param aEvent
+ describes the event source and the property that has changed.
+ */
+ void propertyStateChange( [in] com::sun::star::beans::PropertyStateChangeEvent aEvent );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XPropertyWithState.idl b/udkapi/com/sun/star/beans/XPropertyWithState.idl
new file mode 100644
index 0000000000..925bed7c9a
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyWithState.idl
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module beans {
+
+
+/** makes it possible to query information about the state of
+ this object, seen as a property contained in a property set.
+
+ <p> This interface provides direct access to operations
+ that are available if the containing property set
+ implements XPropertyState.
+ </p>
+
+ <p>The state contains the information if:</p>
+ <ul>
+ <li>a value is available or void</li>
+ <li>the value is stored in the object itself, or if a default value is being used</li>
+ <li>or if the value cannot be determined, due to ambiguity
+ (multi selection with multiple values).</li>
+ </ul>
+
+ <p> Generally objects that implement this interface
+ also implement XProperty.
+ </p>
+ */
+published interface XPropertyWithState: com::sun::star::uno::XInterface
+{
+
+ /** @returns
+ the state of this as a property.
+ */
+ com::sun::star::beans::PropertyState getStateAsProperty( );
+
+
+ /** sets this to its default value.
+
+ <p> The value depends on the implementation of this interface.
+ If this is a bound property, the value changes before
+ the change events are fired. If this is a constrained property,
+ the vetoable event is fired before the property value changes.
+ </p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ com::sun::star::lang::WrappedTargetException.
+ */
+ void setToDefaultAsProperty( )
+ raises( com::sun::star::lang::WrappedTargetException );
+
+
+ /** @returns
+ an object representing the default state of this object (as a property).
+
+ <p> If no default exists, is not known or is void,
+ then the return value is `NULL`.
+ </p>
+
+ @throws com::sun::star::lang::WrappedTargetException
+ if the implementation has an internal reason for the exception.
+ In this case the original exception is wrapped into that
+ com::sun::star::lang::WrappedTargetException.
+ */
+ com::sun::star::uno::XInterface getDefaultAsProperty( )
+ raises( com::sun::star::lang::WrappedTargetException );
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl
new file mode 100644
index 0000000000..0c31c4b53d
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl
@@ -0,0 +1,127 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** provides access to multiple iformation of
+ a set of properties with a single call.
+
+ <p>The speciality of this interface is that none of the functions
+ will throw the usual exceptions associated with setting and retrieving
+ of property values. Instead the data for the failures is collected and
+ returned.</p>
+
+ <p>Note: There is no support for property change listeners in this
+ interface.</p>
+
+ @see com::sun::star::beans::XPropertySet
+ @see com::sun::star::beans::XMultiPropertySet
+ */
+published interface XTolerantMultiPropertySet : com::sun::star::uno::XInterface
+{
+
+ /** sets the values to the properties with the specified names.
+
+ @param aPropertyNames
+ specifies the names of the properties.
+ The property names must be sorted ascending.
+
+ <p>If the names are not sorted the behaviour of the method
+ is undefined!</p>
+
+ @param aValues
+ specifies the values of the properties.
+ The order of the values has to be the same as in the
+ <var>aPropertyNames</var> parameter int order to match
+ the property name with its value.
+
+ @returns
+ An empty sequence if all properties are successful set.
+
+ Otherwise for every property value that could not successfully
+ be set an entry of the
+ com::sun::star::beans::SetPropertyTolerantFailed
+ will be present in this sequence.
+ The order of the properties is also alphabetically ascending.
+
+ @throws IllegalArgumentException
+ if the number of property names and values do not match.
+
+ */
+ sequence< com::sun::star::beans::SetPropertyTolerantFailed > setPropertyValuesTolerant(
+ [in] sequence< string > aPropertyNames,
+ [in] sequence< any > aValues )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** retrieve the values of the specified properties
+
+ <p>The count and order of the values in the returned sequence
+ will be the same as the order of the names in the argument.</p>
+
+ @param aPropertyNames
+ specifies the names of the properties.
+ The property names must be sorted ascending.
+
+ <p>If the names are not sorted the behaviour of the method
+ is undefined!</p>
+
+ @returns
+ a sequence of type
+ com::sun::star::beans::GetPropertyTolerantResult
+ for each of the properties listed in <var>aPropertyNames</var>.
+ */
+ sequence< com::sun::star::beans::GetPropertyTolerantResult > getPropertyValuesTolerant(
+ [in] sequence< string > aPropertyNames );
+
+
+
+ /** retrieve only those values of the specified properties which
+ are direct values.
+
+ <p>Since the count of returned elements may be different from
+ the number of supplied property names the returned elements
+ will also state the name of the property.</p>
+
+ @param aPropertyNames
+ specifies the names of the properties.
+ The property names must be sorted ascending.
+
+ <p>If the names are not sorted the behaviour of the method
+ is undefined!</p>
+
+ @returns
+ a sequence of type
+ com::sun::star::beans::GetDirectPropertyTolerantResult
+ but only for those properties supplied whose state is
+ com::sun::star::beans::PropertyState::DIRECT_VALUE.
+ */
+ sequence< com::sun::star::beans::GetDirectPropertyTolerantResult > getDirectPropertyValuesTolerant(
+ [in] sequence< string > aPropertyNames );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/XVetoableChangeListener.idl b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl
new file mode 100644
index 0000000000..5391865f6e
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+module com { module sun { module star { module beans {
+
+
+/** is used to receive PropertyChangeEvents
+ whenever a "constrained" property is changed.
+
+ <p>You can register an XVetoableChangeListener with
+ a source object so as to be notified of any constrained property updates.</p>
+ */
+published interface XVetoableChangeListener: com::sun::star::lang::XEventListener
+{
+
+ /** gets called when a constrained property is changed.
+ */
+ void vetoableChange( [in] com::sun::star::beans::PropertyChangeEvent aEvent )
+ raises( com::sun::star::beans::PropertyVetoException );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/beans/theIntrospection.idl b/udkapi/com/sun/star/beans/theIntrospection.idl
new file mode 100644
index 0000000000..477c83dfb3
--- /dev/null
+++ b/udkapi/com/sun/star/beans/theIntrospection.idl
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+module com { module sun { module star { module beans {
+
+published interface XIntrospection;
+
+/** provides functionality to get information about an object's
+ properties and methods.
+
+ <p><strong>Important note:</strong>An object can only be inspected
+ completely if it supports the com::sun::star::lang::XTypeProvider
+ interface.</p>
+
+ <p>For details, see method XIntrospection::inspect().</p>
+
+ @since LibreOffice 4.3
+*/
+published singleton theIntrospection: XIntrospection;
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */