summaryrefslogtreecommitdiffstats
path: root/udkapi/com/sun/star/uno
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /udkapi/com/sun/star/uno
parentInitial commit. (diff)
downloadlibreoffice-upstream.tar.xz
libreoffice-upstream.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/uno')
-rw-r--r--udkapi/com/sun/star/uno/DeploymentException.idl42
-rw-r--r--udkapi/com/sun/star/uno/Exception.idl54
-rw-r--r--udkapi/com/sun/star/uno/NamingService.idl40
-rw-r--r--udkapi/com/sun/star/uno/RuntimeException.idl46
-rw-r--r--udkapi/com/sun/star/uno/SecurityException.idl40
-rw-r--r--udkapi/com/sun/star/uno/TypeClass.idl145
-rw-r--r--udkapi/com/sun/star/uno/Uik.idl59
-rw-r--r--udkapi/com/sun/star/uno/XAdapter.idl67
-rw-r--r--udkapi/com/sun/star/uno/XAggregation.idl111
-rw-r--r--udkapi/com/sun/star/uno/XComponentContext.idl62
-rw-r--r--udkapi/com/sun/star/uno/XCurrentContext.idl53
-rw-r--r--udkapi/com/sun/star/uno/XInterface.idl116
-rw-r--r--udkapi/com/sun/star/uno/XNamingService.idl69
-rw-r--r--udkapi/com/sun/star/uno/XReference.idl52
-rw-r--r--udkapi/com/sun/star/uno/XUnloadingPreference.idl40
-rw-r--r--udkapi/com/sun/star/uno/XWeak.idl102
16 files changed, 1098 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/uno/DeploymentException.idl b/udkapi/com/sun/star/uno/DeploymentException.idl
new file mode 100644
index 000000000..e3f6ef240
--- /dev/null
+++ b/udkapi/com/sun/star/uno/DeploymentException.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 .
+ */
+#ifndef __com_sun_star_uno_DeploymentException_idl__
+#define __com_sun_star_uno_DeploymentException_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+
+
+
+ module com { module sun { module star { module uno {
+
+
+/** Exception signalling a deployment error.
+
+ @since OOo 1.1.2
+*/
+published exception DeploymentException : com::sun::star::uno::RuntimeException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/Exception.idl b/udkapi/com/sun/star/uno/Exception.idl
new file mode 100644
index 000000000..80b151930
--- /dev/null
+++ b/udkapi/com/sun/star/uno/Exception.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_uno_Exception_idl__
+#define __com_sun_star_uno_Exception_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module uno {
+
+/** the base of all UNO exceptions
+
+ <p>All exceptions defined in UNO idl should derive from this exception.</p>
+ */
+published exception Exception
+{
+ /** gives a detailed description of the reason, why the exception was thrown.
+ <p>
+ The description should be as detailed as possible.
+
+ */
+ string Message;
+
+
+ /** should contain a reference to the original, which raised the exception.
+ <p>May be NULL.</p>
+ */
+ com::sun::star::uno::XInterface Context;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/NamingService.idl b/udkapi/com/sun/star/uno/NamingService.idl
new file mode 100644
index 000000000..4ecaac920
--- /dev/null
+++ b/udkapi/com/sun/star/uno/NamingService.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_uno_NamingService_idl__
+#define __com_sun_star_uno_NamingService_idl__
+
+#include <com/sun/star/uno/XNamingService.idl>
+
+ module com { module sun { module star { module uno {
+
+/** a simple named object container.
+ */
+published service NamingService : com::sun::star::uno::XNamingService;
+
+
+}; }; }; };
+
+/*=============================================================================
+
+ Source Code Control System - Update
+
+=============================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/RuntimeException.idl b/udkapi/com/sun/star/uno/RuntimeException.idl
new file mode 100644
index 000000000..284efd173
--- /dev/null
+++ b/udkapi/com/sun/star/uno/RuntimeException.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#define __com_sun_star_uno_RuntimeException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module uno {
+
+
+/** This exception or a subclass can occur at every interface method.
+ <p>
+ It shall signal an error, which was not covered by the interface
+ method specification. This exception (or a derived one) is thrown,
+ when for instance an interprocess bridge to the object broke down,
+ some explicitly forbidden invalid parameters were passed ( e.g. null
+ references ) or the called object has been disposed before.
+ */
+published exception RuntimeException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/SecurityException.idl b/udkapi/com/sun/star/uno/SecurityException.idl
new file mode 100644
index 000000000..1713ec777
--- /dev/null
+++ b/udkapi/com/sun/star/uno/SecurityException.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_uno_SecurityException_idl__
+#define __com_sun_star_uno_SecurityException_idl__
+
+#include <com/sun/star/uno/RuntimeException.idl>
+
+
+
+ module com { module sun { module star { module uno {
+
+
+/** Base exception for all security related exceptions.
+*/
+published exception SecurityException : com::sun::star::uno::RuntimeException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/TypeClass.idl b/udkapi/com/sun/star/uno/TypeClass.idl
new file mode 100644
index 000000000..1def57d6f
--- /dev/null
+++ b/udkapi/com/sun/star/uno/TypeClass.idl
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this 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_uno_TypeClass_idl__
+#define __com_sun_star_uno_TypeClass_idl__
+
+
+
+ module com { module sun { module star { module uno {
+
+
+/** This enum describes all type classes of UNO. Every specific type has a type
+ class specifying the general context of the reflected type.
+
+ <p>
+ Example:
+ A type reflecting the interface XInterface is of type class
+ INTERFACE and its name is "com.sun.star.uno.XInterface".
+ </p>
+*/
+published enum TypeClass
+{
+ /** reflecting the void type; denotes no type
+ */
+ VOID,
+ /** reflecting the 16-bit unicode character type
+ */
+ CHAR,
+ /** reflecting the boolean type; true and false
+ */
+ BOOLEAN,
+ /** reflecting the 8-bit ordinal type
+ */
+ BYTE,
+ /** reflecting the signed 16-bit ordinal type
+ */
+ SHORT,
+ /** reflecting the unsigned 16-bit ordinal type
+ */
+ UNSIGNED_SHORT,
+ /** reflecting the signed 32-bit ordinal type
+ */
+ LONG,
+ /** reflecting the unsigned 32-bit type
+ */
+ UNSIGNED_LONG,
+ /** reflecting the signed 64-bit ordinal type
+ */
+ HYPER,
+ /** reflecting the unsigned 64-bit ordinal type
+ */
+ UNSIGNED_HYPER,
+ /** reflecting the 32-bit floating point type
+ */
+ FLOAT,
+ /** reflecting the 64-bit floating point type
+ */
+ DOUBLE,
+ /** reflecting the string type; strings of unicode characters
+ */
+ STRING,
+ /** reflecting the meta type
+ */
+ TYPE,
+ /** reflecting the any type; anys can carry any UNO value except of any values
+ */
+ ANY,
+ /** reflecting enum types
+ */
+ ENUM,
+ /** reflecting typedefed types referencing other types
+ */
+ TYPEDEF,
+ /** reflecting compound types
+ */
+ STRUCT,
+ /** Deprecated, UNOIDL does not have a union concept.
+
+ @deprecated
+ */
+ UNION,
+ /** reflecting exception types
+ */
+ EXCEPTION,
+ /** reflecting sequence types
+ */
+ SEQUENCE,
+ /** Deprecated, UNOIDL does not have an array concept.
+
+ @deprecated
+ */
+ ARRAY,
+ /** reflecting interface types
+ */
+ INTERFACE,
+ /** reflecting services
+ */
+ SERVICE,
+ /** reflecting modules
+ */
+ MODULE,
+ /** reflecting interface methods
+ */
+ INTERFACE_METHOD,
+ /** reflecting interface attributes
+ */
+ INTERFACE_ATTRIBUTE,
+ /** reflecting the unreflectable type
+ */
+ UNKNOWN,
+ /** reflecting properties
+ */
+ PROPERTY,
+ /** reflecting constants
+ */
+ CONSTANT,
+ /** reflecting constants groups
+ */
+ CONSTANTS,
+ /** reflecting singletons
+ */
+ SINGLETON
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/Uik.idl b/udkapi/com/sun/star/uno/Uik.idl
new file mode 100644
index 000000000..1aa266cc8
--- /dev/null
+++ b/udkapi/com/sun/star/uno/Uik.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 .
+ */
+#ifndef __com_sun_star_uno_Uik_idl__
+#define __com_sun_star_uno_Uik_idl__
+
+
+
+ module com { module sun { module star { module uno {
+
+/** Specifies a universal interface key (globally unique).
+
+ This struct is deprecated. Uiks are not used anymore.
+ @deprecated
+*/
+published struct Uik
+{
+ /** specifies a 4 byte data block.
+ */
+ unsigned long Data1;
+
+ /** specifies a 2 byte data block.
+ */
+ unsigned short Data2;
+
+ /** specifies a 2 byte data block.
+ */
+ unsigned short Data3;
+
+ /** specifies a 4 byte data block.
+ */
+ unsigned long Data4;
+
+ /** specifies a 4 byte data block.
+ */
+ unsigned long Data5;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/XAdapter.idl b/udkapi/com/sun/star/uno/XAdapter.idl
new file mode 100644
index 000000000..506d88864
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XAdapter.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this 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_uno_XAdapter_idl__
+#define __com_sun_star_uno_XAdapter_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/uno/XReference.idl>
+
+
+
+ module com { module sun { module star { module uno {
+
+
+/** This is the server-side interface to a weak adapter.
+
+ <p>The implementation of XAdapter must know
+ but not hold the adapted object, because it must not
+ affect the lifetime of the adapted object.
+
+ </p>@see XWeak
+ for description of concepts.
+ */
+published interface XAdapter: com::sun::star::uno::XInterface
+{
+ /** queries the adapted object if it is alive.
+ */
+ com::sun::star::uno::XInterface queryAdapted();
+
+ /** adds a reference to the adapter.
+
+
+
+ <p>All added references are called when the adapted object dies.
+
+ </p>
+ */
+ void addReference( [in] com::sun::star::uno::XReference xRef );
+
+ /** removes a reference from the adapter.
+ */
+ void removeReference( [in] com::sun::star::uno::XReference xRef );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/XAggregation.idl b/udkapi/com/sun/star/uno/XAggregation.idl
new file mode 100644
index 000000000..2bd5b6f25
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XAggregation.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 .
+ */
+#ifndef __com_sun_star_uno_XAggregation_idl__
+#define __com_sun_star_uno_XAggregation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module uno {
+
+/** Objects which implement this interface can become aggregates of
+ a delegator.
+
+ <p>That means if an object "A" aggregates "B", "A" can provide all
+ or some of the interfaces of "B". Whenever the method
+ XInterface::queryInterface()
+ is called on either of the objects, the call will be forwarded
+ to object "A". Object "A" now can determine whether to use the
+ interfaces of "A" or "B" or neither. Actually, any number of
+ aggregates can be used, even nested ones (aggregated objects which are
+ delegators by themselves).
+
+ <p>The following rules are to be observed:
+ <ol>
+ <li>All calls to XInterface::acquire()
+ which are made before the delegator was set (using the method
+ XAggregation::setDelegator()) must not be taken back
+ (using the method XInterface::release())
+ before the delegation is removed by calling
+ <code>xAggregation-&gt;setDelegator(NULL)</code>.
+
+ <li>The constructor of a delegator has to increment its
+ own reference count by calling its method
+ XInterface::acquire()
+ before it sets itself to any aggregate using the method
+ XAggregation::setDelegator(). After that
+ call it has to reset its own reference count without the
+ destructor getting called.
+
+ <li>The destructor of a delegator has to reset the delegator in
+ its aggregated objects by calling their method
+ XAggregation::setDelegator() with
+ NULL before it releases its reference to
+ its aggregated objects.
+ </ol>
+
+ @deprecated
+ Aggregation will no longer be supported as a high-level concept of UNO.
+ You may still have the option to implement a UNO object consisting of
+ several single objects in your specific programming language, though this
+ depends on your programming language.
+*/
+published interface XAggregation: com::sun::star::uno::XInterface
+{
+ /** sets the object to which all calls to the method
+ XInterface::queryInterface()
+ have to be forwarded.
+
+ @param pDelegator
+ specifies the object which handles the calls to
+ XInterface::queryInterface().
+ If <var>pDelegator</var> is NULL, the delegator is
+ removed and thus the object becomes its own delegator and has
+ to handle calls to the method
+ XInterface::queryInterface()
+ itself.
+
+ @see XAggregation::queryAggregation
+ */
+ void setDelegator( [in] com::sun::star::uno::XInterface pDelegator );
+
+ /** is similar to XInterface::queryInterface(),
+ but it is to be processed directly without being forwarded to the
+ delegator.
+
+ <p>This method is only called from within an implementation of
+ XInterface::queryInterface()
+ or XAggregation::queryAggregation(). This method
+ is to be called by the delegator if it does not implement the
+ interface itself. An object which got aggregated cannot depend
+ on getting its own interface when it calls the method
+ XInterface::queryInterface().
+
+ @see XAggregation::setDelegator
+ */
+ any queryAggregation( [in] type aType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/XComponentContext.idl b/udkapi/com/sun/star/uno/XComponentContext.idl
new file mode 100644
index 000000000..ad61a2d3f
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XComponentContext.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_uno_XComponentContext_idl__
+#define __com_sun_star_uno_XComponentContext_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module lang {
+ published interface XMultiComponentFactory;
+}; }; }; };
+
+module com { module sun { module star { module uno {
+
+/** Component context to be passed to a component via
+ com::sun::star::lang::XSingleComponentFactory.
+ Arbitrary values (e.g. deployment values) can be retrieved from the context.
+*/
+published interface XComponentContext : XInterface
+{
+ /** Gets a value from the context.
+
+ @param Name
+ name of value
+ @return
+ value
+ */
+ any getValueByName( [in] string Name );
+
+ /** Gets the service manager instance to be used from key
+ <code>/singletons/com.sun.star.lang.theServiceManager</code>.
+ This method has been added for convenience, because the
+ service manager is used very often.
+
+ @return
+ service manager; throws DeploymentException in case service
+ manager is null
+ */
+ com::sun::star::lang::XMultiComponentFactory getServiceManager();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/XCurrentContext.idl b/udkapi/com/sun/star/uno/XCurrentContext.idl
new file mode 100644
index 000000000..f915efd2a
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XCurrentContext.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_uno_XCurrentContext_idl__
+#define __com_sun_star_uno_XCurrentContext_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module uno {
+
+/** Task (thread) local execution context for UNO.
+ Arbitrary values can be retrieved from the context.
+ <p>
+ You have to use UNO runtime functions to obtain the current context
+ in your target language.
+ </p>
+ @attention
+ In general, do not spread the current context across different tasks.
+ Values of the current context are destined for that task only.
+*/
+published interface XCurrentContext : XInterface
+{
+ /** Gets a value from the context.
+
+ @param Name
+ name of value
+ @return
+ value
+ */
+ any getValueByName( [in] string Name );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/XInterface.idl b/udkapi/com/sun/star/uno/XInterface.idl
new file mode 100644
index 000000000..f8632a8e4
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XInterface.idl
@@ -0,0 +1,116 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this 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_uno_XInterface_idl__
+#define __com_sun_star_uno_XInterface_idl__
+
+
+ module com { module sun { module star { module uno {
+
+/** base interface of all UNO interfaces
+
+ <p> It provides lifetime control by reference counting and the
+ possibility of querying for other
+ interfaces of the same logical object.
+
+
+ <p>
+ "Logical Object" in this case means that the
+ interfaces actually can be supported by internal (e.g. aggregated) physical objects.</p>
+
+ <p> Deriving from this interface is mandatory for all UNO interfaces.
+ <p> Each language binding (Java, C++, StarBasic, Python, ... ) may
+ provide a different mapping of this interface, please look into the language
+ dependent documentation.
+
+ <p> The UNO object does not export the state of the reference count (acquire() and
+ release() do not have return values). In general, also the UNO object itself
+ should not make any assumption on the concrete value of the reference count
+ (except on the transition from one to zero ).
+
+ */
+published interface XInterface
+{
+ /** queries for a new interface to an existing UNO object.
+ <p>
+ The queryInterface() method is the entry point to obtain other interfaces which
+ are exported by the object. The caller asks the implementation of the object,
+ if it supports the interface specified by the type argument. The call may either
+ return with an interface reference of the requested type or with a void any.
+
+ <p>
+ There are certain specifications, a queryInterface() implementation must not violate.
+ <p>
+ 1) If queryInterface on a specific object has once returned a valid interface reference
+ for a given type, it must return a valid reference for any successive queryInterface
+ calls on this object for the same type.
+ <p>
+ 2) If queryInterface on a specific object has once returned a null reference
+ for a given type, it must always return a null reference for the same type.
+ <p>
+ 3) If queryInterface on a reference A returns reference B, queryInterface on
+ B for Type A must return interface reference A or calls made on the returned
+ reference must be equivalent to calls made on reference A.
+ <p>
+ 4) If queryInterface on a reference A returns reference B, queryInterface on
+ A and B for XInterface must return the same interface reference (object identity).
+
+ <p> The reason for the strong specification is, that a Uno Runtime Environment (URE)
+ may choose to cache queryInterface() calls.
+ <p> As mentioned above, certain language bindings may map this function differently also
+ with different specifications, please visit the language dependent specification for it.
+ The current C++ binding sticks to the specification state
+ <p>
+ The rules mentioned above are basically identical to the rules of QueryInterface in MS COM.
+
+ @param aType a UNO interface type, for which an object reference shall be obtained.
+ @return an interface reference in case the requested interface is supported by the object,
+ a void any otherwise.
+ */
+ any queryInterface( [in] type aType );
+
+ /** increases the reference counter by one.
+
+ <p>When you have called acquire() on the
+ UNO object, it is often said, that you have a reference or a hard reference
+ to the object.
+
+ <p>
+ It is only allowed to invoke a method on a UNO object, when you keep
+ a hard reference to it.
+
+ <p> Every call to acquire must be followed by a corresponding call to release
+ some time later, which may eventually lead to the destruction of the object.
+ */
+ void acquire();
+
+ /** decreases the reference counter by one.
+ <p>When the reference counter reaches 0, the object gets deleted.</p>
+ <p>Calling release() on the object is often called releasing
+ or clearing the reference to an object.
+ */
+ void release();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/XNamingService.idl b/udkapi/com/sun/star/uno/XNamingService.idl
new file mode 100644
index 000000000..b0e592401
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XNamingService.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_uno_XNamingService_idl__
+#define __com_sun_star_uno_XNamingService_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/uno/Exception.idl>
+
+ module com { module sun { module star { module uno {
+
+
+/** allows to insert, remove and access named objects.
+ */
+published interface XNamingService: com::sun::star::uno::XInterface
+{
+
+ /** provides a previous registered object.
+ */
+ com::sun::star::uno::XInterface getRegisteredObject( [in] string Name )
+ raises (Exception);
+
+
+ /** registers one object under the specified name.
+
+ <p>If any object is registered before, then this
+ object is revoked automatically.
+
+ </p>
+ */
+ void registerObject( [in]string Name, [in]com::sun::star::uno::XInterface Object )
+ raises (Exception);
+
+
+ /** revokes the registration of an object. <p>If the object was not
+ previously registered, then this call does nothing.
+ */
+ void revokeObject( [in]string Name )
+ raises (Exception);
+};
+
+
+
+}; }; }; };
+
+/*=============================================================================
+
+ Source Code Control System - Update
+
+=============================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/XReference.idl b/udkapi/com/sun/star/uno/XReference.idl
new file mode 100644
index 000000000..39b4cdb70
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XReference.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_uno_XReference_idl__
+#define __com_sun_star_uno_XReference_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module uno {
+
+/** must be implemented by anyone who holds the adapter on the client side.@see XWeak
+ for description af concepts.
+ */
+published interface XReference: com::sun::star::uno::XInterface
+{
+ /** removes all references to the adapter.
+
+
+
+ <p> This method is called when the adapted object dies.
+ The implementation of the client-side's weak reference
+ must include removal of all references to the adapter.
+ Otherwise, the adapted object will be destroyed, but the
+ adapter will be alive.</p>
+ */
+ void dispose();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/XUnloadingPreference.idl b/udkapi/com/sun/star/uno/XUnloadingPreference.idl
new file mode 100644
index 000000000..28dbea1fc
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XUnloadingPreference.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_uno_XUnloadingPreference_idl__
+#define __com_sun_star_uno_XUnloadingPreference_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module uno {
+
+/** Backwards-compatibility remainder of a removed library unloading feature.
+
+ @deprecated Do not use.
+*/
+published interface XUnloadingPreference: com::sun::star::uno::XInterface
+{
+ boolean releaseOnNotification();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/uno/XWeak.idl b/udkapi/com/sun/star/uno/XWeak.idl
new file mode 100644
index 000000000..16e7428f5
--- /dev/null
+++ b/udkapi/com/sun/star/uno/XWeak.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_uno_XWeak_idl__
+#define __com_sun_star_uno_XWeak_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/uno/XAdapter.idl>
+
+
+
+ module com { module sun { module star { module uno {
+
+/** the server-side interface to a weak object.
+
+
+
+ <p>This interface is proxy to the adapted object.
+ In order to make it possible to have weak references to objects,
+ the XAdapter interface must be implemented to provide
+ a weak adapter for the clients.
+
+ <h4>Concept of weak referencing:</h4>
+
+ </p>
+ <p>This module specifies the interfaces for implementing and using
+ weak references.</p>
+ <p>
+
+ </p>
+ <p>The sense of weak references is to hold a reference to an object
+ without affecting the lifetime of the object. That means that a weak
+ reference may become invalid, at any time, if the referenced object dies.
+
+ </p>
+ <p>The following interfaces describe one way to handle weak references
+ by providing a weak adapter. The weak object has to provide this
+ adapter if anyone wants to hold a weak reference. To separate their
+ lifetimes, the adapter and the original object must not share the same
+ reference counter. The weak reference is in fact only a hard reference
+ to the adapter, which knows - but does not hold - the original object.
+ That means that the implementation and synchronization of weak
+ referencing is the responsibility of the object. The following
+ interfaces are involved in the concept of weak referencing:
+
+ <dl>
+ <dt>
+ XWeak
+ </dt>
+ <dd>is the server-side interface of the referred object. This
+ referred object must support the XAdapter interface.
+
+ </dd>
+ <dt>
+ XReference
+ </dt>
+ <dd>is a client-side interface which must be implemented by
+ the holder of any weak reference. It is used for notification
+ when the adapted object dies.
+
+ </dd>
+ </dl>
+ </p>
+ */
+published interface XWeak: com::sun::star::uno::XInterface
+{
+ /** queries the weak adapter.
+
+
+
+ <p>It is important that the adapter must know, but not hold
+ the adapted object. If the adapted object dies, all references
+ to the adapter have to be notified to release the adapter.
+
+ </p>
+ */
+ com::sun::star::uno::XAdapter queryAdapter();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */