summaryrefslogtreecommitdiffstats
path: root/udkapi/com/sun/star/beans
diff options
context:
space:
mode:
Diffstat (limited to 'udkapi/com/sun/star/beans')
-rw-r--r--udkapi/com/sun/star/beans/Ambiguous.idl52
-rw-r--r--udkapi/com/sun/star/beans/Defaulted.idl52
-rw-r--r--udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl51
-rw-r--r--udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl66
-rw-r--r--udkapi/com/sun/star/beans/IllegalTypeException.idl44
-rw-r--r--udkapi/com/sun/star/beans/Introspection.idl39
-rw-r--r--udkapi/com/sun/star/beans/IntrospectionException.idl43
-rw-r--r--udkapi/com/sun/star/beans/MethodConcept.idl110
-rw-r--r--udkapi/com/sun/star/beans/NamedValue.idl44
-rw-r--r--udkapi/com/sun/star/beans/NotRemoveableException.idl40
-rw-r--r--udkapi/com/sun/star/beans/Optional.idl53
-rw-r--r--udkapi/com/sun/star/beans/Pair.idl48
-rw-r--r--udkapi/com/sun/star/beans/Property.idl77
-rw-r--r--udkapi/com/sun/star/beans/PropertyAttribute.idl102
-rw-r--r--udkapi/com/sun/star/beans/PropertyBag.idl48
-rw-r--r--udkapi/com/sun/star/beans/PropertyChangeEvent.idl78
-rw-r--r--udkapi/com/sun/star/beans/PropertyConcept.idl79
-rw-r--r--udkapi/com/sun/star/beans/PropertyExistException.idl43
-rw-r--r--udkapi/com/sun/star/beans/PropertySet.idl57
-rw-r--r--udkapi/com/sun/star/beans/PropertySetInfoChange.idl50
-rw-r--r--udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl62
-rw-r--r--udkapi/com/sun/star/beans/PropertyState.idl85
-rw-r--r--udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl78
-rw-r--r--udkapi/com/sun/star/beans/PropertyValue.idl69
-rw-r--r--udkapi/com/sun/star/beans/PropertyValues.idl38
-rw-r--r--udkapi/com/sun/star/beans/PropertyVetoException.idl43
-rw-r--r--udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl56
-rw-r--r--udkapi/com/sun/star/beans/StringPair.idl45
-rw-r--r--udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl81
-rw-r--r--udkapi/com/sun/star/beans/UnknownPropertyException.idl43
-rw-r--r--udkapi/com/sun/star/beans/XExactName.idl61
-rw-r--r--udkapi/com/sun/star/beans/XFastPropertySet.idl105
-rw-r--r--udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl150
-rw-r--r--udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl85
-rw-r--r--udkapi/com/sun/star/beans/XIntrospection.idl103
-rw-r--r--udkapi/com/sun/star/beans/XIntrospectionAccess.idl278
-rw-r--r--udkapi/com/sun/star/beans/XMaterialHolder.idl55
-rw-r--r--udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl138
-rw-r--r--udkapi/com/sun/star/beans/XMultiPropertySet.idl154
-rw-r--r--udkapi/com/sun/star/beans/XMultiPropertyStates.idl113
-rw-r--r--udkapi/com/sun/star/beans/XPropertiesChangeListener.idl52
-rw-r--r--udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl56
-rw-r--r--udkapi/com/sun/star/beans/XProperty.idl55
-rw-r--r--udkapi/com/sun/star/beans/XPropertyAccess.idl77
-rw-r--r--udkapi/com/sun/star/beans/XPropertyBag.idl49
-rw-r--r--udkapi/com/sun/star/beans/XPropertyChangeListener.idl48
-rw-r--r--udkapi/com/sun/star/beans/XPropertyContainer.idl93
-rw-r--r--udkapi/com/sun/star/beans/XPropertySet.idl185
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetInfo.idl84
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl49
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl60
-rw-r--r--udkapi/com/sun/star/beans/XPropertySetOption.idl31
-rw-r--r--udkapi/com/sun/star/beans/XPropertyState.idl128
-rw-r--r--udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl51
-rw-r--r--udkapi/com/sun/star/beans/XPropertyWithState.idl99
-rw-r--r--udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl137
-rw-r--r--udkapi/com/sun/star/beans/XVetoableChangeListener.idl54
-rw-r--r--udkapi/com/sun/star/beans/theIntrospection.idl34
58 files changed, 4360 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 000000000..73b063f7c
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Ambiguous.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 .
+ */
+#ifndef __com_sun_star_beans_Ambiguous_idl__
+#define __com_sun_star_beans_Ambiguous_idl__
+
+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;
+};
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..b7f816e59
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Defaulted.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 .
+ */
+#ifndef __com_sun_star_beans_Defaulted_idl__
+#define __com_sun_star_beans_Defaulted_idl__
+
+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;
+};
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..6a398309f
--- /dev/null
+++ b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl
@@ -0,0 +1,51 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__
+#define __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__
+
+#include <com/sun/star/beans/TolerantPropertySetResultType.idl>
+#include <com/sun/star/beans/GetPropertyTolerantResult.idl>
+
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..dda56b6b3
--- /dev/null
+++ b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl
@@ -0,0 +1,66 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_GetPropertyTolerantResult_idl__
+#define __com_sun_star_beans_GetPropertyTolerantResult_idl__
+
+#include <com/sun/star/beans/TolerantPropertySetResultType.idl>
+#include <com/sun/star/beans/PropertyState.idl>
+
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..9f9c1cf17
--- /dev/null
+++ b/udkapi/com/sun/star/beans/IllegalTypeException.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 .
+ */
+#ifndef __com_sun_star_beans_IllegalTypeException_idl__
+#define __com_sun_star_beans_IllegalTypeException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+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
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..1904d601d
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Introspection.idl
@@ -0,0 +1,39 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_Introspection_idl__
+#define __com_sun_star_beans_Introspection_idl__
+
+#include <com/sun/star/beans/XIntrospection.idl>
+
+
+
+ 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;
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..be56b7c49
--- /dev/null
+++ b/udkapi/com/sun/star/beans/IntrospectionException.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 .
+ */
+#ifndef __com_sun_star_beans_IntrospectionException_idl__
+#define __com_sun_star_beans_IntrospectionException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ 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
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..8d34a054f
--- /dev/null
+++ b/udkapi/com/sun/star/beans/MethodConcept.idl
@@ -0,0 +1,110 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_MethodConcept_idl__
+#define __com_sun_star_beans_MethodConcept_idl__
+
+
+
+ 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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..8b9cdbfa6
--- /dev/null
+++ b/udkapi/com/sun/star/beans/NamedValue.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 .
+ */
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#define __com_sun_star_beans_NamedValue_idl__
+
+ 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;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..3229b567c
--- /dev/null
+++ b/udkapi/com/sun/star/beans/NotRemoveableException.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 .
+ */
+#ifndef __com_sun_star_beans_NotRemoveableException_idl__
+#define __com_sun_star_beans_NotRemoveableException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+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
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..e7ab5f20e
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Optional.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 .
+ */
+#ifndef __com_sun_star_beans_Optional_idl__
+#define __com_sun_star_beans_Optional_idl__
+
+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;
+};
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..f394f5d50
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Pair.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 .
+ */
+
+#ifndef __com_sun_star_beans_Pair_idl__
+#define __com_sun_star_beans_Pair_idl__
+
+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;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..7892e1668
--- /dev/null
+++ b/udkapi/com/sun/star/beans/Property.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 .
+ */
+#ifndef __com_sun_star_beans_Property_idl__
+#define __com_sun_star_beans_Property_idl__
+
+#include <com/sun/star/reflection/XIdlClass.idl>
+
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..a75f4afaa
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyAttribute.idl
@@ -0,0 +1,102 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_PropertyAttribute_idl__
+#define __com_sun_star_beans_PropertyAttribute_idl__
+
+
+ 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;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..11e150ef8
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyBag.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 .
+ */
+#ifndef __com_sun_star_beans_PropertyBag_idl__
+#define __com_sun_star_beans_PropertyBag_idl__
+
+#include <com/sun/star/beans/XPropertyBag.idl>
+
+
+
+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 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..80b6e75d8
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl
@@ -0,0 +1,78 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__
+#define __com_sun_star_beans_PropertyChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+ 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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..9cc007350
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyConcept.idl
@@ -0,0 +1,79 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_PropertyConcept_idl__
+#define __com_sun_star_beans_PropertyConcept_idl__
+
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..375b5afd1
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyExistException.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 .
+ */
+#ifndef __com_sun_star_beans_PropertyExistException_idl__
+#define __com_sun_star_beans_PropertyExistException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ 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
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..f612695cc
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertySet.idl
@@ -0,0 +1,57 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_PropertySet_idl__
+#define __com_sun_star_beans_PropertySet_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/beans/XPropertyAccess.idl>
+
+#include <com/sun/star/beans/XPropertyState.idl>
+
+#include <com/sun/star/beans/XFastPropertySet.idl>
+
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..fddcc514e
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl
@@ -0,0 +1,50 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_PropertySetInfoChange_idl__
+#define __com_sun_star_beans_PropertySetInfoChange_idl__
+
+
+
+ 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;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..7ba1ac54f
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl
@@ -0,0 +1,62 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_PropertySetInfoChangeEvent_idl__
+#define __com_sun_star_beans_PropertySetInfoChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+
+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;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..ffda69801
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyState.idl
@@ -0,0 +1,85 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_PropertyState_idl__
+#define __com_sun_star_beans_PropertyState_idl__
+
+
+
+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
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..4573a1e47
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl
@@ -0,0 +1,78 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_PropertyStateChangeEvent_idl__
+#define __com_sun_star_beans_PropertyStateChangeEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+#include <com/sun/star/beans/PropertyState.idl>
+
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..842a57e4d
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyValue.idl
@@ -0,0 +1,69 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#define __com_sun_star_beans_PropertyValue_idl__
+
+#include <com/sun/star/beans/Property.idl>
+
+#include <com/sun/star/beans/PropertyState.idl>
+
+
+
+ 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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..8f79c10c7
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyValues.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 .
+ */
+#ifndef __com_sun_star_beans_PropertyValues_idl__
+#define __com_sun_star_beans_PropertyValues_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+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;
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..cf95f15ed
--- /dev/null
+++ b/udkapi/com/sun/star/beans/PropertyVetoException.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 .
+ */
+#ifndef __com_sun_star_beans_PropertyVetoException_idl__
+#define __com_sun_star_beans_PropertyVetoException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+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
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..5964c1925
--- /dev/null
+++ b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.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 .
+ */
+#ifndef __com_sun_star_beans_SetPropertyTolerantFailed_idl__
+#define __com_sun_star_beans_SetPropertyTolerantFailed_idl__
+
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..f6846add4
--- /dev/null
+++ b/udkapi/com/sun/star/beans/StringPair.idl
@@ -0,0 +1,45 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_StringPair_idl__
+#define __com_sun_star_beans_StringPair_idl__
+
+
+ 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;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..f4cb92f4e
--- /dev/null
+++ b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.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 .
+ */
+#ifndef __com_sun_star_beans_TolerantPropertySetResultType_idl__
+#define __com_sun_star_beans_TolerantPropertySetResultType_idl__
+
+
+
+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;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..a05a78af7
--- /dev/null
+++ b/udkapi/com/sun/star/beans/UnknownPropertyException.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 .
+ */
+#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
+#define __com_sun_star_beans_UnknownPropertyException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ 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
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..13663f514
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XExactName.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 .
+ */
+#ifndef __com_sun_star_beans_XExactName_idl__
+#define __com_sun_star_beans_XExactName_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..f41997c2d
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XFastPropertySet.idl
@@ -0,0 +1,105 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XFastPropertySet_idl__
+#define __com_sun_star_beans_XFastPropertySet_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..9230dcc28
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl
@@ -0,0 +1,150 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XHierarchicalPropertySet_idl__
+#define __com_sun_star_beans_XHierarchicalPropertySet_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+
+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 );
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..7a21e4596
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl
@@ -0,0 +1,85 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__
+#define __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/Property.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..9fdb736fc
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XIntrospection.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 .
+ */
+#ifndef __com_sun_star_beans_XIntrospection_idl__
+#define __com_sun_star_beans_XIntrospection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XIntrospectionAccess.idl>
+
+
+
+ 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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..be325005f
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl
@@ -0,0 +1,278 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XIntrospectionAccess_idl__
+#define __com_sun_star_beans_XIntrospectionAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/Property.idl>
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+#include <com/sun/star/reflection/XIdlMethod.idl>
+
+#include <com/sun/star/lang/NoSuchMethodException.idl>
+
+#include <com/sun/star/reflection/XIdlClass.idl>
+
+#include <com/sun/star/beans/IllegalTypeException.idl>
+
+
+ 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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..372b9af8c
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMaterialHolder.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 .
+ */
+#ifndef __com_sun_star_beans_XMaterialHolder_idl__
+#define __com_sun_star_beans_XMaterialHolder_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ 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();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..079e66141
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.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 .
+ */
+#ifndef __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__
+#define __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+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 );
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..c49b9a021
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMultiPropertySet.idl
@@ -0,0 +1,154 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XMultiPropertySet_idl__
+#define __com_sun_star_beans_XMultiPropertySet_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySetInfo.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+#include <com/sun/star/beans/XPropertiesChangeListener.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..3dff94770
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl
@@ -0,0 +1,113 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XMultiPropertyStates_idl__
+#define __com_sun_star_beans_XMultiPropertyStates_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyState.idl>
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+#include <com/sun/star/beans/XPropertyStateChangeListener.idl>
+
+
+
+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 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..fac3578ab
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertiesChangeListener.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 .
+ */
+#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__
+#define __com_sun_star_beans_XPropertiesChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/beans/PropertyChangeEvent.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..cb5d6fa8b
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.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 .
+ */
+#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+#define __com_sun_star_beans_XPropertiesChangeNotifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertiesChangeListener.idl>
+
+
+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 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..de65682f5
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XProperty.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 .
+ */
+#ifndef __com_sun_star_beans_XProperty_idl__
+#define __com_sun_star_beans_XProperty_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/Property.idl>
+
+
+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();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..d8cbb43c4
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyAccess.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 .
+ */
+#ifndef __com_sun_star_beans_XPropertyAccess_idl__
+#define __com_sun_star_beans_XPropertyAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..3d9efd0ab
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyBag.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 .
+ */
+#ifndef __com_sun_star_beans_XPropertyBag_idl__
+#define __com_sun_star_beans_XPropertyBag_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XPropertyContainer.idl>
+#include <com/sun/star/beans/XPropertyAccess.idl>
+
+
+
+ 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;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..c80ec9748
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyChangeListener.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 .
+ */
+#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__
+#define __com_sun_star_beans_XPropertyChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/beans/PropertyChangeEvent.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..1843082b2
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyContainer.idl
@@ -0,0 +1,93 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XPropertyContainer_idl__
+#define __com_sun_star_beans_XPropertyContainer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/reflection/XIdlClass.idl>
+
+#include <com/sun/star/beans/PropertyExistException.idl>
+
+#include <com/sun/star/beans/IllegalTypeException.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+#include <com/sun/star/beans/NotRemoveableException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+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 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..bcf97fa6e
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySet.idl
@@ -0,0 +1,185 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#define __com_sun_star_beans_XPropertySet_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/XPropertySetInfo.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+
+#include <com/sun/star/beans/XVetoableChangeListener.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..fb368b21f
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetInfo.idl
@@ -0,0 +1,84 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XPropertySetInfo_idl__
+#define __com_sun_star_beans_XPropertySetInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/Property.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..1d0676332
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.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 .
+ */
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeListener_idl__
+#define __com_sun_star_beans_XPropertySetInfoChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/beans/PropertySetInfoChangeEvent.idl>
+
+
+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 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..b8302b640
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl
@@ -0,0 +1,60 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+#define __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySetInfoChangeListener.idl>
+
+
+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 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..a896b5c40
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertySetOption.idl
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ */
+
+#ifndef __com_sun_star_beans_XPropertySetOption_idl__
+#define __com_sun_star_beans_XPropertySetOption_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+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 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..fa809164a
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyState.idl
@@ -0,0 +1,128 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XPropertyState_idl__
+#define __com_sun_star_beans_XPropertyState_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyState.idl>
+
+#include <com/sun/star/beans/UnknownPropertyException.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+#include <com/sun/star/beans/XPropertyStateChangeListener.idl>
+
+
+
+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 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..2ae37f1fa
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl
@@ -0,0 +1,51 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XPropertyStateChangeListener_idl__
+#define __com_sun_star_beans_XPropertyStateChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/beans/PropertyStateChangeEvent.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..cde373902
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XPropertyWithState.idl
@@ -0,0 +1,99 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XPropertyWithState_idl__
+#define __com_sun_star_beans_XPropertyWithState_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/beans/PropertyState.idl>
+
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+
+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 );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..a003c14b4
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl
@@ -0,0 +1,137 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__
+#define __com_sun_star_beans_XTolerantMultiPropertySet_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/GetDirectPropertyTolerantResult.idl>
+#include <com/sun/star/beans/GetPropertyTolerantResult.idl>
+#include <com/sun/star/beans/SetPropertyTolerantFailed.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+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 whoms state is
+ com::sun::star::beans::PropertyState::DIRECT_VALUE.
+ */
+ sequence< com::sun::star::beans::GetDirectPropertyTolerantResult > getDirectPropertyValuesTolerant(
+ [in] sequence< string > aPropertyNames );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..60738a54b
--- /dev/null
+++ b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl
@@ -0,0 +1,54 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_beans_XVetoableChangeListener_idl__
+#define __com_sun_star_beans_XVetoableChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+#include <com/sun/star/beans/PropertyChangeEvent.idl>
+
+#include <com/sun/star/beans/PropertyVetoException.idl>
+
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* 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 000000000..ba100f4b6
--- /dev/null
+++ b/udkapi/com/sun/star/beans/theIntrospection.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/.
+ */
+
+#ifndef INCLUDED_com_sun_star_beans_theIntrospection_idl
+#define INCLUDED_com_sun_star_beans_theIntrospection_idl
+
+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;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */