From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- udkapi/com/sun/star/beans/Ambiguous.idl | 52 ++++ udkapi/com/sun/star/beans/Defaulted.idl | 52 ++++ .../star/beans/GetDirectPropertyTolerantResult.idl | 51 ++++ .../sun/star/beans/GetPropertyTolerantResult.idl | 66 +++++ udkapi/com/sun/star/beans/IllegalTypeException.idl | 44 ++++ udkapi/com/sun/star/beans/Introspection.idl | 39 +++ .../com/sun/star/beans/IntrospectionException.idl | 43 ++++ udkapi/com/sun/star/beans/MethodConcept.idl | 110 ++++++++ udkapi/com/sun/star/beans/NamedValue.idl | 44 ++++ .../com/sun/star/beans/NotRemoveableException.idl | 40 +++ udkapi/com/sun/star/beans/Optional.idl | 53 ++++ udkapi/com/sun/star/beans/Pair.idl | 48 ++++ udkapi/com/sun/star/beans/Property.idl | 77 ++++++ udkapi/com/sun/star/beans/PropertyAttribute.idl | 102 ++++++++ udkapi/com/sun/star/beans/PropertyBag.idl | 48 ++++ udkapi/com/sun/star/beans/PropertyChangeEvent.idl | 78 ++++++ udkapi/com/sun/star/beans/PropertyConcept.idl | 79 ++++++ .../com/sun/star/beans/PropertyExistException.idl | 43 ++++ udkapi/com/sun/star/beans/PropertySet.idl | 57 +++++ .../com/sun/star/beans/PropertySetInfoChange.idl | 50 ++++ .../sun/star/beans/PropertySetInfoChangeEvent.idl | 62 +++++ udkapi/com/sun/star/beans/PropertyState.idl | 85 +++++++ .../sun/star/beans/PropertyStateChangeEvent.idl | 78 ++++++ udkapi/com/sun/star/beans/PropertyValue.idl | 69 +++++ udkapi/com/sun/star/beans/PropertyValues.idl | 38 +++ .../com/sun/star/beans/PropertyVetoException.idl | 43 ++++ .../sun/star/beans/SetPropertyTolerantFailed.idl | 56 +++++ udkapi/com/sun/star/beans/StringPair.idl | 45 ++++ .../star/beans/TolerantPropertySetResultType.idl | 81 ++++++ .../sun/star/beans/UnknownPropertyException.idl | 43 ++++ udkapi/com/sun/star/beans/XExactName.idl | 61 +++++ udkapi/com/sun/star/beans/XFastPropertySet.idl | 105 ++++++++ .../sun/star/beans/XHierarchicalPropertySet.idl | 150 +++++++++++ .../star/beans/XHierarchicalPropertySetInfo.idl | 85 +++++++ udkapi/com/sun/star/beans/XIntrospection.idl | 103 ++++++++ udkapi/com/sun/star/beans/XIntrospectionAccess.idl | 278 +++++++++++++++++++++ udkapi/com/sun/star/beans/XMaterialHolder.idl | 55 ++++ .../star/beans/XMultiHierarchicalPropertySet.idl | 138 ++++++++++ udkapi/com/sun/star/beans/XMultiPropertySet.idl | 154 ++++++++++++ udkapi/com/sun/star/beans/XMultiPropertyStates.idl | 113 +++++++++ .../sun/star/beans/XPropertiesChangeListener.idl | 52 ++++ .../sun/star/beans/XPropertiesChangeNotifier.idl | 56 +++++ udkapi/com/sun/star/beans/XProperty.idl | 55 ++++ udkapi/com/sun/star/beans/XPropertyAccess.idl | 77 ++++++ udkapi/com/sun/star/beans/XPropertyBag.idl | 49 ++++ .../com/sun/star/beans/XPropertyChangeListener.idl | 48 ++++ udkapi/com/sun/star/beans/XPropertyContainer.idl | 93 +++++++ udkapi/com/sun/star/beans/XPropertySet.idl | 185 ++++++++++++++ udkapi/com/sun/star/beans/XPropertySetInfo.idl | 84 +++++++ .../star/beans/XPropertySetInfoChangeListener.idl | 49 ++++ .../star/beans/XPropertySetInfoChangeNotifier.idl | 60 +++++ udkapi/com/sun/star/beans/XPropertySetOption.idl | 31 +++ udkapi/com/sun/star/beans/XPropertyState.idl | 128 ++++++++++ .../star/beans/XPropertyStateChangeListener.idl | 51 ++++ udkapi/com/sun/star/beans/XPropertyWithState.idl | 99 ++++++++ .../sun/star/beans/XTolerantMultiPropertySet.idl | 137 ++++++++++ .../com/sun/star/beans/XVetoableChangeListener.idl | 54 ++++ udkapi/com/sun/star/beans/theIntrospection.idl | 34 +++ 58 files changed, 4360 insertions(+) create mode 100644 udkapi/com/sun/star/beans/Ambiguous.idl create mode 100644 udkapi/com/sun/star/beans/Defaulted.idl create mode 100644 udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl create mode 100644 udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl create mode 100644 udkapi/com/sun/star/beans/IllegalTypeException.idl create mode 100644 udkapi/com/sun/star/beans/Introspection.idl create mode 100644 udkapi/com/sun/star/beans/IntrospectionException.idl create mode 100644 udkapi/com/sun/star/beans/MethodConcept.idl create mode 100644 udkapi/com/sun/star/beans/NamedValue.idl create mode 100644 udkapi/com/sun/star/beans/NotRemoveableException.idl create mode 100644 udkapi/com/sun/star/beans/Optional.idl create mode 100644 udkapi/com/sun/star/beans/Pair.idl create mode 100644 udkapi/com/sun/star/beans/Property.idl create mode 100644 udkapi/com/sun/star/beans/PropertyAttribute.idl create mode 100644 udkapi/com/sun/star/beans/PropertyBag.idl create mode 100644 udkapi/com/sun/star/beans/PropertyChangeEvent.idl create mode 100644 udkapi/com/sun/star/beans/PropertyConcept.idl create mode 100644 udkapi/com/sun/star/beans/PropertyExistException.idl create mode 100644 udkapi/com/sun/star/beans/PropertySet.idl create mode 100644 udkapi/com/sun/star/beans/PropertySetInfoChange.idl create mode 100644 udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl create mode 100644 udkapi/com/sun/star/beans/PropertyState.idl create mode 100644 udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl create mode 100644 udkapi/com/sun/star/beans/PropertyValue.idl create mode 100644 udkapi/com/sun/star/beans/PropertyValues.idl create mode 100644 udkapi/com/sun/star/beans/PropertyVetoException.idl create mode 100644 udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl create mode 100644 udkapi/com/sun/star/beans/StringPair.idl create mode 100644 udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl create mode 100644 udkapi/com/sun/star/beans/UnknownPropertyException.idl create mode 100644 udkapi/com/sun/star/beans/XExactName.idl create mode 100644 udkapi/com/sun/star/beans/XFastPropertySet.idl create mode 100644 udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl create mode 100644 udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl create mode 100644 udkapi/com/sun/star/beans/XIntrospection.idl create mode 100644 udkapi/com/sun/star/beans/XIntrospectionAccess.idl create mode 100644 udkapi/com/sun/star/beans/XMaterialHolder.idl create mode 100644 udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl create mode 100644 udkapi/com/sun/star/beans/XMultiPropertySet.idl create mode 100644 udkapi/com/sun/star/beans/XMultiPropertyStates.idl create mode 100644 udkapi/com/sun/star/beans/XPropertiesChangeListener.idl create mode 100644 udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl create mode 100644 udkapi/com/sun/star/beans/XProperty.idl create mode 100644 udkapi/com/sun/star/beans/XPropertyAccess.idl create mode 100644 udkapi/com/sun/star/beans/XPropertyBag.idl create mode 100644 udkapi/com/sun/star/beans/XPropertyChangeListener.idl create mode 100644 udkapi/com/sun/star/beans/XPropertyContainer.idl create mode 100644 udkapi/com/sun/star/beans/XPropertySet.idl create mode 100644 udkapi/com/sun/star/beans/XPropertySetInfo.idl create mode 100644 udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl create mode 100644 udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl create mode 100644 udkapi/com/sun/star/beans/XPropertySetOption.idl create mode 100644 udkapi/com/sun/star/beans/XPropertyState.idl create mode 100644 udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl create mode 100644 udkapi/com/sun/star/beans/XPropertyWithState.idl create mode 100644 udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl create mode 100644 udkapi/com/sun/star/beans/XVetoableChangeListener.idl create mode 100644 udkapi/com/sun/star/beans/theIntrospection.idl (limited to 'udkapi/com/sun/star/beans') 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. + +

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.

+ */ +struct Ambiguous { + /** + The underlying value of this structure instance. + +

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.

+ */ + 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. + +

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.

+ */ +struct Defaulted { + /** + The underlying value of this structure instance. + +

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.

+ */ + 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 +#include + + + +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 +#include + + + +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. + +

The value is undefined if Result is not + com::sun::star::beans::TolerantPropertySetResultType::SUCCESS.

+ */ + com::sun::star::beans::PropertyState State; + + + /** contains the value of the property. + +

The value is undefined if Result is not + com::sun::star::beans::TolerantPropertySetResultType::SUCCESS.

+ */ + 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 + + + +module com { module sun { module star { module beans { + + +/** This exception is thrown to indicate the use of a type which is + not appropriate. + +

This problem can occur, if you use an `any`.

+ @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 + + + + 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 + + + + module com { module sun { module star { module beans { + +/** This exception is thrown when an exception happens during + introspection. + @deprecated + +

This exception isn't specified and used anywhere

+ */ +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. + +

This list is not necessarily complete; new constants + may be added.

+ @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. + +

These methods have the signature type get...() + , void set...() or boolean is...() + .

+ */ + const long PROPERTY = 2; + + /** specifies methods of the listener concept. + +

These methods have the signature add...Listener() + or remove...Listener().

+ */ + const long LISTENER = 4; + + /** specifies methods of the enumeration concept. + +

These methods have the signature + create...Enumeration 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.

+ */ + const long ENUMERATION = 8; + + /** specifies methods of the name container concept. + +

These methods have the signature + get...ByName(), + set...ByName(), + replace...ByName(), + remove...ByName(), + has...ByName(), or + get...Names. In addition, the method + com::sun::star::container::XEnumerationAccess::getElementType() + belongs to this concept.

+ */ + const long NAMECONTAINER = 16; + + /** specifies methods of the index container concept. + +

These methods have the signature + get...ByIndex(), + insert...ByIndex(), + replace...ByIndex(), or + remove...ByIndex(). + The method com::sun::star::container::XIndexAccess::getCount() + also belongs to this concept.

+ */ + 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 + + +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. + +

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.

+ */ +struct Optional { + /** + Marks this structure instance as having an actual value. + */ + boolean IsPresent; + + /** + The actual value of this structure instance. + +

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.

+ */ + 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. + +

+ This structure allows for conveniently packing together two values of + any type, and could be useful as the result type of methods. +

+ + @since OOo 3.0 + */ +struct Pair { + + /// 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 + + + +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. + +

The name is unique within an XPropertySet. + Upper and lower case are distinguished.

+ */ + string Name; + + + /** contains an implementation-specific handle for the property. + +

It may be -1 if the implementation has no handle. You can use + this handle to get values from the XFastPropertySet.

+ */ + long Handle; + + + /** contains an object that identifies the declared type for + the property. + +

If the property has multiple types or the type is not + known, but not an `any`, then + void must be returned.

+ */ + 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. + +

It does not mean that the type of the property is void!

+ */ + 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. + +

This always implies that the property is bound, too.

+ */ + 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. + +

This attribute is not of interest for concrete property + implementations. It's needed for property specifications inside + service specifications in UNOIDL.

+ + @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 + + + +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. + +

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 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 + + + + module com { module sun { module star { module beans { + + +/** gets delivered whenever a "bound" or "constrained" property is changed. + +

A PropertyChangeEvent object is sent as an + argument to the methods of XPropertyChangeListener + and XVetoableChangeListener.

+ +

Normally such events contain the name and the old and new + value of the changed property.

+ +

Void values may be provided for the old and new values if their + true values are not known.

+ */ +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. + +

May be -1 if the implementation has no handle. You can use + this handle to get values from the XFastPropertySet.

+ */ + 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. + +

This list is not necessarily complete; new constants + may be added.

+ + @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. + +

These methods have the signature type get...(), + void set...() or boolean is...().

+ */ + 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 + + + + 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 + +#include + +#include + +#include + +#include + + +module com { module sun { module star { module beans { + + +/** This is a generic service which should be supported by all services + which have properties. + +

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 + + + +module com { module sun { module star { module beans { + + +/** gets delivered whenever an XPropertySetInfo is + changed. + +

A PropertySetInfoChangeEvent object is sent + to XPropertySetInfoChangeListeners.

+ */ +published struct PropertySetInfoChangeEvent: com::sun::star::lang::EventObject +{ + + /** contains the name of the property. + */ + string Name; + + + /** contains the implementation handle for the property. + +

May be -1 if the implementation has no handle.

+ */ + 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. + +

The state consists of two aspects:

+
    +
  1. whether a value is available or void,
  2. +
  3. whether the value is stored in the property set itself or is a + default, or ambiguous.
  4. +
+ + @see XPropertyState + @see Property + */ +published enum PropertyState +{ + + /** The value of the property is stored in the PropertySet itself. + +

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.

+ */ + DIRECT_VALUE, + + + /** The value of the property is available from a master (e.g., template). + +

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.

+ */ + 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). + +

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.

+ */ + 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 + +#include + + + +module com { module sun { module star { module beans { + + +/** is delivered whenever the state of a "bound" property is changed. + +

It is sent as an argument to the method of + XPropertyStateChangeListener.

+ +

Normally these events are accompanied by the name, and the old + and new values of the changed property.

+ +

Void values may be provided for the old and new values if their + true values are not known.

+ */ +published struct PropertyStateChangeEvent: com::sun::star::lang::EventObject +{ + + /** specifies the name of the property which changes its value. + +

This name identifies the property uniquely within an + XPropertySet. Upper and lower case are distinguished.

+ */ + string PropertyName; + + + /** contains the implementation handle for the property. + +

It may be -1 if the implementation has no handle. You can use this + handle to get values from the XFastPropertySet + interface.

+ */ + 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 + +#include + + + + module com { module sun { module star { module beans { + + +/** specifies a property value. + */ +published struct PropertyValue +{ + /** specifies the name of the property. + +

The name is unique within a sequence of PropertyValues. + Upper and lower case are distinguished.

+ */ + string Name; + + + /** contains an implementation-specific handle for the property. + +

It may be -1 if the implementation has no handle. If available + it can be used for fast lookups.

+ */ + 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 + + +module com { module sun { module star { module beans { + +/** specifies a sequence of PropertyValue instances. + +

Such sequences are especially useful for remote interfaces.

+*/ +published typedef sequence 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 + + + +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. + +

Since the property was not successful set the result will never be + com::sun::star::beans::TolerantPropertySetResultType::SUCCESS. +

+ + @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. + +

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.

+*/ +constants TolerantPropertySetResultType +{ + /** the property has been successfully set or retrieved. + */ + const short SUCCESS = 0; + + /** the property is not available. + +

For example if a + com::sun::star::beans::UnknownPropertyException + was caught.

+ */ + const short UNKNOWN_PROPERTY = 1; + + /** the value used with the property is not valid. + +

For example if a + com::sun::star::lang::IllegalArgumentException + was caught.

+ */ + const short ILLEGAL_ARGUMENT = 2; + + /** the property could not be changed at that time. + +

For example if a + com::sun::star::beans::PropertyVetoException + was caught.

+ */ + 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 + + + + 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 + + + +module com { module sun { module star { module beans { + + +/** provides a method of changing names for converting + an approximate name to an existing name. + +

One field of application is the conversion of case-insensitive + names to the existing names.

+ +

Example: A basic interpreter ignores the case of the names. So + it must query the XExactName interface and then call + the method.

+ + @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. + +

For example "getExactName" could be returned for "GETEXACTNAME" + when "GETEXACTNAME" was used by a case insensitive scripting language.

+ */ + 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 + +#include + +#include + +#include + +#include + + + +module com { module sun { module star { module beans { + + +/** provides a fast way of accessing and changing property values. + +

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.

+ */ +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 + +#include + +#include + +#include + +#include + +#include + + + +module com { module sun { module star { module beans { + + +/** provides information about and access to the + a hierarchy of properties from an implementation. + +

Usually an object that implements this interface + also implements XPropertySet and at + least some of the properties have subproperties.

+ +

This interface allows direct access to subsubproperties, ... + up to an arbitrary nesting depth. Often the intermediate + elements of the hierarchy implement XProperty.

+ +

Each implementation specifies how the + hierarchical property names, that are + used to access the elements of the hierarchy, + are formed.

+ +

Commonly a notation similar to filesystem paths + (separated by '/' slashes) or nested module names + (separated by dots '.' or '::') is used.

+ + */ +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 aValue is not a legal value for this property or + if aHierarchicalPropertyName 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 aHierarchicalPropertyName 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 + +#include + +#include + +#include + + + +module com { module sun { module star { module beans { + + +/** specifies a hierarchy of properties. + +

The specification only describes the properties, it does not contain + any values.

+ */ +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 aHierarchicalName 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 aHierarchicalName 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 + +#include + + + + module com { module sun { module star { module beans { + +/** allows the inspection of an object's properties and methods. + +

Important note:An object can only be + inspected completely if it supports the com::sun::star::lang::XTypeProvider + interface.

+ +

For details see method XIntrospection::inspect().

+ + @see XIntrospectionAccess + */ +published interface XIntrospection: com::sun::star::uno::XInterface +{ + /** inspects the given object. + +

It identifies all properties supported by the object + if they are represented in one of the following ways:

+ +
+
property set
+
If the object supports an XPropertySet + interface, all its properties are adopted. +
+ +
attributes
+
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. +
+ +
get/set methods
+
Every method RetType getX() 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 + void setX( [in] RetType ), the property + "X" also allows write access; otherwise it is read-only. +
+ +
Important note:
+
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(). +
+
+ +

In addition, the inspect method identifies all listener + access methods in the form add...Listener/ + remove...Listener (except methods of interface + XPropertySet) where "..." stands for the listener type. +

+ +

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.

+ + @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 + +#include + +#include + +#include + +#include + +#include + +#include + + + module com { module sun { module star { module beans { + + +/** represents the result of an introspection operation done by + the inspect method of XIntrospection. + +

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()

+ +

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.

+ +

The XMaterialHolder interface has to be + supported to give access to the inspected object.

+ + @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. + +

The minimum supported concepts should be:

+ +
    +
  • MethodConcept::PROPERTY,
  • +
  • MethodConcept::LISTENER,
  • +
  • MethodConcept::ENUMERATION,
  • +
  • MethodConcept::NAMECONTAINER
  • +
  • MethodConcept::INDEXCONTAINER;
  • +
+ + @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. + +

The minimum supported concepts should be:

+ +
    +
  • PropertyConcept::PROPERTYSET,
  • +
  • PropertyConcept::ATTRIBUTES and
  • +
  • PropertyConcept::METHODS.
  • +
+ + @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 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 getMethods( + [in] long nMethodConcepts ); + + /** returns the listener types supported by the introspected + object. + +

If the introspected object has the methods + addFooListener( XFooListener xFoo ) and + removeFooListener( XFooListener xFoo ) + 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 getSupportedListeners(); + + /** creates an adapter that implements an interface with the + specified type. + +

To access properties, query for the XPropertySet + interface. If the XPropertySet can + be queried, the XFastPropertySet interface + must be supported too.

+ +

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.

+ +

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.

+ +

If the introspected object implements an enumeration + container, the introspection should return the + com::sun::star::container::XEnumerationAccess interface.

+ +

If the introspected object implements the + com::sun::star::reflection::XIdlArray interface, + the introspection should return this.

+ +

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. +

+ + @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 + + + + module com { module sun { module star { module beans { + +/** gives access to the material a (tool-) object is working on. + +

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.

+ + @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 + +#include + +#include + +#include + +#include + + +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. + +

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.

+ +

Unknown properties are ignored.

+ + @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 aHierarchicalPropertyNames, + [in] sequence 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. + +

The order of the values in the returned sequence will be the same + as the order of the names in the argument.

+ +

Unknown properties are ignored, in their place `NULL` will be returned.

+ + @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 getHierarchicalPropertyValues( [in] sequence 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 + +#include + +#include + +#include + +#include + +#include + + + +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. + +

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.

+ + @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 aPropertyNames. + + @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 aPropertyNames, + [in] sequence 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. + +

The order of the values in the returned sequence will be the same + as the order of the names in the argument.

+ + @param aPropertyNames + specifies the names of the properties. + This sequence must be alphabetically sorted. + */ + sequence getPropertyValues( [in] sequence aPropertyNames ); + + + /** adds an XPropertiesChangeListener to the + specified property with the specified names. + +

The implementation can ignore the names of the properties + and fire the event on all properties.

+ +

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 aPropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener xListener ); + + + /** removes an XPropertiesChangeListener from the listener list. + +

It is a "noop" if the listener is not registered.

+ +

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 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 +#include +#include +#include +#include + + + +module com { module sun { module star { module beans { + +/** makes it possible to query information about the state of + one or more properties. + +

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. + +

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 getPropertyStates( + [in] sequence aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + /** sets all properties to their default values. + +

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. +

+ */ + void setAllPropertiesToDefault(); + + /** sets the specified properties to their default values. + +

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.

+ + @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 aPropertyNames ) + raises( com::sun::star::beans::UnknownPropertyException ); + + /** @returns + the default values of the properties with the specified names. + +

If no default exists, is not known, or is void, + then the return type at the corresponding position in the + sequence returned is `void`.

+ + @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 getPropertyDefaults( + [in] sequence 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 + +#include + + + +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 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 + +#include + + +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 PropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener Listener ); + + + /** removes an XPropertiesChangeListener from the + listener list. + */ + void removePropertiesChangeListener( + [in] sequence 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 + +#include + + +module com { module sun { module star { module beans { + + +/** Is implemented by objects that also are a property of + some other object. + +

Provides access to traits of this object that would + otherwise only be available from a containing + XPropertySet via its + XPropertySetInfo. +

+ + */ +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 + +#include + +#include + +#include + +#include + +#include + + + +module com { module sun { module star { module beans { + + +/** makes it possible to access all property values and to set them at once. + +

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.

+ +

Another advantage of this method is that conflicts are avoided + if property value restrictions depend on the value of other properties.

+ */ +published interface XPropertyAccess: com::sun::star::uno::XInterface +{ + + /** @returns + a sequence of all property values within the object in a single call. + */ + sequence getPropertyValues(); + + + /** sets the values of given properties. + +

All properties which are not contained in the sequence + aProps will be left unchanged.

+ */ + void setPropertyValues( [in] sequence 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 +#include +#include + + + + 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 + +#include + + + +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 + +#include + +#include + +#include + +#include + +#include + +#include + + +module com { module sun { module star { module beans { + + +/** makes it possible to add and remove properties to or from an object. + +

Some scripting engines cannot access properties directly when the + property set is changed. Please use XPropertySet::getPropertyValue() + etc. in this case.

+ */ +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 + +#include + +#include + +#include + +#include + +#include + +#include + +#include + + + +module com { module sun { module star { module beans { + + +/** provides information about and access to the + properties from an implementation. + +

There are three types of properties:

+ +
    +
  • bound properties
  • +
  • constrained properties
  • +
  • free properties
  • +
+ +

You can listen to changes of bound properties with the + XPropertyChangeListener and you can veto changes + of constrained properties with the XVetoableChangeListener.

+ +

To implement inaccurate name access, you must support the + interface XExactName.

+ + @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. + +

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.

+ + @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. + +

An empty name ("") registers the listener to all bound + properties. If the property is not bound, the behavior is + not specified.

+ +

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. + +

It is a "noop" if the listener is not registered.

+ +

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. + +

An empty name ("") registers the listener to all + constrained properties. If the property is not constrained, + the behavior is not specified.

+ + @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. + +

It is a "noop" if the listener is not registered.

+ + @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 + +#include + +#include + + + +module com { module sun { module star { module beans { + + +/** specifies a set of properties. + +

There are three kinds of properties: +

    +
  • bound properties
  • +
  • constrained properties
  • +
  • free properties
  • +
+ +

The specification only describes the properties, it does not contain + any values.

+ */ +published interface XPropertySetInfo: com::sun::star::uno::XInterface +{ + + /** @returns + a sequence with all property descriptors which are specified + within this XPropertySetInfo. + */ + sequence 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 + +#include + + +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 +#include + + +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. + +

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. + +

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 + +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 + +#include + +#include + +#include + +#include + + + +module com { module sun { module star { module beans { + + +/** makes it possible to query information about the state of + one or more properties. + +

The state contains the information if:

+
    +
  • a value is available or void
  • +
  • the value is stored in the object itself, or if a default value is to be used
  • +
  • and if the value cannot be determined, due to ambiguity + (multi selection with multiple values).
  • +
+ */ +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. + +

The order of the states is correlating to the order of the + given property names.

+ + @param aPropertyName + contains the sequence of property names. + + @throws UnknownPropertyException + if one property does not exist. + */ + sequence getPropertyStates( + [in] sequence aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + + /** Sets the property to default value. + +

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. +

+ + @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. + +

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 + +#include + + + +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 + +#include + +#include + + +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. + +

This interface provides direct access to operations + that are available if the containing property set + implements XPropertyState. +

+ +

The state contains the information if:

+
    +
  • a value is available or void
  • +
  • the value is stored in the object itself, or if a default value is being used
  • +
  • or if the value cannot be determined, due to ambiguity + (multi selection with multiple values).
  • +
+ +

Generally objects that implement this interface + also implement XProperty. +

+ */ +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. + +

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. +

+ + @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). + +

If no default exists, is not known or is void, + then the return value is `NULL`. +

+ + @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 +#include +#include +#include +#include + + + +module com { module sun { module star { module beans { + + +/** provides access to multiple iformation of + a set of properties with a single call. + +

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.

+ +

Note: There is no support for property change listeners in this + interface.

+ + @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. + +

If the names are not sorted the behaviour of the method + is undefined!

+ + @param aValues + specifies the values of the properties. + The order of the values has to be the same as in the + aPropertyNames 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 + +

The count and order of the values in the returned sequence + will be the same as the order of the names in the argument.

+ + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + +

If the names are not sorted the behaviour of the method + is undefined!

+ + @returns + a sequence of type + com::sun::star::beans::GetPropertyTolerantResult + for each of the properties listed in aPropertyNames. + */ + sequence< com::sun::star::beans::GetPropertyTolerantResult > getPropertyValuesTolerant( + [in] sequence< string > aPropertyNames ); + + + + /** retrieve only those values of the specified properties which + are direct values. + +

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.

+ + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + +

If the names are not sorted the behaviour of the method + is undefined!

+ + @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 + +#include + +#include + + + +module com { module sun { module star { module beans { + + +/** is used to receive PropertyChangeEvents + whenever a "constrained" property is changed. + +

You can register an XVetoableChangeListener with + a source object so as to be notified of any constrained property updates.

+ */ +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. + +

Important note:An object can only be inspected + completely if it supports the com::sun::star::lang::XTypeProvider + interface.

+ +

For details, see method XIntrospection::inspect().

+ + @since LibreOffice 4.3 +*/ +published singleton theIntrospection: XIntrospection; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3