diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /udkapi/com/sun/star/beans | |
parent | Initial commit. (diff) | |
download | libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'udkapi/com/sun/star/beans')
58 files changed, 4360 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/beans/Ambiguous.idl b/udkapi/com/sun/star/beans/Ambiguous.idl new file mode 100644 index 000000000..73b063f7c --- /dev/null +++ b/udkapi/com/sun/star/beans/Ambiguous.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_Ambiguous_idl__ +#define __com_sun_star_beans_Ambiguous_idl__ + +module com { module sun { module star { module beans { + +/** + A value of a given type that can be ambiguous. + + <p>This structure is used as the type of interface attributes corresponding + to instances of com::sun::star::beans::Property that + have the com::sun::star::beans::PropertyAttribute::MAYBEAMBIGUOUS.</p> + */ +struct Ambiguous<T> { + /** + The underlying value of this structure instance. + + <p>Even if this structure instance is ambiguous, this member should + contain a useful value. If there is no useful value for an ambiguous + structure instance, com::sun::star::beans::Optional + can be used as the type of this member.</p> + */ + T Value; + + /** + Marks this structure instance as ambiguous. + */ + boolean IsAmbiguous; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/Defaulted.idl b/udkapi/com/sun/star/beans/Defaulted.idl new file mode 100644 index 000000000..b7f816e59 --- /dev/null +++ b/udkapi/com/sun/star/beans/Defaulted.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_Defaulted_idl__ +#define __com_sun_star_beans_Defaulted_idl__ + +module com { module sun { module star { module beans { + +/** + A value of a given type that can be defaulted. + + <p>This structure is used as the type of interface attributes corresponding + to instances of com::sun::star::beans::Property that + have the com::sun::star::beans::PropertyAttribute::MAYBEDEFAULT.</p> + */ +struct Defaulted<T> { + /** + The underlying value of this structure instance. + + <p>Even if this structure instance is defaulted, this member should + contain a useful value. If there is no useful value for a defaulted + structure instance, com::sun::star::beans::Optional + can be used as the type of this member.</p> + */ + T Value; + + /** + Marks this structure instance as defaulted. + */ + boolean IsDefaulted; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl new file mode 100644 index 000000000..6a398309f --- /dev/null +++ b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__ +#define __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__ + +#include <com/sun/star/beans/TolerantPropertySetResultType.idl> +#include <com/sun/star/beans/GetPropertyTolerantResult.idl> + + + +module com { module sun { module star { module beans { + + +/** specifies information being retrieved about a single property. + + This type is used for the elements in the sequence returned by + com::sun::star::beans::XTolerantMultiPropertySet::GetDirectPropertyTolerantResult. + + @see com::sun::star::beans::XTolerantMultiPropertySet + */ +published struct GetDirectPropertyTolerantResult : com::sun::star::beans::GetPropertyTolerantResult +{ + /** specifies the name of the property. + */ + + string Name; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl new file mode 100644 index 000000000..dda56b6b3 --- /dev/null +++ b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_GetPropertyTolerantResult_idl__ +#define __com_sun_star_beans_GetPropertyTolerantResult_idl__ + +#include <com/sun/star/beans/TolerantPropertySetResultType.idl> +#include <com/sun/star/beans/PropertyState.idl> + + + +module com { module sun { module star { module beans { + + +/** specifies information being retrieved about a single property. + + @see com::sun::star::beans::XTolerantMultiPropertySet + */ +published struct GetPropertyTolerantResult +{ + /** specifies a success or error code for the retrieval operation. + + @see com::sun::star::beans::TolerantPropertySetResultType + */ + + short Result; + + + /** contains the state of the property. + + <p>The value is undefined if <var>Result</var> is not + com::sun::star::beans::TolerantPropertySetResultType::SUCCESS.</p> + */ + com::sun::star::beans::PropertyState State; + + + /** contains the value of the property. + + <p>The value is undefined if <var>Result</var> is not + com::sun::star::beans::TolerantPropertySetResultType::SUCCESS.</p> + */ + any Value; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/IllegalTypeException.idl b/udkapi/com/sun/star/beans/IllegalTypeException.idl new file mode 100644 index 000000000..9f9c1cf17 --- /dev/null +++ b/udkapi/com/sun/star/beans/IllegalTypeException.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_IllegalTypeException_idl__ +#define __com_sun_star_beans_IllegalTypeException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module beans { + + +/** This exception is thrown to indicate the use of a type which is + not appropriate. + + <p>This problem can occur, if you use an `any`. </p> + @see PropertyContainer + */ +published exception IllegalTypeException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/Introspection.idl b/udkapi/com/sun/star/beans/Introspection.idl new file mode 100644 index 000000000..1904d601d --- /dev/null +++ b/udkapi/com/sun/star/beans/Introspection.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_Introspection_idl__ +#define __com_sun_star_beans_Introspection_idl__ + +#include <com/sun/star/beans/XIntrospection.idl> + + + + module com { module sun { module star { module beans { + +/** A legacy (single-instance) service variant of theIntrospection singleton. + + @deprecated Use theIntrospection instead. +*/ +published service Introspection : com::sun::star::beans::XIntrospection; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/IntrospectionException.idl b/udkapi/com/sun/star/beans/IntrospectionException.idl new file mode 100644 index 000000000..be56b7c49 --- /dev/null +++ b/udkapi/com/sun/star/beans/IntrospectionException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_IntrospectionException_idl__ +#define __com_sun_star_beans_IntrospectionException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + + module com { module sun { module star { module beans { + +/** This exception is thrown when an exception happens during + introspection. + @deprecated + + <p>This exception isn't specified and used anywhere</p> + */ +published exception IntrospectionException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/MethodConcept.idl b/udkapi/com/sun/star/beans/MethodConcept.idl new file mode 100644 index 000000000..8d34a054f --- /dev/null +++ b/udkapi/com/sun/star/beans/MethodConcept.idl @@ -0,0 +1,110 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_MethodConcept_idl__ +#define __com_sun_star_beans_MethodConcept_idl__ + + + + module com { module sun { module star { module beans { + +/** These constants are used to specify concepts of the + introspection which apply to methods. + + <p>This list is not necessarily complete; new constants + may be added.</p> + @see Introspection + @see XIntrospection + @see XIntrospectionAccess + +*/ +published constants MethodConcept +{ + /** This value is used to query for all methods, see + XIntrospectionAccess::getMethod() and + XIntrospectionAccess::getMethods() + */ + const long ALL = -1; + + /** specifies methods which can result in an unstable state + (i.e. deadlock, application crash, security hole, etc.) + when called directly by the user. + */ + const long DANGEROUS = 1; + + /** specifies methods which are used to set and get the + value of properties/attributes. + + <p>These methods have the signature <code>type get...() + </code>, <code>void set...()</code> or <code>boolean is...() + </code>. </p> + */ + const long PROPERTY = 2; + + /** specifies methods of the <em>listener concept</em>. + + <p>These methods have the signature <code>add...Listener() + </code> or <code>remove...Listener()</code>. </p> + */ + const long LISTENER = 4; + + /** specifies methods of the <em>enumeration concept</em>. + + <p>These methods have the signature + <code>create...Enumeration</code> and return an interface + that is derived from com::sun::star::container::XEnumeration. + Additionally, the method + com::sun::star::container::XEnumerationAccess::getElementType() + belongs to this concept.</p> + */ + const long ENUMERATION = 8; + + /** specifies methods of the <em>name container concept</em>. + + <p>These methods have the signature + <code>get...ByName()</code>, + <code>set...ByName()</code>, + <code>replace...ByName()</code>, + <code>remove...ByName()</code>, + <code>has...ByName()</code>, or + <code>get...Names</code>. In addition, the method + com::sun::star::container::XEnumerationAccess::getElementType() + belongs to this concept. </p> + */ + const long NAMECONTAINER = 16; + + /** specifies methods of the <em>index container concept</em>. + + <p>These methods have the signature + <code>get...ByIndex()</code>, + <code>insert...ByIndex()</code>, + <code>replace...ByIndex()</code>, or + <code>remove...ByIndex()</code>. + The method com::sun::star::container::XIndexAccess::getCount() + also belongs to this concept. </p> + */ + const long INDEXCONTAINER = 32; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/NamedValue.idl b/udkapi/com/sun/star/beans/NamedValue.idl new file mode 100644 index 000000000..8b9cdbfa6 --- /dev/null +++ b/udkapi/com/sun/star/beans/NamedValue.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_NamedValue_idl__ +#define __com_sun_star_beans_NamedValue_idl__ + + module com { module sun { module star { module beans { + + +/** specifies a pair assembled from a name and a value. + */ +published struct NamedValue +{ + /** specifies the name part of the pair + */ + string Name; + + + /** specifies the value part of the pair. + */ + any Value; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/NotRemoveableException.idl b/udkapi/com/sun/star/beans/NotRemoveableException.idl new file mode 100644 index 000000000..3229b567c --- /dev/null +++ b/udkapi/com/sun/star/beans/NotRemoveableException.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_NotRemoveableException_idl__ +#define __com_sun_star_beans_NotRemoveableException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module beans { + + +/** This exception is thrown to indicate that removing a property from an + XPropertyContainer is not allowed. + */ +published exception NotRemoveableException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/Optional.idl b/udkapi/com/sun/star/beans/Optional.idl new file mode 100644 index 000000000..e7ab5f20e --- /dev/null +++ b/udkapi/com/sun/star/beans/Optional.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_Optional_idl__ +#define __com_sun_star_beans_Optional_idl__ + +module com { module sun { module star { module beans { + +/** + An optional value of a given type. + + <p>This structure is used as the type of interface attributes corresponding + to instances of com::sun::star::beans::Property that + have the com::sun::star::beans::PropertyAttribute::MAYBEVOID. It might + also be useful in other situations, for example as the return type of an + interface method.</p> + */ +struct Optional<T> { + /** + Marks this structure instance as having an actual value. + */ + boolean IsPresent; + + /** + The actual value of this structure instance. + + <p>If no actual value is present, a producer of such a structure instance + should leave this member defaulted, and a consumer of such a structure + instance should ignore the specific value stored in this member.</p> + */ + T Value; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/Pair.idl b/udkapi/com/sun/star/beans/Pair.idl new file mode 100644 index 000000000..f394f5d50 --- /dev/null +++ b/udkapi/com/sun/star/beans/Pair.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_beans_Pair_idl__ +#define __com_sun_star_beans_Pair_idl__ + +module com { module sun { module star { module beans { + +/** A tuple, or pair. + + <p> + This structure allows for conveniently packing together two values of + any type, and could be useful as the result type of methods. + </p> + + @since OOo 3.0 + */ +struct Pair<T, U> { + + /// first object. + T First; + + /// second object. + U Second; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/Property.idl b/udkapi/com/sun/star/beans/Property.idl new file mode 100644 index 000000000..7892e1668 --- /dev/null +++ b/udkapi/com/sun/star/beans/Property.idl @@ -0,0 +1,77 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_Property_idl__ +#define __com_sun_star_beans_Property_idl__ + +#include <com/sun/star/reflection/XIdlClass.idl> + + + +module com { module sun { module star { module beans { + + +/** This structure describes a property. + + There are three types of properties: + - bound properties + - constrained properties + - free properties + + */ +published struct Property +{ + /** specifies the name of the property. + + <p>The name is unique within an XPropertySet. + Upper and lower case are distinguished.</p> + */ + string Name; + + + /** contains an implementation-specific handle for the property. + + <p>It may be -1 if the implementation has no handle. You can use + this handle to get values from the XFastPropertySet.</p> + */ + long Handle; + + + /** contains an object that identifies the declared type for + the property. + + <p>If the property has multiple types or the type is not + known, <strong>but not an `any`</strong>, then + void must be returned.</p> + */ + type Type; + + + /** This field may contain zero or more constants of the + PropertyAttribute constants group. + */ + short Attributes; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertyAttribute.idl b/udkapi/com/sun/star/beans/PropertyAttribute.idl new file mode 100644 index 000000000..a75f4afaa --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyAttribute.idl @@ -0,0 +1,102 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertyAttribute_idl__ +#define __com_sun_star_beans_PropertyAttribute_idl__ + + + module com { module sun { module star { module beans { + + +/** These values are used to specify the behavior of a Property. + */ +published constants PropertyAttribute +{ + + /** indicates that a property value can be void. + + <p>It does not mean that the type of the property is void!</p> + */ + const short MAYBEVOID = 1; + + + /** indicates that a PropertyChangeEvent will be fired + to all registered XPropertyChangeListeners whenever the + value of this property changes. + */ + const short BOUND = 2; + + + /** indicates that a PropertyChangeEvent will be fired + to all registered XVetoableChangeListeners whenever the + value of this property is about to change. + + <p>This always implies that the property is <em>bound</em>, too. </p> + */ + const short CONSTRAINED = 4; + + + /** indicates that the value of the property is not persistent. + */ + const short TRANSIENT = 8; + + + /** indicates that the value of the property is read-only. + */ + const short READONLY = 16; + + + /** indicates that the value of the property can be ambiguous. + */ + const short MAYBEAMBIGUOUS = 32; + + + /** indicates that the property can be set to default. + */ + const short MAYBEDEFAULT = 64; + + + /** indicates that the property can be removed + (i.e., by calling XPropertyContainer::removeProperty()). + */ + const short REMOVABLE = 128; + + /** @deprecated + same as PropertyAttribute::REMOVABLE. + */ + const short REMOVEABLE = 128; + + /** indicates that a property is optional. + + <p>This attribute is not of interest for concrete property + implementations. It's needed for property specifications inside + service specifications in UNOIDL.</p> + + @see com::sun::star::reflection::XPropertyTypeDescription + @see com::sun::star::reflection::XServiceTypeDescription + @since OOo 1.1.2 + */ + const short OPTIONAL = 256; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertyBag.idl b/udkapi/com/sun/star/beans/PropertyBag.idl new file mode 100644 index 000000000..11e150ef8 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyBag.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertyBag_idl__ +#define __com_sun_star_beans_PropertyBag_idl__ + +#include <com/sun/star/beans/XPropertyBag.idl> + + + +module com { module sun { module star { module beans { + + +/** Implementation of this service can keep any properties and is useful + when an XPropertySet is to be used, for example, as parameters for a method call. + + <p>Scripting engines might not be able to use such objects as normal + property sets, giving direct access to the properties. In this case, + use the methods like XPropertySet::getPropertyValue(). + */ +published service PropertyBag : XPropertyBag +{ + createDefault(); + + createWithTypes( [in] sequence<type> AllowedTypes, [in] boolean AllowEmptyPropertyName, [in] boolean AutomaticAddition ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertyChangeEvent.idl b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl new file mode 100644 index 000000000..80b6e75d8 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__ +#define __com_sun_star_beans_PropertyChangeEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + + + + module com { module sun { module star { module beans { + + +/** gets delivered whenever a "bound" or "constrained" property is changed. + + <p>A PropertyChangeEvent object is sent as an + argument to the methods of XPropertyChangeListener + and XVetoableChangeListener. </p> + + <p>Normally such events contain the name and the old and new + value of the changed property. </p> + + <p>Void values may be provided for the old and new values if their + true values are not known. </p> + */ +published struct PropertyChangeEvent: com::sun::star::lang::EventObject +{ + + /** contains the unique name of the property which changes its value. + */ + string PropertyName; + + + /** contains `TRUE` if further events in the same transaction occur. + */ + boolean Further; + + + /** contains the implementation handle for the property. + + <p>May be -1 if the implementation has no handle. You can use + this handle to get values from the XFastPropertySet.</p> + */ + long PropertyHandle; + + + /** contains the old value of the property. + */ + any OldValue; + + + /** contains the new value of the property. + */ + any NewValue; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertyConcept.idl b/udkapi/com/sun/star/beans/PropertyConcept.idl new file mode 100644 index 000000000..9cc007350 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyConcept.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertyConcept_idl__ +#define __com_sun_star_beans_PropertyConcept_idl__ + + + +module com { module sun { module star { module beans { + +/** These constants are used to specify concepts of the + introspection which apply to properties and to the + methods which represent attributes. + + <p>This list is not necessarily complete; new constants + may be added.</p> + + @see Introspection + @see XIntrospection + @see XIntrospectionAccess + */ +published constants PropertyConcept +{ + /** This value is used to query for all properties. + + See + XIntrospectionAccess::getProperty() and + XIntrospectionAccess::getProperties() + */ + const long ALL = -1; + + /** specifies that the change or retrieval of this + property directly by the user can result in an unstable + state (deadlock, application crash, security hole, etc.) + */ + const long DANGEROUS = 1; + + /** specifies all properties which are reachable by + XPropertySet, XFastPropertySet or + XMultiPropertySet. + */ + const long PROPERTYSET = 2; + + + /** specifies all properties which are actually attributes of interfaces. + */ + const long ATTRIBUTES = 4; + + + /** specifies all properties which are represented by getter or setter methods. + + <p>These methods have the signature <code>type get...()</code>, + <code>void set...()</code> or <code>boolean is...()</code>.</p> + */ + const long METHODS = 8; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertyExistException.idl b/udkapi/com/sun/star/beans/PropertyExistException.idl new file mode 100644 index 000000000..375b5afd1 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyExistException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertyExistException_idl__ +#define __com_sun_star_beans_PropertyExistException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + + module com { module sun { module star { module beans { + + +/** This exception is thrown to indicate that a property with this name already + exists in the object. + + @see PropertyContainer + */ +published exception PropertyExistException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertySet.idl b/udkapi/com/sun/star/beans/PropertySet.idl new file mode 100644 index 000000000..f612695cc --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertySet.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertySet_idl__ +#define __com_sun_star_beans_PropertySet_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/beans/XPropertyAccess.idl> + +#include <com/sun/star/beans/XPropertyState.idl> + +#include <com/sun/star/beans/XFastPropertySet.idl> + +#include <com/sun/star/beans/XMultiPropertySet.idl> + + +module com { module sun { module star { module beans { + + +/** This is a generic service which should be supported by all services + which have properties. + + <p>It specifies several, mostly optional ways to access properties. + */ +published service PropertySet +{ + interface com::sun::star::beans::XPropertySet; + + [optional] interface com::sun::star::beans::XFastPropertySet; + [optional] interface com::sun::star::beans::XMultiPropertySet; + [optional] interface com::sun::star::beans::XPropertyAccess; + [optional] interface com::sun::star::beans::XPropertyState; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertySetInfoChange.idl b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl new file mode 100644 index 000000000..fddcc514e --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertySetInfoChange_idl__ +#define __com_sun_star_beans_PropertySetInfoChange_idl__ + + + + module com { module sun { module star { module beans { + + +/** specifies reasons for sending PropertySetInfoChangeEvents. + + @see PropertySetInfoChangeEvent + @see XPropertySetInfo + */ +published constants PropertySetInfoChange +{ + + /** A property was inserted into a XPropertySetInfo. + */ + const long PROPERTY_INSERTED = 0; + + + /** A property was removed from a XPropertySetInfo. + */ + const long PROPERTY_REMOVED = 1; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl new file mode 100644 index 000000000..7ba1ac54f --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertySetInfoChangeEvent_idl__ +#define __com_sun_star_beans_PropertySetInfoChangeEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + + + +module com { module sun { module star { module beans { + + +/** gets delivered whenever an XPropertySetInfo is + changed. + + <p>A PropertySetInfoChangeEvent object is sent + to XPropertySetInfoChangeListeners.</p> + */ +published struct PropertySetInfoChangeEvent: com::sun::star::lang::EventObject +{ + + /** contains the name of the property. + */ + string Name; + + + /** contains the implementation handle for the property. + + <p>May be -1 if the implementation has no handle.</p> + */ + long Handle; + + + /** contains the reason for the event. + + @see PropertySetInfoChange + */ + long Reason; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertyState.idl b/udkapi/com/sun/star/beans/PropertyState.idl new file mode 100644 index 000000000..ffda69801 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyState.idl @@ -0,0 +1,85 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertyState_idl__ +#define __com_sun_star_beans_PropertyState_idl__ + + + +module com { module sun { module star { module beans { + + +/** This enumeration lists the states that a property value can have. + + <p>The state consists of two aspects: </p> + <ol> + <li>whether a value is available or void, </li> + <li>whether the value is stored in the property set itself or is a + default, or ambiguous. </li> + </ol> + + @see XPropertyState + @see Property + */ +published enum PropertyState +{ + + /** The value of the property is stored in the PropertySet itself. + + <p>The property value must be available and of the specified type. + If the PropertyAttribute field in the struct + Property contains PropertyAttribute::MAYBEVOID, + then the value may be void. </p> + */ + DIRECT_VALUE, + + + /** The value of the property is available from a master (e.g., template). + + <p>The PropertyAttribute field in the struct + Property must contain the + PropertyAttribute::MAYBEDEFAULT flag. The property + value must be available and of the specified type. If the + PropertyAttribute field in the struct Property + contains PropertyAttribute::MAYBEVOID, then the + value may be void. </p> + */ + DEFAULT_VALUE, + + + /** The value of the property is only a recommendation because there + are multiple values for this property (e.g., from a multi selection). + + <p>The PropertyAttribute field in the struct + Property must contain the + PropertyAttribute::MAYBEAMBIGUOUS flag. The + property value must be available and of the specified type. + If the Attribute field in the struct Property contains + PropertyAttribute::MAYBEVOID, then the value + may be void. </p> + */ + AMBIGUOUS_VALUE + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl new file mode 100644 index 000000000..4573a1e47 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertyStateChangeEvent_idl__ +#define __com_sun_star_beans_PropertyStateChangeEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +#include <com/sun/star/beans/PropertyState.idl> + + + +module com { module sun { module star { module beans { + + +/** is delivered whenever the state of a "bound" property is changed. + + <p>It is sent as an argument to the method of + XPropertyStateChangeListener. </p> + + <p>Normally these events are accompanied by the name, and the old + and new values of the changed property. </p> + + <p>Void values may be provided for the old and new values if their + true values are not known. </p> + */ +published struct PropertyStateChangeEvent: com::sun::star::lang::EventObject +{ + + /** specifies the name of the property which changes its value. + + <p>This name identifies the property uniquely within an + XPropertySet. Upper and lower case are distinguished.</p> + */ + string PropertyName; + + + /** contains the implementation handle for the property. + + <p>It may be -1 if the implementation has no handle. You can use this + handle to get values from the XFastPropertySet + interface.</p> + */ + long PropertyHandle; + + + /** contains the old value of the property. + */ + com::sun::star::beans::PropertyState OldValue; + + + /** contains the new value of the property. + */ + com::sun::star::beans::PropertyState NewValue; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertyValue.idl b/udkapi/com/sun/star/beans/PropertyValue.idl new file mode 100644 index 000000000..842a57e4d --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyValue.idl @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#define __com_sun_star_beans_PropertyValue_idl__ + +#include <com/sun/star/beans/Property.idl> + +#include <com/sun/star/beans/PropertyState.idl> + + + + module com { module sun { module star { module beans { + + +/** specifies a property value. + */ +published struct PropertyValue +{ + /** specifies the name of the property. + + <p>The name is unique within a sequence of PropertyValues. + Upper and lower case are distinguished.</p> + */ + string Name; + + + /** contains an implementation-specific handle for the property. + + <p>It may be -1 if the implementation has no handle. If available + it can be used for fast lookups.</p> + */ + long Handle; + + + /** contains the value of the property or `VOID`, + if no value is available. + */ + any Value; + + + /** determines if the value comes from the object itself or from + a default and if the value cannot be determined exactly. + */ + com::sun::star::beans::PropertyState State; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertyValues.idl b/udkapi/com/sun/star/beans/PropertyValues.idl new file mode 100644 index 000000000..8f79c10c7 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyValues.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertyValues_idl__ +#define __com_sun_star_beans_PropertyValues_idl__ + +#include <com/sun/star/beans/PropertyValue.idl> + + +module com { module sun { module star { module beans { + +/** specifies a sequence of PropertyValue instances. + + <p>Such sequences are especially useful for remote interfaces. </p> +*/ +published typedef sequence<PropertyValue> PropertyValues; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/PropertyVetoException.idl b/udkapi/com/sun/star/beans/PropertyVetoException.idl new file mode 100644 index 000000000..cf95f15ed --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyVetoException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#define __com_sun_star_beans_PropertyVetoException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module beans { + + +/** This exception is thrown when a proposed change to a + property represents an unacceptable value. + + @see XPropertySet + */ +published exception PropertyVetoException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl new file mode 100644 index 000000000..5964c1925 --- /dev/null +++ b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_SetPropertyTolerantFailed_idl__ +#define __com_sun_star_beans_SetPropertyTolerantFailed_idl__ + + + +module com { module sun { module star { module beans { + + +/** specifies information about a single property failed to be set. + + @see com::sun::star::beans::XTolerantMultiPropertySet + */ +published struct SetPropertyTolerantFailed +{ + /** specifies the name of the property. + */ + string Name; + + + /** specifies the success or error code for setting the + properties value. + + <p>Since the property was not successful set the result will never be + com::sun::star::beans::TolerantPropertySetResultType::SUCCESS. + </p> + + @see com::sun::star::beans::TolerantPropertySetResultType + */ + short Result; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/StringPair.idl b/udkapi/com/sun/star/beans/StringPair.idl new file mode 100644 index 000000000..f6846add4 --- /dev/null +++ b/udkapi/com/sun/star/beans/StringPair.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_StringPair_idl__ +#define __com_sun_star_beans_StringPair_idl__ + + + module com { module sun { module star { module beans { + + +/** specifies a pair of two strings. + */ +published struct StringPair +{ + /** specifies the first of the two strings. + */ + string First; + + + /** specifies the second of the two strings. + */ + string Second; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl new file mode 100644 index 000000000..f4cb92f4e --- /dev/null +++ b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl @@ -0,0 +1,81 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_TolerantPropertySetResultType_idl__ +#define __com_sun_star_beans_TolerantPropertySetResultType_idl__ + + + +module com { module sun { module star { module beans { + + +/** specifies the possible failure types when using the + com::sun::star::beans::XTolerantMultiPropertySet + interface. + + <p>It usually matches one of the exception types that may occur when + using the + com::sun::star::beans::XPropertySet or + com::sun::star::beans::XMultiPropertySet interfaces.</p> +*/ +constants TolerantPropertySetResultType +{ + /** the property has been successfully set or retrieved. + */ + const short SUCCESS = 0; + + /** the property is not available. + + <p>For example if a + com::sun::star::beans::UnknownPropertyException + was caught.</p> + */ + const short UNKNOWN_PROPERTY = 1; + + /** the value used with the property is not valid. + + <p>For example if a + com::sun::star::lang::IllegalArgumentException + was caught.</p> + */ + const short ILLEGAL_ARGUMENT = 2; + + /** the property could not be changed at that time. + + <p>For example if a + com::sun::star::beans::PropertyVetoException + was caught.</p> + */ + const short PROPERTY_VETO = 3; + + /** a com::sun::star::lang::WrappedTargetException + did occur. + */ + const short WRAPPED_TARGET = 4; + + /** the operation failed and the reason is not known. + */ + const short UNKNOWN_FAILURE = 5; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/UnknownPropertyException.idl b/udkapi/com/sun/star/beans/UnknownPropertyException.idl new file mode 100644 index 000000000..a05a78af7 --- /dev/null +++ b/udkapi/com/sun/star/beans/UnknownPropertyException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#define __com_sun_star_beans_UnknownPropertyException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + + module com { module sun { module star { module beans { + + +/** This exception is thrown to indicate that the property name is unknown to + the implementation. + + @see XPropertySet + */ +published exception UnknownPropertyException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XExactName.idl b/udkapi/com/sun/star/beans/XExactName.idl new file mode 100644 index 000000000..13663f514 --- /dev/null +++ b/udkapi/com/sun/star/beans/XExactName.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XExactName_idl__ +#define __com_sun_star_beans_XExactName_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module beans { + + +/** provides a method of changing names for converting + an approximate name to an existing name. + + <p> One field of application is the conversion of case-insensitive + names to the existing names. </p> + + <p>Example: A basic interpreter ignores the case of the names. So + it must query the XExactName interface and then call + the method. </p> + + @see com::sun::star::beans::XPropertySet + @see com::sun::star::beans::XIntrospectionAccess + @see com::sun::star::container::XNameAccess + */ +published interface XExactName: com::sun::star::uno::XInterface +{ + + /** @returns + the exact name for a given approximate name. + + <p>For example "getExactName" could be returned for "GETEXACTNAME" + when "GETEXACTNAME" was used by a case insensitive scripting language. </p> + */ + string getExactName( [in] string aApproximateName ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XFastPropertySet.idl b/udkapi/com/sun/star/beans/XFastPropertySet.idl new file mode 100644 index 000000000..f41997c2d --- /dev/null +++ b/udkapi/com/sun/star/beans/XFastPropertySet.idl @@ -0,0 +1,105 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XFastPropertySet_idl__ +#define __com_sun_star_beans_XFastPropertySet_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/UnknownPropertyException.idl> + +#include <com/sun/star/beans/PropertyVetoException.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/lang/WrappedTargetException.idl> + + + +module com { module sun { module star { module beans { + + +/** provides a fast way of accessing and changing property values. + + <p>This interface is an extension to the XPropertySet + interface. The get and set methods use handles to access the + property values instead of character strings.</p> + */ +published interface XFastPropertySet: com::sun::star::uno::XInterface +{ + + /** sets the value to the property with the specified name. + + @param nHandle + contains the implementation handle of the + implementation for the property. + + @param aValue + contains the new value of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws PropertyVetoException + if a vetoable listener does not approve the change of + a property value. + + @throws IllegalArgumentException + if the new value cannot be converted to the type of the + underlying property by an identity or widening conversion. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into this + com::sun::star::lang::WrappedTargetException. + + */ + void setFastPropertyValue( [in] long nHandle, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + + /** @returns + the value of the property with the name PropertyName. + + @param nHandle + contains the implementation handle of the implementation for the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + com::sun::star::lang::WrappedTargetException. + */ + any getFastPropertyValue( [in] long nHandle ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl new file mode 100644 index 000000000..9230dcc28 --- /dev/null +++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl @@ -0,0 +1,150 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XHierarchicalPropertySet_idl__ +#define __com_sun_star_beans_XHierarchicalPropertySet_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl> + +#include <com/sun/star/beans/UnknownPropertyException.idl> + +#include <com/sun/star/beans/PropertyVetoException.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/lang/WrappedTargetException.idl> + + + +module com { module sun { module star { module beans { + + +/** provides information about and access to the + a hierarchy of properties from an implementation. + + <p> Usually an object that implements this interface + also implements XPropertySet and at + least some of the properties have subproperties. </p> + + <p> This interface allows direct access to subsubproperties, ... + up to an arbitrary nesting depth. Often the intermediate + elements of the hierarchy implement XProperty. </p> + + <p> Each implementation specifies how the + hierarchical property names, that are + used to access the elements of the hierarchy, + are formed. </p> + + <p> Commonly a notation similar to filesystem paths + (separated by '/' slashes) or nested module names + (separated by dots '.' or '::') is used. </p> + + */ +published interface XHierarchicalPropertySet: com::sun::star::uno::XInterface +{ + + /** retrieve information about the hierarchy of properties + + @returns + the XHierarchicalPropertySetInfo interface, + which describes the property hierarchy of the object which + supplies this interface. + + @returns + `NULL` if the implementation cannot or will + not provide information about the properties; otherwise the + interface XHierarchicalPropertySetInfo is returned. + */ + com::sun::star::beans::XHierarchicalPropertySetInfo + getHierarchicalPropertySetInfo(); + + + /** sets the value of the property with the specified nested name. + + @param aHierarchicalPropertyName + This parameter specifies the name of the property. + + @param aValue + This parameter specifies the new value for the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws PropertyVetoException + if the property is constrained and the change is vetoed by a + XVetoableChangeListener. + + @throws com::sun::star::uno::lang::IllegalArgumentException + if <var>aValue</var> is not a legal value for this property or + if <var>aHierarchicalPropertyName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect the latter condition. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + com::sun::star::lang::WrappedTargetException. + + @see XPropertySet::setPropertyValue + */ + void setHierarchicalPropertyValue( [in] string aHierarchicalPropertyName, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + + /** @returns + the value of the property with the specified nested name. + + @param aHierarchicalPropertyName + This parameter specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::uno::lang::IllegalArgumentException + if <var>aHierarchicalPropertyName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + com::sun::star::lang::WrappedTargetException. + + @see XPropertySet::getPropertyValue + */ + any getHierarchicalPropertyValue( [in] string aHierarchicalPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl new file mode 100644 index 000000000..7a21e4596 --- /dev/null +++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl @@ -0,0 +1,85 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__ +#define __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/Property.idl> + +#include <com/sun/star/beans/UnknownPropertyException.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + + + +module com { module sun { module star { module beans { + + +/** specifies a hierarchy of properties. + + <p>The specification only describes the properties, it does not contain + any values.</p> + */ +published interface XHierarchicalPropertySetInfo: com::sun::star::uno::XInterface +{ + + /** @returns + the property with the specified name from the hierarchy. + + @param aHierarchicalName + specifies the nested name of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::lang::IllegalArgumentException + if <var>aHierarchicalName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + + */ + com::sun::star::beans::Property getPropertyByHierarchicalName( [in] string aHierarchicalName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + + /** @returns + `TRUE` if a property with the specified name exists; + otherwise `FALSE` is returned. + + @param aHierarchicalName + specifies the name of the property. + + @throws com::sun::star::lang::IllegalArgumentException + if <var>aHierarchicalName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + */ + boolean hasPropertyByHierarchicalName( [in] string aHierarchicalName ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XIntrospection.idl b/udkapi/com/sun/star/beans/XIntrospection.idl new file mode 100644 index 000000000..9fdb736fc --- /dev/null +++ b/udkapi/com/sun/star/beans/XIntrospection.idl @@ -0,0 +1,103 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XIntrospection_idl__ +#define __com_sun_star_beans_XIntrospection_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XIntrospectionAccess.idl> + + + + module com { module sun { module star { module beans { + +/** allows the inspection of an object's properties and methods. + + <p><strong>Important note:</strong>An object can only be + inspected completely if it supports the com::sun::star::lang::XTypeProvider + interface.</p> + + <p>For details see method XIntrospection::inspect(). </p> + + @see XIntrospectionAccess + */ +published interface XIntrospection: com::sun::star::uno::XInterface +{ + /** inspects the given object. + + <p>It identifies all properties supported by the object + if they are represented in one of the following ways: </p> + + <dl> + <dt>property set </dt> + <dd>If the object supports an XPropertySet + interface, all its properties are adopted. + </dd> + + <dt>attributes </dt> + <dd>All of an object's attributes are considered as properties + with same name. If an attribute is read-only, the property + also is read-only. + </dd> + + <dt>get/set methods </dt> + <dd>Every method <code>RetType getX()</code> defines a + property where "X" stands for the property name and + "RetType" for its type. The method must not have any + parameters, or there is no property access method + and "X" has no property. If there is also a method + <code>void setX( [in] RetType )</code>, the property + "X" also allows write access; otherwise it is read-only. + </dd> + + <dt> <strong>Important note:</strong></dt> + <dd>If an object implements com::sun::star::container::XNameAccess, + the items that can be accessed are not considered as properties + of the object and so are not included in the property list offered by + com::sun::star::beans::XIntrospectionAccess::getProperties(). + com::sun::star::container::XNameAccess items have to be + accessed separately by com::sun::star::beans::XIntrospectionAccess::getNameAccess(). + </dd> + </dl> + + <p>In addition, the inspect method identifies all listener + access methods in the form <code>add...Listener</code>/ + <code>remove...Listener</code> (except methods of interface + XPropertySet) where "..." stands for the listener type. + </p> + + <p>Methods which do not belong to a property nor which represent + a listener access nor which are methods of XPropertySet, + com::sun::star::container::XNameAccess, + com::sun::star::container::XIndexAccess, or + com::sun::star::container::XEnumerationAccess, are considered to be normal + methods. </p> + + @see XIntrospectionAccess + */ + com::sun::star::beans::XIntrospectionAccess inspect( [in] any aObject ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XIntrospectionAccess.idl b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl new file mode 100644 index 000000000..be325005f --- /dev/null +++ b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl @@ -0,0 +1,278 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XIntrospectionAccess_idl__ +#define __com_sun_star_beans_XIntrospectionAccess_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/Property.idl> + +#include <com/sun/star/container/NoSuchElementException.idl> + +#include <com/sun/star/reflection/XIdlMethod.idl> + +#include <com/sun/star/lang/NoSuchMethodException.idl> + +#include <com/sun/star/reflection/XIdlClass.idl> + +#include <com/sun/star/beans/IllegalTypeException.idl> + + + module com { module sun { module star { module beans { + + +/** represents the result of an introspection operation done by + the inspect method of XIntrospection. + + <p>This interface gives information about an object's + properties and methods as detected in the introspection + process. It's not possible to access properties or call + methods directly using this interface but it provides + access to other interfaces to do so. + See com::sun::star::beans::XIntrospectionAccess::queryAdapter()</p> + + <p>The XExactName interface has to be supported + in order to implement inaccurate name access for all objects + which implement the com::sun::star::container::XNameAccess interface + or XPropertySet.</p> + + <p>The XMaterialHolder interface has to be + supported to give access to the inspected object.</p> + + @see XPropertySet + @see com::sun::star::beans::XExactName + */ +published interface XIntrospectionAccess: com::sun::star::uno::XInterface +{ + /** returns information about which method concepts described in + the MethodConcept constants group are supported + by this XIntrospectionAccess implementation. + + <p>The minimum supported concepts should be:</p> + + <ul> + <li> MethodConcept::PROPERTY, </li> + <li> MethodConcept::LISTENER, </li> + <li> MethodConcept::ENUMERATION, </li> + <li> MethodConcept::NAMECONTAINER</li> + <li> MethodConcept::INDEXCONTAINER; </li> + </ul> + + @returns + zero or more constants of the MethodConcept + constants group combined by an arithmetical or-operation. + */ + long getSuppliedMethodConcepts(); + + /** returns information about which property concepts described in + the PropertyConcept constants group are supported + by this XIntrospectionAccess implementation. + + <p>The minimum supported concepts should be:</p> + + <ul> + <li> PropertyConcept::PROPERTYSET, </li> + <li> PropertyConcept::ATTRIBUTES and </li> + <li> PropertyConcept::METHODS. </li> + </ul> + + @returns + zero or more constants of the PropertyConcept + constants group.combined by an arithmetical or-operation. + */ + long getSuppliedPropertyConcepts(); + + /** returns information about a property if a property with + the demanded name exists and if it accords to one of the + demanded PropertyConcepts. The information + is provided as Property struct. + + @returns + A Property struct providing + information about the demanded property, + if a corresponding property exists. + + @param aName + the name of the property. + + @param nPropertyConcepts + zero or more constants of the PropertyConcept + constants group combined by an arithmetical + or-operation. + + @throws NoSuchElementException + when a property with the demanded name doesn't exist + or if it accords to a wrong PropertyConcept. + */ + com::sun::star::beans::Property getProperty( [in] string aName, + [in] long nPropertyConcepts ) + raises( com::sun::star::container::NoSuchElementException ); + + /** allows to ask if a property with the demanded name exists + and if it accords to one of the demanded PropertyConcept. + + @returns + `TRUE` if the property exists and accords to one of + the demanded PropertyConcepts, otherwise + `FALSE` is returned. + + @param aName + the name of the property. + + @param nPropertyConcepts + zero or more constants of the PropertyConcept + constants group combined by an arithmetical + or-operation. + */ + boolean hasProperty( [in] string aName, + [in] long nPropertyConcepts ); + + /** returns a sequence of properties of the introspected object + + @returns + all properties of the introspected object which accord + to the demanded PropertyConcepts. + + @param nPropertyConcepts + zero or more constants of the PropertyConcept + constants group combined by an arithmetical + or-operation. + */ + sequence<com::sun::star::beans::Property> getProperties( + [in] long nPropertyConcepts ); + + /** returns information about a method if a method with + the demanded name exists and if it accords to one of + the demanded MethodConcepts. The information is + provided as com::sun::star::reflection::XIdlMethod. + + @returns + A com::sun::star::reflection::XIdlMethod providing + information about and + access to the demanded method if a corresponding + method exists. + + @param aName + the name of the method. + + @param nMethodConcepts + zero or more constants of the MethodConcept + constants group combined by an arithmetical + or-operation. + + @throws NoSuchElementException + when a method with the demanded name doesn't exist + or if it accords to a wrong MethodConcept. + */ + com::sun::star::reflection::XIdlMethod getMethod( [in] string aName, + [in] long nMethodConcepts ) + raises( com::sun::star::lang::NoSuchMethodException ); + + /** allows to ask if a method with the demanded name exists + and if it accords to one of the demanded MethodConcept. + + @returns + `TRUE` if the method exists and accords to one of + the demanded MethodConcepts, otherwise + `FALSE` is returned. + + @param aName + the name of the method. + + @param nMethodConcepts + zero or more constants of the MethodConcept + constants group combined by an arithmetical + or-operation. + */ + boolean hasMethod( [in] string aName, + [in] long nMethodConcepts ); + + /** returns a sequence of methods of the introspected object. + + @returns + all methods of the introspected object which accord + to the demanded MethodConcepts. + + @param nMethodConcepts + zero or more constants of the MethodConcept + constants group combined by an arithmetical + or-operation. + */ + sequence<com::sun::star::reflection::XIdlMethod> getMethods( + [in] long nMethodConcepts ); + + /** returns the listener types supported by the introspected + object. + + <p>If the introspected object has the methods + <code>addFooListener( XFooListener xFoo )</code> and + <code>removeFooListener( XFooListener xFoo )</code> + the type of XFooListener will be one of the elements + in the returned sequence. + + @returns + a sequence of the types of listener interfaces + which are supported by the introspected object. + */ + sequence<type> getSupportedListeners(); + + /** creates an adapter that implements an interface with the + specified type. + + <p>To access properties, query for the XPropertySet + interface. If the XPropertySet can + be queried, the XFastPropertySet interface + must be supported too. </p> + + <p>If the introspected object implements a name container, + the introspection should return the + com::sun::star::container::XNameAccess and + com::sun::star::container::XNameContainer interfaces.</p> + + <p>If the introspected object implements an index container, + the introspection should return the + com::sun::star::container::XIndexAccess and + com::sun::star::container::XIndexContainer interfaces.</p> + + <p>If the introspected object implements an enumeration + container, the introspection should return the + com::sun::star::container::XEnumerationAccess interface.</p> + + <p>If the introspected object implements the + com::sun::star::reflection::XIdlArray interface, + the introspection should return this.</p> + + <p>To implement inaccurate name access, at all objects, + which implement the com::sun::star::container::XNameAccess or + XPropertySet interface, the XExactName interface has to be supported. + </p> + + @see com::sun::star::beans::XExactName + */ + com::sun::star::uno::XInterface queryAdapter( [in] type aInterfaceType ) + raises( com::sun::star::beans::IllegalTypeException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XMaterialHolder.idl b/udkapi/com/sun/star/beans/XMaterialHolder.idl new file mode 100644 index 000000000..372b9af8c --- /dev/null +++ b/udkapi/com/sun/star/beans/XMaterialHolder.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XMaterialHolder_idl__ +#define __com_sun_star_beans_XMaterialHolder_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + + module com { module sun { module star { module beans { + +/** gives access to the material a (tool-) object is working on. + + <p>Example: The introspection service allows the inspection of an + object's properties and methods. The result is represented as + XIntrospectionAccess interface. The inspected object then is the + material attached to the introspection tool and an implementation + of XIntrospectionAccess should also support + XMaterialHolder to give access to this material.</p> + + @see XIntrospectionAccess + */ +published interface XMaterialHolder: com::sun::star::uno::XInterface +{ + /** returns the material that is connected to this (tool-) object + + @returns + the material that is connected to this (tool-) object. + */ + any getMaterial(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl new file mode 100644 index 000000000..079e66141 --- /dev/null +++ b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl @@ -0,0 +1,138 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__ +#define __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl> + +#include <com/sun/star/beans/PropertyVetoException.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/lang/WrappedTargetException.idl> + + +module com { module sun { module star { module beans { + + +/** provides access to multiple properties which form a hierarchy. + + @see XHierarchicalPropertySet + */ +published interface XMultiHierarchicalPropertySet: com::sun::star::uno::XInterface +{ + + /** retrieve information about the hierarchy of properties + + @returns + the XHierarchicalPropertySetInfo interface, + which describes the property hierarchy of the object which + supplies this interface. + + @returns + `NULL` if the implementation cannot or will + not provide information about the properties; otherwise the + interface XHierarchicalPropertySetInfo is returned. + + @see XHierarchicalPropertySet::getHierarchicalPropertySetInfo + */ + com::sun::star::beans::XHierarchicalPropertySetInfo getHierarchicalPropertySetInfo(); + + + /** sets the values of the properties with the specified nested names. + + <p> The values of the properties must change before bound + events are fired. The values of constrained properties + should change after the vetoable events are fired, if no + exception occurs. </p> + + <p> Unknown properties are ignored. </p> + + @param aHierarchicalPropertyNames + This parameter specifies the names of the properties. + + @param Values + This parameter specifies the new values for the properties. + + @throws PropertyVetoException + if one of the properties is constrained and the change is + vetoed by a XVetoableChangeListener. + + @throws com::sun::star::lang::IllegalArgumentException + if one of the values is not a legal value for the + corresponding property or if one of the names + is not a well-formed nested name for this hierarchy. + An implementation is not required to detect the latter + condition. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + com::sun::star::lang::WrappedTargetException. + + @see XHierarchicalPropertySet::setHierarchicalPropertyValue + @see XMultiPropertySet::setPropertyValues + */ + + + void setHierarchicalPropertyValues( [in] sequence<string> aHierarchicalPropertyNames, + [in] sequence<any> Values ) + raises( com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + + /** @returns + a sequence of all values of the properties which are specified + by their nested names. + + <p> The order of the values in the returned sequence will be the same + as the order of the names in the argument. </p> + + <p> Unknown properties are ignored, in their place `NULL` will be returned. </p> + + @throws com::sun::star::lang::IllegalArgumentException + if one of the names is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + com::sun::star::lang::WrappedTargetException. + + @see XHierarchicalPropertySet::getHierarchicalPropertyValue + @see XMultiPropertySet::setPropertyValues + */ + sequence<any> getHierarchicalPropertyValues( [in] sequence<string> aPropertyNames ) + raises( com::sun::star::lang::IllegalArgumentException , + com::sun::star::lang::WrappedTargetException ); + + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XMultiPropertySet.idl b/udkapi/com/sun/star/beans/XMultiPropertySet.idl new file mode 100644 index 000000000..c49b9a021 --- /dev/null +++ b/udkapi/com/sun/star/beans/XMultiPropertySet.idl @@ -0,0 +1,154 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XMultiPropertySet_idl__ +#define __com_sun_star_beans_XMultiPropertySet_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XPropertySetInfo.idl> + +#include <com/sun/star/beans/PropertyVetoException.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/lang/WrappedTargetException.idl> + +#include <com/sun/star/beans/XPropertiesChangeListener.idl> + + + +module com { module sun { module star { module beans { + + +/** provides access to multiple properties with a single call. + */ +published interface XMultiPropertySet: com::sun::star::uno::XInterface +{ + + /** @returns + the XPropertySetInfo interface, which describes + all properties of the object to which this interface belongs. + NULL is returned if the object cannot or will + not provide information about the properties. + + @see XPropertySet::getPropertySetInfo + */ + com::sun::star::beans::XPropertySetInfo getPropertySetInfo(); + + + /** sets the values to the properties with the specified names. + + <p>The values of the properties must change before the bound + events are fired. The values of the constrained properties + should change after the vetoable events are fired and only if no + exception occurred. Unknown properties are ignored. </p> + + @param aPropertyNames + specifies the names of the properties. All names must be unique. + This sequence must be alphabetically sorted. + + @param aValues + contains the new values of the properties. The order is the same + as in <var>aPropertyNames</var>. + + @throws IllegalArgumentException + if one of the new values cannot be converted to the type + of the underlying property by an identity or widening conversion. + + @throws com::sun::star::lang:WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped. + */ + void setPropertyValues( [in] sequence<string> aPropertyNames, + [in] sequence<any> aValues ) + raises( com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + + /** @returns + a sequence of all values of the properties which are specified by their names. + + <p>The order of the values in the returned sequence will be the same + as the order of the names in the argument. </p> + + @param aPropertyNames + specifies the names of the properties. + This sequence must be alphabetically sorted. + */ + sequence<any> getPropertyValues( [in] sequence<string> aPropertyNames ); + + + /** adds an XPropertiesChangeListener to the + specified property with the specified names. + + <p>The implementation can ignore the names of the properties + and fire the event on all properties. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @param aPropertyNames + specifies the names of the properties. + + @param xListener + contains the listener for the property change events. + + @see removePropertiesChangeListener + */ + void addPropertiesChangeListener( [in] sequence<string> aPropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener xListener ); + + + /** removes an XPropertiesChangeListener from the listener list. + + <p>It is a "noop" if the listener is not registered. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @param xListener + contains the listener to be removed. + + @see addPropertiesChangeListener + */ + void removePropertiesChangeListener( + [in] com::sun::star::beans::XPropertiesChangeListener xListener ); + + + /** fires a sequence of PropertyChangeEvents to the specified + listener. + + @param aPropertyNames + specifies the sorted names of the properties. + + @param xListener + contains the listener for the property change events. + */ + void firePropertiesChangeEvent( [in] sequence<string> aPropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener xListener ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XMultiPropertyStates.idl b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl new file mode 100644 index 000000000..3dff94770 --- /dev/null +++ b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl @@ -0,0 +1,113 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XMultiPropertyStates_idl__ +#define __com_sun_star_beans_XMultiPropertyStates_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/PropertyState.idl> +#include <com/sun/star/beans/UnknownPropertyException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> +#include <com/sun/star/beans/XPropertyStateChangeListener.idl> + + + +module com { module sun { module star { module beans { + +/** makes it possible to query information about the state of + one or more properties. + + <p>The state of a property contains information about the source of + the value, e.g. the object itself, a default or a stylesheet. + For more information see PropertyState. +*/ +published interface XMultiPropertyStates: com::sun::star::uno::XInterface +{ + /** @returns + a sequence of the states of the properties which are specified + by their names. + + <p>The order of the states is correlating to the order of the + given property names. + + @param aPropertyName + specifies the names of the properties. All names must be unique. + This sequence must be alphabetically sorted. + */ + sequence<com::sun::star::beans::PropertyState> getPropertyStates( + [in] sequence<string> aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + /** sets all properties to their default values. + + <p>Each value depends on the implementation of this interface. + If it is a bound property, you must change the value before + the change events are fired. If it is a constrained property, you + must fire the vetoable event before you change the property value. + </p> + */ + void setAllPropertiesToDefault(); + + /** sets the specified properties to their default values. + + <p>Each value depends on the implementation of this interface. + If it is a bound property, you must change the value before + the change events are fired. If it is a constrained property, you + must fire the vetoable event before you change the property value. </p> + + @param aPropertyNames + specifies the names of the properties. All names must be unique. + This sequence must be alphabetically sorted. + + @throws UnknownPropertyException + if one of the properties does not exist. + */ + void setPropertiesToDefault( [in] sequence<string> aPropertyNames ) + raises( com::sun::star::beans::UnknownPropertyException ); + + /** @returns + the default values of the properties with the specified names. + + <p>If no default exists, is not known, or is void, + then the return type at the corresponding position in the + sequence returned is `void`. </p> + + @param aPropertyNames + specifies the names of the properties. All names must be unique. + This sequence must be alphabetically sorted. + + @throws UnknownPropertyException + if one of the properties does not exist. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + com::sun::star::lang::WrappedTargetException. + */ + sequence<any> getPropertyDefaults( + [in] sequence<string> aPropertyNames ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl b/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl new file mode 100644 index 000000000..fac3578ab --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__ +#define __com_sun_star_beans_XPropertiesChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/beans/PropertyChangeEvent.idl> + + + +module com { module sun { module star { module beans { + + +/** receives events which get fired whenever a bound property is changed. + */ +published interface XPropertiesChangeListener: com::sun::star::lang::XEventListener +{ + + /** gets called when bound properties are changed. + + @param aEvent + contains a sequence of PropertyChangeEvent objects + which describe the event source and the properties that have + changed. + */ + void propertiesChange( [in] sequence<com::sun::star::beans::PropertyChangeEvent> aEvent ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl new file mode 100644 index 000000000..cb5d6fa8b --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__ +#define __com_sun_star_beans_XPropertiesChangeNotifier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XPropertiesChangeListener.idl> + + +module com { module sun { module star { module beans { + + +/** specifies a notifier for changed property values@see XPropertiesChangeListener + */ +published interface XPropertiesChangeNotifier: com::sun::star::uno::XInterface +{ + + /** adds an XPropertiesChangeListener to the + specified properties with the specified names. + */ + void addPropertiesChangeListener( + [in] sequence<string> PropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener Listener ); + + + /** removes an XPropertiesChangeListener from the + listener list. + */ + void removePropertiesChangeListener( + [in] sequence<string> PropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener Listener ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XProperty.idl b/udkapi/com/sun/star/beans/XProperty.idl new file mode 100644 index 000000000..de65682f5 --- /dev/null +++ b/udkapi/com/sun/star/beans/XProperty.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XProperty_idl__ +#define __com_sun_star_beans_XProperty_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/Property.idl> + + +module com { module sun { module star { module beans { + + +/** Is implemented by objects that also are a property of + some other object. + + <p> Provides access to traits of this object that would + otherwise only be available from a containing + XPropertySet via its + XPropertySetInfo. + </p> + + */ +published interface XProperty: com::sun::star::uno::XInterface +{ + /** @returns + the specification of this object as Property. + + */ + com::sun::star::beans::Property getAsProperty(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertyAccess.idl b/udkapi/com/sun/star/beans/XPropertyAccess.idl new file mode 100644 index 000000000..d8cbb43c4 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyAccess.idl @@ -0,0 +1,77 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertyAccess_idl__ +#define __com_sun_star_beans_XPropertyAccess_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/PropertyValue.idl> + +#include <com/sun/star/beans/UnknownPropertyException.idl> + +#include <com/sun/star/beans/PropertyVetoException.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/lang/WrappedTargetException.idl> + + + +module com { module sun { module star { module beans { + + +/** makes it possible to access all property values and to set them at once. + + <p>In most cases this interface will be in addition to + XPropertySet. It is especially useful for remote + communication because it lessens the number of calls for getting + property values; that is especially important because these calls + are necessarily synchronous. </p> + + <p>Another advantage of this method is that conflicts are avoided + if property value restrictions depend on the value of other properties.</p> + */ +published interface XPropertyAccess: com::sun::star::uno::XInterface +{ + + /** @returns + a sequence of all property values within the object in a single call. + */ + sequence<com::sun::star::beans::PropertyValue> getPropertyValues(); + + + /** sets the values of given properties. + + <p>All properties which are not contained in the sequence + <var>aProps</var> will be left unchanged.</p> + */ + void setPropertyValues( [in] sequence<com::sun::star::beans::PropertyValue> aProps ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertyBag.idl b/udkapi/com/sun/star/beans/XPropertyBag.idl new file mode 100644 index 000000000..3d9efd0ab --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyBag.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertyBag_idl__ +#define __com_sun_star_beans_XPropertyBag_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/beans/XPropertyContainer.idl> +#include <com/sun/star/beans/XPropertyAccess.idl> + + + + module com { module sun { module star { module beans { + + +/** + @since LibreOffice 4.1 + */ +published interface XPropertyBag +{ + interface com::sun::star::beans::XPropertySet; + + interface com::sun::star::beans::XPropertyContainer; + + interface com::sun::star::beans::XPropertyAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertyChangeListener.idl b/udkapi/com/sun/star/beans/XPropertyChangeListener.idl new file mode 100644 index 000000000..c80ec9748 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyChangeListener.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__ +#define __com_sun_star_beans_XPropertyChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/beans/PropertyChangeEvent.idl> + + + +module com { module sun { module star { module beans { + + +/** is used to receive PropertyChangeEvents + whenever a bound property is changed. + */ +published interface XPropertyChangeListener: com::sun::star::lang::XEventListener +{ + + /** is called when a bound property is changed. + */ + void propertyChange( [in] com::sun::star::beans::PropertyChangeEvent evt ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertyContainer.idl b/udkapi/com/sun/star/beans/XPropertyContainer.idl new file mode 100644 index 000000000..1843082b2 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyContainer.idl @@ -0,0 +1,93 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertyContainer_idl__ +#define __com_sun_star_beans_XPropertyContainer_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/reflection/XIdlClass.idl> + +#include <com/sun/star/beans/PropertyExistException.idl> + +#include <com/sun/star/beans/IllegalTypeException.idl> + +#include <com/sun/star/beans/UnknownPropertyException.idl> + +#include <com/sun/star/beans/NotRemoveableException.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +module com { module sun { module star { module beans { + + +/** makes it possible to add and remove properties to or from an object. + + <p>Some scripting engines cannot access properties directly when the + property set is changed. Please use XPropertySet::getPropertyValue() + etc. in this case. </p> + */ +published interface XPropertyContainer: com::sun::star::uno::XInterface +{ + + /** adds a property to the object. + + @param Name + specifies the name of the new property. + + @param Attributes + specifies the property attributes, see PropertyAttribute. + + @param DefaultValue + specifies the type of the new property and a potential default value. + + @throws PropertyExistException + if a property with the same name already exists. + + @throws IllegalTypeException + if the specified type is not allowed. + + */ + void addProperty( [in] string Name, + [in] short Attributes, + [in] any DefaultValue ) + raises( com::sun::star::beans::PropertyExistException, + com::sun::star::beans::IllegalTypeException, + com::sun::star::lang::IllegalArgumentException ); + + + /** removes a property from the object. + + @param Name + specified the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + void removeProperty( [in] string Name ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::NotRemoveableException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertySet.idl b/udkapi/com/sun/star/beans/XPropertySet.idl new file mode 100644 index 000000000..bcf97fa6e --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySet.idl @@ -0,0 +1,185 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#define __com_sun_star_beans_XPropertySet_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XPropertySetInfo.idl> + +#include <com/sun/star/beans/UnknownPropertyException.idl> + +#include <com/sun/star/beans/PropertyVetoException.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/lang/WrappedTargetException.idl> + +#include <com/sun/star/beans/XPropertyChangeListener.idl> + +#include <com/sun/star/beans/XVetoableChangeListener.idl> + + + +module com { module sun { module star { module beans { + + +/** provides information about and access to the + properties from an implementation. + + <p>There are three types of properties: </p> + + <ul> + <li>bound properties </li> + <li>constrained properties </li> + <li>free properties </li> + </ul> + + <p>You can listen to changes of bound properties with the + XPropertyChangeListener and you can veto changes + of constrained properties with the XVetoableChangeListener. </p> + + <p>To implement inaccurate name access, you must support the + interface XExactName. </p> + + @see com::sun::star::beans::XExactName + */ +published interface XPropertySet: com::sun::star::uno::XInterface +{ + + /** @returns + the XPropertySetInfo interface, which + describes all properties of the object which supplies this + interface. + + @returns + NULL if the implementation cannot or will + not provide information about the properties; otherwise the + interface XPropertySetInfo is returned. + */ + com::sun::star::beans::XPropertySetInfo getPropertySetInfo(); + + + /** sets the value of the property with the specified name. + + <p>If it is a bound property the value will be changed before + the change event is fired. If it is a constrained property + a vetoable event is fired before the property value can be + changed. </p> + + @throws com::sun::star::beans::PropertyVetoException + if the property is read-only or vetoable + and one of the listeners throws this exception + because of an unaccepted new value. + */ + void setPropertyValue( [in] string aPropertyName, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + + /** @returns + the value of the property with the specified name. + + @param PropertyName + This parameter specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + com::sun::star::lang::WrappedTargetException. + */ + any getPropertyValue( [in] string PropertyName ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + + /** adds an XPropertyChangeListener to the specified property. + + <p>An empty name ("") registers the listener to all bound + properties. If the property is not bound, the behavior is + not specified. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see removePropertyChangeListener + */ + void addPropertyChangeListener( [in] string aPropertyName, + [in] com::sun::star::beans::XPropertyChangeListener xListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + + /** removes an XPropertyChangeListener from + the listener list. + + <p>It is a "noop" if the listener is not registered. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see addPropertyChangeListener + */ + void removePropertyChangeListener( [in] string aPropertyName, + [in] com::sun::star::beans::XPropertyChangeListener aListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + + /** adds an XVetoableChangeListener to the specified + property with the name PropertyName. + + <p>An empty name ("") registers the listener to all + constrained properties. If the property is not constrained, + the behavior is not specified. </p> + + @see removeVetoableChangeListener + */ + void addVetoableChangeListener( [in] string PropertyName, + [in] com::sun::star::beans::XVetoableChangeListener aListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + + /** removes an XVetoableChangeListener from the + listener list. + + <p>It is a "noop" if the listener is not registered. </p> + + @see addVetoableChangeListener + */ + void removeVetoableChangeListener( [in] string PropertyName, + [in] com::sun::star::beans::XVetoableChangeListener aListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertySetInfo.idl b/udkapi/com/sun/star/beans/XPropertySetInfo.idl new file mode 100644 index 000000000..fb368b21f --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySetInfo.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertySetInfo_idl__ +#define __com_sun_star_beans_XPropertySetInfo_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/Property.idl> + +#include <com/sun/star/beans/UnknownPropertyException.idl> + + + +module com { module sun { module star { module beans { + + +/** specifies a set of properties. + + <p>There are three kinds of properties: + <ul> + <li>bound properties</li> + <li>constrained properties</li> + <li>free properties</li> + </ul> + + <p>The specification only describes the properties, it does not contain + any values.</p> + */ +published interface XPropertySetInfo: com::sun::star::uno::XInterface +{ + + /** @returns + a sequence with all property descriptors which are specified + within this XPropertySetInfo. + */ + sequence<com::sun::star::beans::Property> getProperties(); + + + /** @returns + the property with the specified name from the object. + + @param aName + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + com::sun::star::beans::Property getPropertyByName( [in] string aName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + + /** @returns + `TRUE` if a property with the specified name exist; + otherwise `FALSE` is returned. + + @param Name + specifies the name of the property. + */ + boolean hasPropertyByName( [in] string Name ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl new file mode 100644 index 000000000..1d0676332 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertySetInfoChangeListener_idl__ +#define __com_sun_star_beans_XPropertySetInfoChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/beans/PropertySetInfoChangeEvent.idl> + + +module com { module sun { module star { module beans { + + +/** a listener for events related to XPropertySetInfos. + + @see PropertySetInfoChangeEvent + @see XPropertySetInfoChangeNotifier + */ +published interface XPropertySetInfoChangeListener: com::sun::star::lang::XEventListener +{ + + /** is called whenever changes of a XPropertySetInfo shall + be propagated. + */ + void propertySetInfoChange( [in] PropertySetInfoChangeEvent evt ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl new file mode 100644 index 000000000..b8302b640 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__ +#define __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/XPropertySetInfoChangeListener.idl> + + +module com { module sun { module star { module beans { + + +/** a notifier for changes of XPropertySetInfos. + + @see PropertySetInfoChangeEvent + @see XPropertySetInfoChangeListener + */ +published interface XPropertySetInfoChangeNotifier: com::sun::star::uno::XInterface +{ + + /** registers a listener for PropertySetInfoChangeEvents. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void addPropertySetInfoChangeListener( + [in] XPropertySetInfoChangeListener Listener ); + + + /** removes a listener for PropertySetInfoChangeEvents. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void removePropertySetInfoChangeListener( + [in] XPropertySetInfoChangeListener Listener ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertySetOption.idl b/udkapi/com/sun/star/beans/XPropertySetOption.idl new file mode 100644 index 000000000..a896b5c40 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySetOption.idl @@ -0,0 +1,31 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_beans_XPropertySetOption_idl__ +#define __com_sun_star_beans_XPropertySetOption_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module beans { + +interface XPropertySetOption: com::sun::star::uno::XInterface +{ + /** + * Turn on or off notifying change listeners on property value change. + * This option is turned on by default. + */ + void enableChangeListenerNotification( [in] boolean bEnable ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertyState.idl b/udkapi/com/sun/star/beans/XPropertyState.idl new file mode 100644 index 000000000..fa809164a --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyState.idl @@ -0,0 +1,128 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertyState_idl__ +#define __com_sun_star_beans_XPropertyState_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/PropertyState.idl> + +#include <com/sun/star/beans/UnknownPropertyException.idl> + +#include <com/sun/star/lang/WrappedTargetException.idl> + +#include <com/sun/star/beans/XPropertyStateChangeListener.idl> + + + +module com { module sun { module star { module beans { + + +/** makes it possible to query information about the state of + one or more properties. + + <p>The state contains the information if:</p> + <ul> + <li>a value is available or void</li> + <li>the value is stored in the object itself, or if a default value is to be used</li> + <li>and if the value cannot be determined, due to ambiguity + (multi selection with multiple values).</li> + </ul> + */ +published interface XPropertyState: com::sun::star::uno::XInterface +{ + + /** @returns + the state of the property. + + @param PropertyName + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + com::sun::star::beans::PropertyState getPropertyState( + [in] string PropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + + /** @returns + a sequence of the states of the properties which are specified + by their names. + + <p>The order of the states is correlating to the order of the + given property names. </p> + + @param aPropertyName + contains the sequence of property names. + + @throws UnknownPropertyException + if one property does not exist. + */ + sequence<com::sun::star::beans::PropertyState> getPropertyStates( + [in] sequence<string> aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + + /** Sets the property to default value. + + <p>The value depends on the implementation of this interface. + If it is a bound property, you must change the value before + the change events are fired. If it is a constrained property, you + must fire the vetoable event before you change the property value. + </p> + + @param PropertyName + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + void setPropertyToDefault( [in] string PropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + + /** @returns + the default value of the property with the name PropertyName. + + <p>If no default exists, is not known or is void, + then the return type is `void`. + + @param aPropertyName + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + com::sun::star::lang::WrappedTargetException. + */ + any getPropertyDefault( [in] string aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl new file mode 100644 index 000000000..2ae37f1fa --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertyStateChangeListener_idl__ +#define __com_sun_star_beans_XPropertyStateChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/beans/PropertyStateChangeEvent.idl> + + + +module com { module sun { module star { module beans { + + +/** receives events which get fired whenever the state of a bound + property is changed. + */ +published interface XPropertyStateChangeListener: com::sun::star::lang::XEventListener +{ + + /** is called when a bound property's state is changed. + + @param aEvent + describes the event source and the property that has changed. + */ + void propertyStateChange( [in] com::sun::star::beans::PropertyStateChangeEvent aEvent ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XPropertyWithState.idl b/udkapi/com/sun/star/beans/XPropertyWithState.idl new file mode 100644 index 000000000..cde373902 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyWithState.idl @@ -0,0 +1,99 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XPropertyWithState_idl__ +#define __com_sun_star_beans_XPropertyWithState_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/PropertyState.idl> + +#include <com/sun/star/lang/WrappedTargetException.idl> + + +module com { module sun { module star { module beans { + + +/** makes it possible to query information about the state of + this object, seen as a property contained in a property set. + + <p> This interface provides direct access to operations + that are available if the containing property set + implements XPropertyState. + </p> + + <p>The state contains the information if:</p> + <ul> + <li>a value is available or void</li> + <li>the value is stored in the object itself, or if a default value is being used</li> + <li>or if the value cannot be determined, due to ambiguity + (multi selection with multiple values).</li> + </ul> + + <p> Generally objects that implement this interface + also implement XProperty. + </p> + */ +published interface XPropertyWithState: com::sun::star::uno::XInterface +{ + + /** @returns + the state of this as a property. + */ + com::sun::star::beans::PropertyState getStateAsProperty( ); + + + /** sets this to its default value. + + <p> The value depends on the implementation of this interface. + If this is a bound property, the value changes before + the change events are fired. If this is a constrained property, + the vetoable event is fired before the property value changes. + </p> + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + com::sun::star::lang::WrappedTargetException. + */ + void setToDefaultAsProperty( ) + raises( com::sun::star::lang::WrappedTargetException ); + + + /** @returns + an object representing the default state of this object (as a property). + + <p> If no default exists, is not known or is void, + then the return value is `NULL`. + </p> + + @throws com::sun::star::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into that + com::sun::star::lang::WrappedTargetException. + */ + com::sun::star::uno::XInterface getDefaultAsProperty( ) + raises( com::sun::star::lang::WrappedTargetException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl new file mode 100644 index 000000000..a003c14b4 --- /dev/null +++ b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl @@ -0,0 +1,137 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__ +#define __com_sun_star_beans_XTolerantMultiPropertySet_idl__ + + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/GetDirectPropertyTolerantResult.idl> +#include <com/sun/star/beans/GetPropertyTolerantResult.idl> +#include <com/sun/star/beans/SetPropertyTolerantFailed.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + + +module com { module sun { module star { module beans { + + +/** provides access to multiple iformation of + a set of properties with a single call. + + <p>The speciality of this interface is that none of the functions + will throw the usual exceptions associated with setting and retrieving + of property values. Instead the data for the failures is collected and + returned.</p> + + <p>Note: There is no support for property change listeners in this + interface.</p> + + @see com::sun::star::beans::XPropertySet + @see com::sun::star::beans::XMultiPropertySet + */ +published interface XTolerantMultiPropertySet : com::sun::star::uno::XInterface +{ + + /** sets the values to the properties with the specified names. + + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + + <p>If the names are not sorted the behaviour of the method + is undefined!</p> + + @param aValues + specifies the values of the properties. + The order of the values has to be the same as in the + <var>aPropertyNames</var> parameter int order to match + the property name with its value. + + @returns + An empty sequence if all properties are successful set. + + Otherwise for every property value that could not successfully + be set an entry of the + com::sun::star::beans::SetPropertyTolerantFailed + will be present in this sequence. + The order of the properties is also alphabetically ascending. + + @throws IllegalArgumentException + if the number of property names and values do not match. + + */ + sequence< com::sun::star::beans::SetPropertyTolerantFailed > setPropertyValuesTolerant( + [in] sequence< string > aPropertyNames, + [in] sequence< any > aValues ) + raises( com::sun::star::lang::IllegalArgumentException ); + + + /** retrieve the values of the specified properties + + <p>The count and order of the values in the returned sequence + will be the same as the order of the names in the argument.</p> + + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + + <p>If the names are not sorted the behaviour of the method + is undefined!</p> + + @returns + a sequence of type + com::sun::star::beans::GetPropertyTolerantResult + for each of the properties listed in <var>aPropertyNames</var>. + */ + sequence< com::sun::star::beans::GetPropertyTolerantResult > getPropertyValuesTolerant( + [in] sequence< string > aPropertyNames ); + + + + /** retrieve only those values of the specified properties which + are direct values. + + <p>Since the count of returned elements may be different from + the number of supplied property names the returned elements + will also state the name of the property.</p> + + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + + <p>If the names are not sorted the behaviour of the method + is undefined!</p> + + @returns + a sequence of type + com::sun::star::beans::GetDirectPropertyTolerantResult + but only for those properties supplied whoms state is + com::sun::star::beans::PropertyState::DIRECT_VALUE. + */ + sequence< com::sun::star::beans::GetDirectPropertyTolerantResult > getDirectPropertyValuesTolerant( + [in] sequence< string > aPropertyNames ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/XVetoableChangeListener.idl b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl new file mode 100644 index 000000000..60738a54b --- /dev/null +++ b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_beans_XVetoableChangeListener_idl__ +#define __com_sun_star_beans_XVetoableChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/beans/PropertyChangeEvent.idl> + +#include <com/sun/star/beans/PropertyVetoException.idl> + + + +module com { module sun { module star { module beans { + + +/** is used to receive PropertyChangeEvents + whenever a "constrained" property is changed. + + <p>You can register an XVetoableChangeListener with + a source object so as to be notified of any constrained property updates.</p> + */ +published interface XVetoableChangeListener: com::sun::star::lang::XEventListener +{ + + /** gets called when a constrained property is changed. + */ + void vetoableChange( [in] com::sun::star::beans::PropertyChangeEvent aEvent ) + raises( com::sun::star::beans::PropertyVetoException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/beans/theIntrospection.idl b/udkapi/com/sun/star/beans/theIntrospection.idl new file mode 100644 index 000000000..ba100f4b6 --- /dev/null +++ b/udkapi/com/sun/star/beans/theIntrospection.idl @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef INCLUDED_com_sun_star_beans_theIntrospection_idl +#define INCLUDED_com_sun_star_beans_theIntrospection_idl + +module com { module sun { module star { module beans { + +published interface XIntrospection; + +/** provides functionality to get information about an object's + properties and methods. + + <p><strong>Important note:</strong>An object can only be inspected + completely if it supports the com::sun::star::lang::XTypeProvider + interface.</p> + + <p>For details, see method XIntrospection::inspect().</p> + + @since LibreOffice 4.3 +*/ +published singleton theIntrospection: XIntrospection; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |