diff options
Diffstat (limited to 'udkapi/com/sun/star/lang')
38 files changed, 2122 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/lang/ArrayIndexOutOfBoundsException.idl b/udkapi/com/sun/star/lang/ArrayIndexOutOfBoundsException.idl new file mode 100644 index 0000000000..cfdd0bd924 --- /dev/null +++ b/udkapi/com/sun/star/lang/ArrayIndexOutOfBoundsException.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** This exception is thrown to indicate that an array has been + accessed with an illegal index. + + <p>The index is either negative or greater than or equal to + the size of the array. </p> + */ +published exception ArrayIndexOutOfBoundsException: com::sun::star::lang::IndexOutOfBoundsException +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/ClassNotFoundException.idl b/udkapi/com/sun/star/lang/ClassNotFoundException.idl new file mode 100644 index 0000000000..2c1eb60a73 --- /dev/null +++ b/udkapi/com/sun/star/lang/ClassNotFoundException.idl @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** This exception is thrown when an application tries to load + the information on the type through its string name. + */ +published exception ClassNotFoundException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/DisposedException.idl b/udkapi/com/sun/star/lang/DisposedException.idl new file mode 100644 index 0000000000..8dacc58264 --- /dev/null +++ b/udkapi/com/sun/star/lang/DisposedException.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + + module com { module sun { module star { module lang { + +/** This exception occurs if the object behind this interface has been + disposed before and can't uphold its method specification anymore. + + <p>The implementation normally should implement the + com::sun::star::lang::XComponent interface + to indicate this possibility. </p> + */ +published exception DisposedException: com::sun::star::uno::RuntimeException +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/EventObject.idl b/udkapi/com/sun/star/lang/EventObject.idl new file mode 100644 index 0000000000..72ca61a49a --- /dev/null +++ b/udkapi/com/sun/star/lang/EventObject.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + + module com { module sun { module star { module lang { + +/** specifies the base for all event objects and identifies the + source of the event. + */ +published struct EventObject +{ + /** refers to the object that fired the event. + */ + com::sun::star::uno::XInterface Source; + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/IllegalAccessException.idl b/udkapi/com/sun/star/lang/IllegalAccessException.idl new file mode 100644 index 0000000000..b6f31d2ad6 --- /dev/null +++ b/udkapi/com/sun/star/lang/IllegalAccessException.idl @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + + module com { module sun { module star { module lang { + +/** This exception is thrown when an application tries to change + a constant property. + */ +published exception IllegalAccessException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/IllegalArgumentException.idl b/udkapi/com/sun/star/lang/IllegalArgumentException.idl new file mode 100644 index 0000000000..4aa53fa0e7 --- /dev/null +++ b/udkapi/com/sun/star/lang/IllegalArgumentException.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +module com { module sun { module star { module lang { + +/** This exception is thrown to indicate that a method has + passed an illegal or inappropriate argument. + */ +published exception IllegalArgumentException + : com::sun::star::uno::RuntimeException +{ + /** identifies the position of the illegal argument. + + <p>This field is -1 if the position is not known.</p> + */ + short ArgumentPosition; + +}; + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/IndexOutOfBoundsException.idl b/udkapi/com/sun/star/lang/IndexOutOfBoundsException.idl new file mode 100644 index 0000000000..17cc8860bb --- /dev/null +++ b/udkapi/com/sun/star/lang/IndexOutOfBoundsException.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** This exception is thrown to indicate that a container has been + accessed with an illegal index. + + <p>The index is either negative or greater than or equal to + the count of the elements. </p> + */ +published exception IndexOutOfBoundsException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/InvalidListenerException.idl b/udkapi/com/sun/star/lang/InvalidListenerException.idl new file mode 100644 index 0000000000..fe9f0dd979 --- /dev/null +++ b/udkapi/com/sun/star/lang/InvalidListenerException.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** is thrown by the XConnectionPoint::advice() method + to indicate that the listener has not supplied the necessary + interface. + + @see XConnectionPoint + */ +published exception InvalidListenerException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/ListenerExistException.idl b/udkapi/com/sun/star/lang/ListenerExistException.idl new file mode 100644 index 0000000000..fa05b9f718 --- /dev/null +++ b/udkapi/com/sun/star/lang/ListenerExistException.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + + module com { module sun { module star { module lang { + +/** is thrown by the XConnectionPoint::advise() method + to indicate that there is only one listener allowed. + + @see XConnectionPoint + */ +published exception ListenerExistException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/Locale.idl b/udkapi/com/sun/star/lang/Locale.idl new file mode 100644 index 0000000000..b82e203a69 --- /dev/null +++ b/udkapi/com/sun/star/lang/Locale.idl @@ -0,0 +1,97 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** object represents a specific geographical, political, or cultural region. + + <p>An operation that requires a <code>Locale</code> to perform + its task is called <em>locale-sensitive</em> and uses the + <code>Locale</code> to tailor information for the user. For example, + displaying a number is a locale-sensitive operation; the number + should be formatted according to the customs/conventions of the + user's native country, region, or culture. </p> + */ +published struct Locale +{ + /** specifies an <strong>ISO 639 Language Code</strong>. + + <p>These codes are preferably the lower-case two-letter codes as + defined by ISO 639-1, or three-letter codes as defined by ISO + 639-3. You can find a full list of these codes at a number of + sites, such as: <br/> + <a href="https://iso639-3.sil.org/code_tables/639/data"> + <code>https://iso639-3.sil.org/code_tables/639/data</code></a>. + </p> + + <p>If this field contains an empty string, the meaning depends on the + context.</p> + + <p>Since LibreOffice 4.2, if the locale can not be represented + using only ISO 639 and ISO 3166 codes this field contains the + ISO 639-3 reserved for local use code <strong>"qlt"</strong> and + a <strong>BCP 47</strong> language tag is present in the Variant + field. </p> + */ + string Language; + + /** specifies an <strong>ISO 3166 Country Code</strong>. + + <p>These codes are the upper-case two-letter codes as + defined by ISO 3166-1. You can find a full list of these codes + at a number of sites, such as: <br/> + <a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2"> + <code>https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2</code></a>. + </p> + + <p>If this field contains an empty string, the meaning depends on the + context.</p> + */ + string Country; + + /** specifies a <strong>BCP 47</strong> Language Tag. + + <p>Since LibreOffice 4.2, <strong>if</strong> the Language field + is the code <strong>"qlt"</strong> this field contains the full + BCP 47 language tag. If the Language field is not "qlt" this + field is empty. </p> + + <p>You can find BCP 47 language tag resources at <br/> + <a href="https://en.wikipedia.org/wiki/IETF_language_tag"> + <code>https://en.wikipedia.org/wiki/IETF_language_tag</code></a> and + <a href="https://www.w3.org/International/articles/language-tags/"> + <code>https://www.w3.org/International/articles/language-tags/</code></a>. </p> + + <p>Earlier versions of the documentation mentioned "vendor and + browser-specific" codes but that was never supported. Use of any + arbitrary strings in the Variant field that do not form a valid + BCP 47 language tag is <strong>strongly deprecated</strong>. + </p> + */ + string Variant; + +}; + + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/MultiServiceFactory.idl b/udkapi/com/sun/star/lang/MultiServiceFactory.idl new file mode 100644 index 0000000000..8b4f075172 --- /dev/null +++ b/udkapi/com/sun/star/lang/MultiServiceFactory.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + + +/** Provides a collection of implementations of services. + + <p>The factories for instantiating objects of implementations + are accessed via a service name.</p> + + <p>The com::sun::star::container::XContentEnumerationAccess + interface can be supported optionally. + If it is supported, it is possible to enumerate all implementations that + support the service specified with the argument of + com::sun::star::container::XContentEnumerationAccess::createContentEnumeration(). + The enumerator returns interfaces. The type of the interface is not specified. + Commonly this is XSingleComponentFactory.</p> +*/ +published service MultiServiceFactory +{ + /** This interface uses a service name to instantiate a component + which supports the specified service. + */ + interface com::sun::star::lang::XMultiServiceFactory; + + /** This interface uses a service name and a component context to instantiate + a component which supports the specified service. + */ + interface com::sun::star::lang::XMultiComponentFactory; + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/NoSuchFieldException.idl b/udkapi/com/sun/star/lang/NoSuchFieldException.idl new file mode 100644 index 0000000000..13de684d43 --- /dev/null +++ b/udkapi/com/sun/star/lang/NoSuchFieldException.idl @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** signals that the class does not have a field of a specified name. + */ +published exception NoSuchFieldException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/NoSuchMethodException.idl b/udkapi/com/sun/star/lang/NoSuchMethodException.idl new file mode 100644 index 0000000000..7f5ed314f8 --- /dev/null +++ b/udkapi/com/sun/star/lang/NoSuchMethodException.idl @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** signals that the interface does not have a method of a specified name. + */ +published exception NoSuchMethodException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/NoSupportException.idl b/udkapi/com/sun/star/lang/NoSupportException.idl new file mode 100644 index 0000000000..5f513c6f31 --- /dev/null +++ b/udkapi/com/sun/star/lang/NoSupportException.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + + +/** This exception is thrown when a feature of an interface is not + supported. + + <p>An example is a <code>setParent(...)</code> method and the object + does not allow the change. </p> + + @see XEnumeration + @see com::sun::star::container::XChild::setParent + */ +published exception NoSupportException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/NotInitializedException.idl b/udkapi/com/sun/star/lang/NotInitializedException.idl new file mode 100644 index 0000000000..7126db6853 --- /dev/null +++ b/udkapi/com/sun/star/lang/NotInitializedException.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +module com { module sun { module star { module lang { + + +/** is thrown when a component is attempted to be used before it was + completely constructed. +*/ +published exception NotInitializedException : com::sun::star::uno::RuntimeException +{ +}; + + +}; }; }; }; + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/NullPointerException.idl b/udkapi/com/sun/star/lang/NullPointerException.idl new file mode 100644 index 0000000000..55406cf53f --- /dev/null +++ b/udkapi/com/sun/star/lang/NullPointerException.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 . + */ + + + + module com { module sun { module star { module lang { + +/** This exception is thrown when an application attempts to use + `NULL` in a case where an object is required. + + <p>Applications should throw instances of this class to indicate + other illegal uses of the `NULL` object. </p> + + @see com::sun::star::reflection::XIdlReflection::forName + */ +published exception NullPointerException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/RegistryServiceManager.idl b/udkapi/com/sun/star/lang/RegistryServiceManager.idl new file mode 100644 index 0000000000..9de4a54862 --- /dev/null +++ b/udkapi/com/sun/star/lang/RegistryServiceManager.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + + +/** Provides a collection of implementations for services reading from a + persistent registry storage. + + For usage of the service manager have a look at service description + of ServiceManager. + + @see ServiceManager +*/ +published service RegistryServiceManager +{ + /** This is a derived ServiceManager service. + */ + service com::sun::star::lang::ServiceManager; + + /** The first two arguments of the initialization arguments reference: + <ol> + <li>a simple registry + (com::sun::star::registry::XSimpleRegistry), + i.e. the registry to be read from</li> + <li>a component context + (com::sun::star::uno::XComponentContext) + to be installed as "DefaultContext" property of the + ServiceManager which is the context to be used + using the XMultiServiceFactory interface.</li> + </ol> + */ + interface com::sun::star::lang::XInitialization; + + /** Property access. + */ + interface com::sun::star::beans::XPropertySet; + /** Specifies the current registry to be read from. + */ + [readonly, property] com::sun::star::registry::XSimpleRegistry Registry; +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/ServiceManager.idl b/udkapi/com/sun/star/lang/ServiceManager.idl new file mode 100644 index 0000000000..5b9b7a94c8 --- /dev/null +++ b/udkapi/com/sun/star/lang/ServiceManager.idl @@ -0,0 +1,108 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +module com { module sun { module star { module lang { + + +/** Provides a collection of implementations for services. This is a singleton + you commonly find in your component context under key + <code>/singletons/com.sun.star.lang.theServiceManager</code>. + + <p> + The factories are accessed with a service name. It is possible to + access the factories with their implementation names, but you should + avoid this. + </p> + + <p>Service factories added via com::sun::star::container::XSet + should support the following interfaces: </p> + + <dl> + <dt>XServiceInfo</dt> + <dd>supported interfaces/ implementation name</dd> + + <dt>XSingleComponentFactory(optional)</dt> + <dd>is used to create instances of the implementation.</dd> + + <dt>XComponent (optional)</dt> + <dd>The service manager calls the method + com::sun::star::lang::XComponent::dispose() + on the factory when going down (i.e. it is commonly disposed by the component context).</dd> + </dl> + + <p>Since LibreOffice 3.6, in addition to instances of + XServiceInfo et al, the + com::sun::star::container::XSet of at least the default + C++ service manager implementation now also supports sequences of + com::sun::star::beans::NamedValue in <code>insert</code> + and <code>remove</code>. The sequence elements must each have a + <code>Name</code> of <code>uri</code> and a string <code>Value</code> that + is the URI of a service rdb. It is legal for there to be no such + <code>uri</code> elements. For <code>insert</code>, there can additionally + be an optional element with a <code>Name</code> of + <code>component-context</code> and a value that is a non-null reference of + type com::sun::star::uno::XComponentContext that shall + be used instead of this service manager's default component context when + loading the corresponding implementations. + + @see com::sun::star::uno::XComponentContext +*/ +published service ServiceManager +{ + /** This is a derived MultiServiceFactory service. + */ + service com::sun::star::lang::MultiServiceFactory; + + /** Disposing of service manager. + <p> + The component context disposes its service manager singleton when going down + (i.e. when the component context is disposed). + </p> + */ + interface com::sun::star::lang::XComponent; + + /** Management of service factories. + */ + interface com::sun::star::container::XSet; + + /** Enumeration of all service factories. + <p> + It is possible to enumerate all implementations that support the + service specified with the argument of the + com::sun::star::container::XContentEnumerationAccess::createContentEnumeration() method. + The enumerator commonly returns XSingleComponentFactory + interfaces. + </p> + */ + interface com::sun::star::container::XContentEnumerationAccess; + + /** Property access. + */ + [optional] interface com::sun::star::beans::XPropertySet; + /** specifies the default component context to be used, if instantiating services + via XMultiServiceFactory + */ + [optional, property] com::sun::star::uno::XComponentContext DefaultContext; +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/ServiceNotRegisteredException.idl b/udkapi/com/sun/star/lang/ServiceNotRegisteredException.idl new file mode 100644 index 0000000000..c17d127475 --- /dev/null +++ b/udkapi/com/sun/star/lang/ServiceNotRegisteredException.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** This exception is thrown when a needed service is not found. + + <p>Applications should throw instances of this class to indicate + that a needed service is not registered. </p> + */ +published exception ServiceNotRegisteredException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/SystemDependent.idl b/udkapi/com/sun/star/lang/SystemDependent.idl new file mode 100644 index 0000000000..80f5bce568 --- /dev/null +++ b/udkapi/com/sun/star/lang/SystemDependent.idl @@ -0,0 +1,92 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** These constants are used to specify systems which depend on return values. + + <p> You should avoid system-dependent methods if possible. + + @code{.cpp} + #ifdef _WIN32 // Microsoft Windows + HWND hWin = (HWND)xInterface->getWindowHandle(SystemDependentWIN32); + if( hWin ) ... + #elif( ... ) // other systems + ... + #endif + @endcode + + <p>The Symbols are now prepended with SYSTEM_ thus we avoid collisions + with system headers. </p> + + @see com::sun::star::awt::XSystemDependentWindowPeer + @deprecated + */ +published constants SystemDependent +{ + /** The called interface method returns a value specified for Windows. + + <p>These are Windows XP or higher. </p> + */ + const short SYSTEM_WIN32 = 1; + + /** The called interface method returns a value specified for 16-bit Windows. + + <p>This is Windows 3.11. </p> + */ + const short SYSTEM_WIN16 = 2; + + /** The called interface method returns a value specified for Java. + + <p>These are <em>JRE 1.1</em>, <em>JRE 1.2</em>, <em>JDK 1.1</em>, + <em>JDK 1.2</em> or higher. </p> + + <p>The return should be a handle to a Java object locked with + the call <code>JavaEnvironment->NewGlobalRef( ... )</code> + by the callee. </p> + */ + const short SYSTEM_JAVA = 3; + + /** The called interface method returns a value specified for <em>OS/2</em>. + */ + const short SYSTEM_OS2 = 4; + /** The called interface method returns a value specified for <em>macOS</em>. + */ + const short SYSTEM_MAC = 5; + + /** The called interface method returns a value specified for the <em>X Window System</em>. + */ + const short SYSTEM_XWINDOW = 6; + + /** The called interface method returns a value specified for <em>iOS</em>. + */ + const short SYSTEM_IOS = 7; + + /** The called interface method returns a value specified for <em>Android</em>. + */ + const short SYSTEM_ANDROID = 8; + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/WrappedTargetException.idl b/udkapi/com/sun/star/lang/WrappedTargetException.idl new file mode 100644 index 0000000000..61dd950a4d --- /dev/null +++ b/udkapi/com/sun/star/lang/WrappedTargetException.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** This is a checked exception that wraps an exception thrown + by the original target. + + <p>Normally this exception is declared for generic methods. </p> + + @see com::sun::star::container::XIndexAccess + @see com::sun::star::container::XNameAccess + @see com::sun::star::beans::XPropertySet + */ +published exception WrappedTargetException: com::sun::star::uno::Exception +{ + /** The exception is thrown by the target. + */ + any TargetException; + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/WrappedTargetRuntimeException.idl b/udkapi/com/sun/star/lang/WrappedTargetRuntimeException.idl new file mode 100644 index 0000000000..3b3c866992 --- /dev/null +++ b/udkapi/com/sun/star/lang/WrappedTargetRuntimeException.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +module com { module sun { module star { module lang { + + +/** This is a runtime exception that wraps any other exception thrown + by the original target. + <p> + This exception should not be declared at interfaces, use + WrappedTargetException instead. It was defined + to transport an exception via interface-methods, that do not + specify the appropriate exceptions (so using this exception + should in general be avoided). + */ +published exception WrappedTargetRuntimeException: ::com::sun::star::uno::RuntimeException +{ + /** The exception is thrown by the target. + */ + any TargetException; +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XComponent.idl b/udkapi/com/sun/star/lang/XComponent.idl new file mode 100644 index 0000000000..1e27eba068 --- /dev/null +++ b/udkapi/com/sun/star/lang/XComponent.idl @@ -0,0 +1,111 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +module com { module sun { module star { module lang { + + published interface XEventListener; + +/** allows to explicitly free resources and break cyclic references. + + <p>Actually the real lifetime of a UNO object is controlled by + references kept on interfaces of this object. But there are two + distinct meanings in keeping a reference to an interface: + 1st to own the object and 2nd to know the object. + + <p>You are only allowed to keep references of interfaces + to UNO objects if you are by definition the owner of that object or + your reference is very temporary or you have registered an + EventListener at that object and release the reference when + "disposing" is called.</p> + */ +published interface XComponent: com::sun::star::uno::XInterface +{ + /** The owner of an object calls this method to explicitly free all + resources kept by this object and thus break cyclic references. + + <p>Only the owner of this object is allowed to call this method. + The object should release all resources and references in the + easiest possible manner ( for instance no serialization should + take place anymore ). + </p> + <p> + The object must notify all registered listeners using the method + XEventListener::disposing(). All notified objects + should release their references to this object without + calling XComponent::removeEventListener() + (the disposed object will release the listeners eitherway). + </p> + + <p>After this method has been called, the object should behave as passive + as possible, thus it should ignore all calls + in case it can comply with its specification (for instance addEventListener()). + Often the object can't fulfill its specification anymore, + in this case it must throw the DisposedException + (which is derived from com::sun::star::uno::RuntimeException) + when it gets called.</p> + + <p>For some objects no real owner can be identified, thus it can be + disposed from multiple reference holders. In this case + the object should be able to cope with multiple dispose()-calls (which + are inevitable in a multithreaded environment). + */ + void dispose(); + + /** adds an event listener to the object. + + <p>The broadcaster fires the disposing method of this listener + if the XComponent::dispose() method is called.</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.</p> + + <p>If this XComponent is already disposed when + XComponent::addEventListener() is called, the call will not fail + with a DisposedException, but the caller will be notified via the + XEventListener::disposing() + callback. This callback can occur synchronously within the + addEventListener() call.</p> + + @see XComponent::removeEventListener + */ + void addEventListener( [in] XEventListener xListener ); + + /** removes an event listener from the listener list. + + <p>It is a "noop" if the specified 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. + + <p>If this XComponent is already disposed when + XComponent::removeEventListener() is called, the call will not + fail with a DisposedException, + but will rather be ignored silently.</p> + + @see XComponent::addEventListener + */ + void removeEventListener( [in] XEventListener aListener ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XConnectionPoint.idl b/udkapi/com/sun/star/lang/XConnectionPoint.idl new file mode 100644 index 0000000000..840408054f --- /dev/null +++ b/udkapi/com/sun/star/lang/XConnectionPoint.idl @@ -0,0 +1,155 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** supports connection points for connectable objects. + + <p>Connectable objects support the following features: </p> + + <ul> + <li>outgoing interfaces, such as event sets; </li> + <li>the ability to enumerate the types of the outgoing interfaces; + <li>the ability to connect and disconnect sinks to the object + for those outgoing types; </li> + <li>the ability to enumerate the connections that exist to a + particular outgoing interface. </li> + </ul> + + <h4>When to Implement?</h4> + + <p>To create a connectable object, you need to implement objects + that provide two related interfaces: </p> + + <ul> + <li>XConnectionPointContainer </li> + <li>XConnectionPoint </li> + </ul> + + <p>The XConnectionPointContainer interface is implemented + on the connectable object to indicate the existence of the outgoing + interfaces. It provides a sequence of sub-objects. It also provides + access to all the connection point sub-objects, each of which + implements the XConnectionPoint interface. The + XConnectionPoint interface provides a sequence of + sub-objects. </p> + + <p>Each connection point is a separate sub-object to avoid circular + reference counting problems. A connection point controls how many + connections (one or more) it will allow in its implementation of + XConnectionPoint::advise(). </p> + + <h4>When to use?</h4> + + <p>A client can use the XConnectionPointContainer interface: </p> + + - to get a sequence of connection points for each outgoing type. + + - to obtain access to connection point sub-objects with the + XConnectionPoint interface for each + outgoing type. Through the XConnectionPoint interface, + a client starts or terminates an advisory loop with the + connectable object and the client's own sink. The + client can also use the XConnectionPoint + interface to get a sequence of the connections that it + knows about. + + @see XConnectionPointContainer + */ +published interface XConnectionPoint: com::sun::star::uno::XInterface +{ + /** @returns + the type of the outgoing interface managed by this + connection point. + + <p>Using the XConnectionPointContainer::getConnectionPoints() + method, a client can obtain an XConnectionPoint + interface. Using that interface and this method, the client + can determine the type of each connection point enumerated. The + type returned from this method must enable the caller to access + this same connection point through + XConnectionPointContainer::findConnectionPoint(). + + @see XConnectionPointContainer::findConnectionPoint + */ + type getConnectionType(); + + /** @returns + the XConnectionPointContainer interface on + the parent connectable object. + + @see XConnectionPointContainer + */ + com::sun::star::lang::XConnectionPointContainer getConnectionPointContainer(); + + /** creates a connection between a connection point and a + client's sink, where the sink implements the outgoing interface + supported by this connection point. + + <p>A few <code>add...Listener</code> methods need additional parameters + to add listeners or throw exceptions. One of these methods is + com::sun::star::beans::XPropertySet::addPropertyChangeListener(). + We ignore the problem in this interface. A solution must be provided + in an additional XConnectionPoint interface. </p> + + @param xListener + specifies the listener interface on the client's advise sink. + The client's sink receives outgoing calls from the + connection point container. + + @throws ListenerExistException + if it is an unicast broadcaster and a listener is already set. + + @throws InvalidListenerException + if the listener does not supply the needed interfaces. + + @see com::sun::star::beans::XPropertySet::addPropertyChangeListener + */ + void advise( [in] com::sun::star::uno::XInterface xListener ) + raises( com::sun::star::lang::ListenerExistException, + com::sun::star::lang::InvalidListenerException ); + + /** terminates a notification previously set up with advise. + + <p>A few <code>remove...Listener</code> methods need additional + parameters to add listeners or throw exceptions. One of these methods + is com::sun::star::beans::XPropertySet::removePropertyChangeListener(). + We ignore the problem in this interface. A solution must be + provided in an additional XConnectionPoint interface. </p> + + @param xListener + specifies the listener interface on the client's advise sink. + + @see com::sun::star::beans::XPropertySet::removePropertyChangeListener + */ + void unadvise( [in] com::sun::star::uno::XInterface xListener ); + + /** @returns + a sequence of all currently advised connections. + */ + sequence<com::sun::star::uno::XInterface> getConnections(); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XConnectionPointContainer.idl b/udkapi/com/sun/star/lang/XConnectionPointContainer.idl new file mode 100644 index 0000000000..0b221a718b --- /dev/null +++ b/udkapi/com/sun/star/lang/XConnectionPointContainer.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 . + */ + + +module com { module sun { module star { module lang { + + published interface XConnectionPoint; + +/** makes it possible to locate a specific connection point + for a specified UIK and manages a sequence of connections points. + + <p>An implementation of this interface <strong>must</strong> + support the com::sun::star::uno::XWeak interface. + Look at the language binding for a superclass or something else. </p> + + @see XConnectionPoint + @see com::sun::star::uno::XWeak + */ +published interface XConnectionPointContainer: com::sun::star::uno::XInterface +{ + /** @returns + a sequence of all outgoing types; specifies which are supported + by this connectable object. + */ + sequence<type> getConnectionPointTypes(); + + /** @returns + an XConnectionPoint interface of a + connection point for a specified type if that type + describes a supported outgoing interface. It is + NULL on failure of the call. + + @param aType + specifies the connection point's type. + */ + XConnectionPoint queryConnectionPoint( [in] type aType ); + + /** creates a connection between this object and a + client's sink, where the sink implements the outgoing + interface specified with ID. + + <p>The interface is advised under the connection point you + get with <code>queryConnectionPoint( id )</code>. </p> + + <p>Use this method instead of the advise method at the + connection point, only if you know that the broadcaster supports + the outgoing interface, or if it does not matter that the + outgoing interface is not supported. </p> + + @see XConnectionPoint::advise + */ + void advise( [in] type aType, + [in] com::sun::star::uno::XInterface xListener ); + + /** terminates a notification previously set up with + advise at the container or at the suitable connection point. + + @see XConnectionPoint::unadvise + */ + void unadvise( [in] type aType, + [in] com::sun::star::uno::XInterface xListener ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XEventListener.idl b/udkapi/com/sun/star/lang/XEventListener.idl new file mode 100644 index 0000000000..bc23425375 --- /dev/null +++ b/udkapi/com/sun/star/lang/XEventListener.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** base interface for all event listeners interfaces. + */ +published interface XEventListener: com::sun::star::uno::XInterface +{ + /** gets called when the broadcaster is about to be disposed. + + <p>All listeners and all other objects, which reference the + broadcaster should release the reference to the source. + No method should be invoked anymore on this object ( + including XComponent::removeEventListener() ). + </p> + + <p>This method is called for every listener registration + of derived listener interfaced, not only for registrations + at XComponent. </p> + */ + void disposing( [in] com::sun::star::lang::EventObject Source ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XInitialization.idl b/udkapi/com/sun/star/lang/XInitialization.idl new file mode 100644 index 0000000000..8a674743b1 --- /dev/null +++ b/udkapi/com/sun/star/lang/XInitialization.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 . + */ + + + +module com { module sun { module star { module lang { + +/** initializes an object directly after its creation. + + <p>This interface works together with factories. If you want to + initialize the object after creation, you should + support this interface and you may support other interfaces + which offer type-safe initialization methods. </p> + + <p>Instead of calling XSingleComponentFactory::createInstanceWithContext() + and later initialize(), you should call + XSingleComponentFactory::createInstanceWithArgumentsAndContext() + to pass the arguments to the instance. The reason is, that a component may want to + return the same instance for the same set of parameters, and it can do so by implementing + the factory itself. + </p> + + */ +published interface XInitialization: com::sun::star::uno::XInterface +{ + /** initializes the object. + + <p>It should be called directly after the object is created. + */ + void initialize( [in] sequence<any> aArguments ) + raises( com::sun::star::uno::Exception ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XLocalizable.idl b/udkapi/com/sun/star/lang/XLocalizable.idl new file mode 100644 index 0000000000..045b0d412d --- /dev/null +++ b/udkapi/com/sun/star/lang/XLocalizable.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +module com { module sun { module star { module lang { + +/** makes it possible to set a Locale to be used by the object. + */ +published interface XLocalizable: com::sun::star::uno::XInterface +{ + /** sets the locale to be used by this object. + */ + void setLocale( [in] Locale eLocale ); + + /** @returns + the locale, which is used by this object. + */ + Locale getLocale(); +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XMain.idl b/udkapi/com/sun/star/lang/XMain.idl new file mode 100644 index 0000000000..38a3f6ea14 --- /dev/null +++ b/udkapi/com/sun/star/lang/XMain.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 . + */ + + + +module com { module sun { module star { module lang { + + +/** Executing interface for executable components run by the uno executable + loader. This is an application to run components passing the command + line arguments. +*/ +published interface XMain: com::sun::star::uno::XInterface +{ + /** This method is called to run the component. + + @param aArguments + arguments passed to the component, + i.e. the command line arguments + @return + return value passed to be returned by main() + */ + long run( [in] sequence< string > aArguments ); +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XMultiComponentFactory.idl b/udkapi/com/sun/star/lang/XMultiComponentFactory.idl new file mode 100644 index 0000000000..87554caf99 --- /dev/null +++ b/udkapi/com/sun/star/lang/XMultiComponentFactory.idl @@ -0,0 +1,75 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + +/** Factory interface for creating component instances giving a context from + which to retrieve deployment values. + + @see XInitialization +*/ +published interface XMultiComponentFactory : com::sun::star::uno::XInterface +{ + /** Creates an instance of a component which supports the + services specified by the factory. + + @param aServiceSpecifier + service name + @param Context + context the component instance gets its deployment values from + @return + component instance + */ + com::sun::star::uno::XInterface createInstanceWithContext( + [in] string aServiceSpecifier, + [in] com::sun::star::uno::XComponentContext Context ) + raises (com::sun::star::uno::Exception); + + /** Creates an instance of a component which supports the + services specified by the factory, and initializes the new instance + with the given arguments and context. + + @param ServiceSpecifier + service name + @param Arguments + arguments + @param Context + context the component instance gets its deployment values from + @return + component instance + */ + com::sun::star::uno::XInterface createInstanceWithArgumentsAndContext( + [in] string ServiceSpecifier, + [in] sequence<any> Arguments, + [in] com::sun::star::uno::XComponentContext Context ) + raises (com::sun::star::uno::Exception); + + /** Gets the names of all supported services. + + @returns + sequence of all service names + */ + sequence< string > getAvailableServiceNames(); +}; + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XMultiServiceFactory.idl b/udkapi/com/sun/star/lang/XMultiServiceFactory.idl new file mode 100644 index 0000000000..22f63dd073 --- /dev/null +++ b/udkapi/com/sun/star/lang/XMultiServiceFactory.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + + +/** Allows creating instances specified by a string name. + + @note + Although this interface deals with the notion of "services", it is + not restricted to services but is more general. + This interface can be used for all kinds + of factories for all kinds of instances, not only UNO services. +*/ +published interface XMultiServiceFactory: com::sun::star::uno::XInterface +{ + /** Creates an instance classified by the specified name. + + @param aServiceSpecifier + classified name of instance + @return + instance + */ + com::sun::star::uno::XInterface createInstance( [in] string aServiceSpecifier ) + raises( com::sun::star::uno::Exception ); + + /** Creates an instance classified by the specified name and passes the arguments + to that instance. + + @param ServiceSpecifier + classified name of instance + @param Arguments + arguments passed to the instance + @return + instance + */ + com::sun::star::uno::XInterface createInstanceWithArguments( + [in] string ServiceSpecifier, + [in] sequence<any> Arguments ) + raises( com::sun::star::uno::Exception ); + + /** Provides the available names of the factory to be used to create instances. + + @returns + sequence of all names + */ + sequence<string> getAvailableServiceNames(); +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XServiceDisplayName.idl b/udkapi/com/sun/star/lang/XServiceDisplayName.idl new file mode 100644 index 0000000000..6492249f55 --- /dev/null +++ b/udkapi/com/sun/star/lang/XServiceDisplayName.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +module com { module sun { module star { module lang { + +/** provides a name for the service to be used in displays. + + <p>This name can be used in displays (dialogs, menus, etc.) to provide + a more memorable / meaningful name than the service name or its + implementation name. It should not be used to identify / select a + specific service / implementation.</p> + */ +published interface XServiceDisplayName : ::com::sun::star::uno::XInterface +{ + /** returns the display name of the service for a given language. + + <p>The caller may specify a + com::sun::star::lang::Locale for the preferred + language of the resulting string. + However, if that locale is not supported the resulting string may + be given in a different language. Usually this should be English.</p> + + @param aLocale + the preferred language for the resulting display name. + + @returns + the string to be used for the service in displays. + */ + string getServiceDisplayName( + [in] ::com::sun::star::lang::Locale aLocale ); +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XServiceInfo.idl b/udkapi/com/sun/star/lang/XServiceInfo.idl new file mode 100644 index 0000000000..5370348e0d --- /dev/null +++ b/udkapi/com/sun/star/lang/XServiceInfo.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + + +/** Provides information regarding the implementation: which services + are implemented and the name of the implementation. +*/ +published interface XServiceInfo: com::sun::star::uno::XInterface +{ + /** Provides the implementation name of the service implementation. + + @returns + unique name of the implementation + */ + string getImplementationName(); + + /** Tests whether the specified service is supported, i.e. implemented + by the implementation. + + @param ServiceName + name of service to be tested + @return + true, if service is supported, false otherwise + */ + boolean supportsService( [in] string ServiceName ); + + /** Provides the supported service names of the implementation, including + also indirect service names. + + @return + sequence of service names that are supported + */ + sequence<string> getSupportedServiceNames(); +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XServiceName.idl b/udkapi/com/sun/star/lang/XServiceName.idl new file mode 100644 index 0000000000..41267f6597 --- /dev/null +++ b/udkapi/com/sun/star/lang/XServiceName.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + + module com { module sun { module star { module lang { + +/** identifies the object with a service name which can be used to create + such an object by a factory. + */ +published interface XServiceName: com::sun::star::uno::XInterface +{ + /** @returns + the service name that can be used to create such an object + by a factory. + + @see com::sun::star::io::XPersistObject::getServiceName + */ + string getServiceName(); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XSingleComponentFactory.idl b/udkapi/com/sun/star/lang/XSingleComponentFactory.idl new file mode 100644 index 0000000000..22895b7914 --- /dev/null +++ b/udkapi/com/sun/star/lang/XSingleComponentFactory.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 . + */ + + + +module com { module sun { module star { module lang { + +/** Factory interface to create instances of an implementation of a service + specification. + + @see XInitialization +*/ +published interface XSingleComponentFactory : com::sun::star::uno::XInterface +{ + /** Creates an instance of a service implementation. + + @param Context + the instance gets its deployment values from this + @return + component instance + */ + com::sun::star::uno::XInterface createInstanceWithContext( + [in] com::sun::star::uno::XComponentContext Context ) + raises (com::sun::star::uno::Exception); + + /** Creates an instance of a component and initializes the new instance + with the given arguments and context. + + @param Arguments + arguments passed to implementation + @param Context + the instance gets its deployment values from this + @return + component instance + */ + com::sun::star::uno::XInterface createInstanceWithArgumentsAndContext( + [in] sequence<any> Arguments, + [in] com::sun::star::uno::XComponentContext Context ) + raises( com::sun::star::uno::Exception ); +}; + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XSingleServiceFactory.idl b/udkapi/com/sun/star/lang/XSingleServiceFactory.idl new file mode 100644 index 0000000000..6231dfc95f --- /dev/null +++ b/udkapi/com/sun/star/lang/XSingleServiceFactory.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + + +module com { module sun { module star { module lang { + + +/** Factory interface to produce instances of an implementation + of a service specification. + + This interface is deprecated. Please use XSingleComponentFactory. + + @see XInitialization + @deprecated +*/ +published interface XSingleServiceFactory: com::sun::star::uno::XInterface +{ + /** Creates an instance of a service implementation. + + @return + service instance + */ + com::sun::star::uno::XInterface createInstance() + raises( com::sun::star::uno::Exception ); + + /** Creates an instance of a service implementation initialized with + some arguments. + + @param aArguments + arguments passed to implementation + @return + service instance + */ + com::sun::star::uno::XInterface createInstanceWithArguments( [in] sequence<any> aArguments ) + raises( com::sun::star::uno::Exception ); +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XTypeProvider.idl b/udkapi/com/sun/star/lang/XTypeProvider.idl new file mode 100644 index 0000000000..f9ceaa099d --- /dev/null +++ b/udkapi/com/sun/star/lang/XTypeProvider.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +module com { module sun { module star { module lang { + + +/** interface to get information about the types + (usually interface types) supported by an object. + */ +published interface XTypeProvider: com::sun::star::uno::XInterface +{ + + /** returns + a sequence of all types (usually interface types) provided by the object. + @attention + If the object aggregates other objects the sequence also has + to contain all types supported by the aggregated objects. + */ + sequence<type> getTypes(); + + + /** Obsolete unique identifier. + + Originally returned a sequence of bytes which, when non-empty, was used + as an ID to distinguish unambiguously between two sets of types, for + example to realise hashing functionality when the object is + introspected. Two objects that returned the same non-empty ID had to + return the same set of types in getTypes(). (If a unique ID could not + be provided, this method was always allowed to return an empty sequence, + though). + + @deprecated This feature should no longer be used, and implementations + are encouraged to always return an empty sequence. + */ + sequence<byte> getImplementationId(); +}; + + +}; }; }; }; + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/udkapi/com/sun/star/lang/XUnoTunnel.idl b/udkapi/com/sun/star/lang/XUnoTunnel.idl new file mode 100644 index 0000000000..edfeeadf84 --- /dev/null +++ b/udkapi/com/sun/star/lang/XUnoTunnel.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 . + */ + + + + +module com { module sun { module star { module lang { + + +/** An interface to tunnel UNO. This means providing access to data or + something else, which is not specified by UNO-IDL. + + @attention + Restrictive usage. Use only, if there is no better possibility left. + It is definitely a hack. + + <p> + Common usage: + Getting a C++ object pointer in the same process, thus to use an + implementation directly, most often because of a design flaw. + </p> +*/ +published interface XUnoTunnel: com::sun::star::uno::XInterface +{ + /** Call this method to get something which is not specified in UNO, e.g. + an address to some C++ object. + + @attention + The identifier specifies how the return value is to be reinterpreted. + The identifier must be globally unique, because it is unknown where + the implementation resides. + + @param aIdentifier + identifier + @return + something + */ + hyper getSomething( [in] sequence< byte > aIdentifier ); +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |