summaryrefslogtreecommitdiffstats
path: root/udkapi/com/sun/star/bridge
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/bridge
parentInitial commit. (diff)
downloadlibreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz
libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'udkapi/com/sun/star/bridge')
-rw-r--r--udkapi/com/sun/star/bridge/Bridge.idl77
-rw-r--r--udkapi/com/sun/star/bridge/BridgeExistsException.idl38
-rw-r--r--udkapi/com/sun/star/bridge/BridgeFactory.idl42
-rw-r--r--udkapi/com/sun/star/bridge/IiopBridge.idl63
-rw-r--r--udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl49
-rw-r--r--udkapi/com/sun/star/bridge/ModelDependent.idl46
-rw-r--r--udkapi/com/sun/star/bridge/OleApplicationRegistration.idl63
-rw-r--r--udkapi/com/sun/star/bridge/OleBridgeSupplier.idl49
-rw-r--r--udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl64
-rw-r--r--udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl49
-rw-r--r--udkapi/com/sun/star/bridge/OleObjectFactory.idl53
-rw-r--r--udkapi/com/sun/star/bridge/ProtocolProperty.idl36
-rw-r--r--udkapi/com/sun/star/bridge/UnoUrlResolver.idl39
-rw-r--r--udkapi/com/sun/star/bridge/UrpBridge.idl63
-rw-r--r--udkapi/com/sun/star/bridge/XBridge.idl58
-rw-r--r--udkapi/com/sun/star/bridge/XBridgeFactory.idl89
-rw-r--r--udkapi/com/sun/star/bridge/XBridgeFactory2.idl49
-rw-r--r--udkapi/com/sun/star/bridge/XBridgeSupplier.idl87
-rw-r--r--udkapi/com/sun/star/bridge/XBridgeSupplier2.idl102
-rw-r--r--udkapi/com/sun/star/bridge/XInstanceProvider.idl58
-rw-r--r--udkapi/com/sun/star/bridge/XProtocolProperties.idl94
-rw-r--r--udkapi/com/sun/star/bridge/XUnoUrlResolver.idl54
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl67
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl69
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/Currency.idl55
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/Date.idl54
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/Decimal.idl58
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/Factory.idl55
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl57
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl64
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/SCode.idl56
-rw-r--r--udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl50
32 files changed, 1907 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/bridge/Bridge.idl b/udkapi/com/sun/star/bridge/Bridge.idl
new file mode 100644
index 000000000..f16d06f24
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/Bridge.idl
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_bridge_Bridge_idl__
+#define __com_sun_star_bridge_Bridge_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/bridge/XBridge.idl>
+
+
+module com { module sun { module star { module bridge {
+
+
+/** This meta service allows the bridgefactory service to instantiate an
+ interprocess bridge using a certain transfer protocol.
+
+ <p> Components, that support a certain protocol, must have at least two
+ service names: </p>
+
+ <ul>
+ <li> com.sun.star.bridge.Bridge </li>
+ <li> arbitrary-module-path.ProtocolnameBridge </li>
+ </ul>
+
+ <p>The protocol name should be written as common servicenames, first letter is a
+ capital letter, the rest in small letters postfixed by Bridge (e.g.:
+ <code>com.sun.star.bridge.UrpBridge</code> would be correct servicename for the
+ "urp" protocol). However, the protocol names are compared case insensitive.
+ If there exist two services supporting the same protocol, it is arbitrary
+ which one is chosen, so this should be omitted. </p>
+ */
+published service Bridge
+{
+ /** allows to initialize the bridge service with the necessary
+ arguments. The sequence&lt;any&gt; must have 4 members.
+
+ <ol>
+ <li> String: The unique name of the bridge or an empty string</li>
+ <li> String: The protocol, that shall be instantiated</li>
+ <li> XConnection: The bidirectional connection, the bridge should work on</li>
+ <li> XInstanceProvider:
+ The instance provider, that shall be called to access the initial object.</li>
+ </ol>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** The main interface of the service
+ */
+ interface com::sun::star::bridge::XBridge;
+
+ /** This interface allows to terminate the interprocess bridge.
+ */
+ interface com::sun::star::lang::XComponent;
+
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/BridgeExistsException.idl b/udkapi/com/sun/star/bridge/BridgeExistsException.idl
new file mode 100644
index 000000000..ec53eb98e
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/BridgeExistsException.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef _COM_SUN_STAR_BRIDGE_BRIDGEEXISTSEXCEPTION_IDL_
+#define _COM_SUN_STAR_BRIDGE_BRIDGEEXISTSEXCEPTION_IDL_
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module bridge {
+
+/** Indicates, that it was tried to create a remote bridge with a name,
+ which already existed.
+ */
+published exception BridgeExistsException: com::sun::star::uno::Exception
+{
+};
+
+
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/BridgeFactory.idl b/udkapi/com/sun/star/bridge/BridgeFactory.idl
new file mode 100644
index 000000000..765d2e481
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/BridgeFactory.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_bridge_BridgeFactory_idl__
+#define __com_sun_star_bridge_BridgeFactory_idl__
+
+#include <com/sun/star/bridge/XBridgeFactory2.idl>
+
+
+module com { module sun { module star { module bridge {
+
+
+/** allows to create new or access existing interprocess bridges.
+
+ <p> It enumerates at the servicemanager all services supporting
+ the meta service com.sun.star.bridge.Bridge to get all known, possible
+ protocols.
+
+ @see com::sun::star::bridge::Bridge
+ */
+published service BridgeFactory : com::sun::star::bridge::XBridgeFactory2;
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/IiopBridge.idl b/udkapi/com/sun/star/bridge/IiopBridge.idl
new file mode 100644
index 000000000..c6b2681ef
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/IiopBridge.idl
@@ -0,0 +1,63 @@
+/* -*- 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_bridge_IiopBridge_idl__
+#define __com_sun_star_bridge_IiopBridge_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/bridge/XBridge.idl>
+
+
+ module com { module sun { module star { module bridge {
+
+/** Concrete service of the meta service Bridge for iiop.
+
+ <p> This bridge works with the iiop protocol. </p>
+
+ @see com::sun::star::bridge::Bridge
+ */
+published service IiopBridge
+{
+ /** This interface allows to initialize the bridge service with the necessary
+ arguments. The sequence&lt;any&gt; must have 4 members.
+
+ <ol>
+ <li> String: The unique name of the bridge or an empty string</li>
+ <li> String: iiop</li>
+ <li> XConnection: The bidirectional connection, the bridge should work on</li>
+ <li> XInstanceProvider:
+ The instance provider, that shall be called to access the initial object.</li>
+ </ol>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** The main interface of the service.
+ */
+ interface com::sun::star::bridge::XBridge;
+
+ /** allows to terminate the interprocess bridge.
+ */
+ interface com::sun::star::lang::XComponent;
+
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl b/udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl
new file mode 100644
index 000000000..9b6191ab5
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef _COM_SUN_STAR_BRIDGE_INVALIDPROTOCOLCHANGEEXCEPTION_IDL_
+#define _COM_SUN_STAR_BRIDGE_INVALIDPROTOCOLCHANGEEXCEPTION_IDL_
+
+#include <com/sun/star/bridge/ProtocolProperty.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module bridge {
+
+
+/** Indicates, that a requested property change could not be executed by the
+ remote counterpart.
+
+ @see XProtocolProperties
+*/
+published exception InvalidProtocolChangeException : com::sun::star::uno::Exception
+{
+ /** The first invalid property.
+ */
+ ProtocolProperty invalidProperty;
+
+ /** Contains 1, if the property name is unknown to the thrower;
+ or contains 2, if the property's value can't be accepted by the thrower.
+ */
+ long reason;
+};
+
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/ModelDependent.idl b/udkapi/com/sun/star/bridge/ModelDependent.idl
new file mode 100644
index 000000000..13a37f7c2
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/ModelDependent.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_bridge_ModelDependent_idl__
+#define __com_sun_star_bridge_ModelDependent_idl__
+
+
+
+ module com { module sun { module star { module bridge {
+
+/** These constants are used to specify model-dependent representations.
+
+ <p>They are only used for creating bridges to other component models.
+
+ @see com::sun::star::bridge::XBridgeSupplier2
+ */
+published constants ModelDependent
+{
+ const short UNO = 1;
+ const short OLE = 2;
+ const short JAVA = 3;
+ const short CORBA = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/OleApplicationRegistration.idl b/udkapi/com/sun/star/bridge/OleApplicationRegistration.idl
new file mode 100644
index 000000000..61dec5ffe
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/OleApplicationRegistration.idl
@@ -0,0 +1,63 @@
+/* -*- 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_bridge_OleApplicationRegistration_idl__
+#define __com_sun_star_bridge_OleApplicationRegistration_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module bridge {
+
+
+/** registers UNO objects as COM objects.
+
+ <p>
+ That is, COM class factories are registered with COM at runtime. The required
+ EXE server is the application which deploys this service. In order to access the
+ factories by COM API functions, there need to be proper registry entries. This service
+ does not provide for writing those entries.<p>
+ The instantiation of the registered objects can be carried out by any ordinary mechanism
+ which is used in a certain language to create COM components. For example, CreateObject
+ in Visual Basic, CoCreateInstance in C++.
+ </p><p>
+ Currently only a factory for the service com.sun.star.long.MultiServiceFactory is registered
+ by this service. The CLSID is {82154420-0FBF-11d4-8313-005004526AB4} and the ProgId is
+ com.sun.star.ServiceManager.
+ </p>
+
+ <p>OleApplicationRegistration does not provide any particular interface because the UNO objects
+ are registered while instantiating this service and deregistered
+ if the implementation, which makes use of this service, is being released.</p>
+ <p>
+ @deprecated
+ */
+published service OleApplicationRegistration
+{
+
+ interface com::sun::star::uno::XInterface;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/OleBridgeSupplier.idl b/udkapi/com/sun/star/bridge/OleBridgeSupplier.idl
new file mode 100644
index 000000000..614e7d442
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/OleBridgeSupplier.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_bridge_OleBridgeSupplier_idl__
+#define __com_sun_star_bridge_OleBridgeSupplier_idl__
+
+#include <com/sun/star/bridge/XBridgeSupplier.idl>
+
+
+
+ module com { module sun { module star { module bridge {
+
+
+
+/** makes it possible to generate OLE bridges to UNO objects and vice versa.
+
+ <p>The service implements the XBridgeSupplier interface
+ and handles the model types ModelDependent::UNO and
+ ModelDependent::OLE. The service does not specify any
+ requirements on registering OLE objects and class factories. </p>
+ @deprecated
+ */
+published service OleBridgeSupplier
+{
+ interface com::sun::star::bridge::XBridgeSupplier;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl b/udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl
new file mode 100644
index 000000000..86c6a6397
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/OleBridgeSupplier2.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 .
+ */
+#ifndef __com_sun_star_bridge_OleBridgeSupplier2_idl__
+#define __com_sun_star_bridge_OleBridgeSupplier2_idl__
+
+#include <com/sun/star/bridge/XBridgeSupplier2.idl>
+
+
+
+module com { module sun { module star { module bridge {
+
+/** maps UNO types to oleautomation types and vice versa.<p>
+
+ The XBridgeSupplier2 interface provides the function <code>createBridge</code> which
+ maps a value of a UNO or Automation type to the desired target type. If a UNO interface
+ was mapped to IDispatch, then all objects (interfaces, structs) and other
+ types which
+ are obtained from that Automation object are automatically mapped to the corresponding
+ Automation types. Hence, if one provides an initial object which forms the root of all
+ other objects, such as a service manager, then only that object needs to be explicitly
+ mapped by a call to <code>createBridge</code>. The same holds true if an automation
+ object is mapped to a UNO interface.<br>
+ <p>The Automation types <code>VT_CY</code> and <code>VT_DATE</code> are not supported.
+ For Automation objects to be mapped they have to implement IDispatch interface. Other
+ COM interfaces,
+ except for IUnknown, are not supported.UNO interfaces and structs are mapped to IDispatch.
+
+ <p>The service implements the XBridgeSupplier2 interface
+ and handles the model types
+ com::sun::star::bridge::ModelDependent::UNO and
+ com::sun::star::bridge::ModelDependent::OLE.
+ The service does not specify any
+ requirements for registering OLE objects and class factories. </p>
+
+ @deprecated
+*/
+published service OleBridgeSupplier2
+{
+ interface com::sun::star::bridge::XBridgeSupplier2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl b/udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl
new file mode 100644
index 000000000..ea2ad053b
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_bridge_OleBridgeSupplierVar1_idl__
+#define __com_sun_star_bridge_OleBridgeSupplierVar1_idl__
+
+#include <com/sun/star/bridge/OleBridgeSupplier2.idl>
+
+
+ module com { module sun { module star { module bridge {
+
+
+/** maps UNO types to COM types and vice versa. It is optimized for use in a
+ remote scenario. <p>
+The functionality is basically the same as
+com::sun::star::bridge::OleBridgeSupplier2.
+However, the implementation should be optimized for remote access. For example, it could
+try to reduce the calls into the remote process. Also it could create components on its own behalf in the remote process, if this increases performance.
+
+@deprecated
+*/
+published service OleBridgeSupplierVar1
+{
+ service OleBridgeSupplier2;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/OleObjectFactory.idl b/udkapi/com/sun/star/bridge/OleObjectFactory.idl
new file mode 100644
index 000000000..fb5a69cc8
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/OleObjectFactory.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_bridge_OleObjectFactory_idl__
+#define __com_sun_star_bridge_OleObjectFactory_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+
+
+
+ module com { module sun { module star { module bridge {
+
+
+/** makes it possible to create COM objects as UNO objects.
+
+ <p>A COM object must have a ProgId since the ProgId is used as argument for
+ XMultiServiceFactory::createInstance. The only interfaces which are mapped
+ are <code>IUnknown</code> and <code>IDispatch</code>.
+ The created UNO objects support com::sun::star::script::XInvocation
+ if the original COM objects support IDispatch. </p>
+
+ <p>The optional parameters of the method
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ are reserved for future use; at this time they are ignored. </p>
+
+ @deprecated
+ */
+published service OleObjectFactory
+{
+ interface com::sun::star::lang::XMultiServiceFactory;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/ProtocolProperty.idl b/udkapi/com/sun/star/bridge/ProtocolProperty.idl
new file mode 100644
index 000000000..015ddf073
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/ProtocolProperty.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 .
+ */
+#ifndef _COM_SUN_STAR_BRIDGE_PROTOCOLPROPERTY_IDL_
+#define _COM_SUN_STAR_BRIDGE_PROTOCOLPROPERTY_IDL_
+
+module com { module sun { module star { module bridge {
+
+/** string/value pair
+ */
+published struct ProtocolProperty
+{
+ string Name;
+
+ any Value;
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/UnoUrlResolver.idl b/udkapi/com/sun/star/bridge/UnoUrlResolver.idl
new file mode 100644
index 000000000..4a1d72161
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/UnoUrlResolver.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_bridge_UnoUrlResolver_idl__
+#define __com_sun_star_bridge_UnoUrlResolver_idl__
+
+
+ module com { module sun { module star { module bridge {
+
+published interface XUnoUrlResolver;
+
+
+/** provides the ability to access remote processes,
+ resolving them by a UNO url.
+ <br>
+ */
+published service UnoUrlResolver: XUnoUrlResolver;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/UrpBridge.idl b/udkapi/com/sun/star/bridge/UrpBridge.idl
new file mode 100644
index 000000000..0697cfc1e
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/UrpBridge.idl
@@ -0,0 +1,63 @@
+/* -*- 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_bridge_UrpBridge_idl__
+#define __com_sun_star_bridge_UrpBridge_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/bridge/XBridge.idl>
+
+
+ module com { module sun { module star { module bridge {
+
+/** Concrete service of the meta service Bridge for the urp protocol.
+
+ <p>This bridge works with the urp protocol.
+
+ @see com::sun::star::bridge::Bridge
+ */
+published service UrpBridge
+{
+ /** This interface allows to initialize the bridge service with the necessary
+ arguments. The sequence&lt;any&gt; must have 4 members.
+
+ <ol>
+ <li> String: The unique name of the bridge or an empty string</li>
+ <li> String: urp</li>
+ <li> XConnection: The bidirectional connection, the bridge should work on</li>
+ <li> XInstanceProvider:
+ The instance provider, that shall be called to access the initial object.</li>
+ </ol>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** The main interface of the service.
+ */
+ interface com::sun::star::bridge::XBridge;
+
+ /** allows to terminate the interprocess bridge.
+ */
+ interface com::sun::star::lang::XComponent;
+
+};
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/XBridge.idl b/udkapi/com/sun/star/bridge/XBridge.idl
new file mode 100644
index 000000000..41fc2d434
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XBridge.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 .
+ */
+#ifndef _COM_SUN_STAR_BRIDGE_XBRIDGE_IDL_
+#define _COM_SUN_STAR_BRIDGE_XBRIDGE_IDL_
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module bridge {
+
+/** main interface for an interprocess bridge.
+ */
+published interface XBridge: com::sun::star::uno::XInterface
+{
+ /** tries to get an interface from the remote that is known by this name.
+
+ <p>In general, this method is called once to get the initial object from the
+ remote, but it is allowed to call the method multiple times. </p>
+
+ @param sInstanceName The name of the object, that shall be retrieved from the
+ remote process. The call is delegated to
+ com.sun.star.bridge.XInstanceProvider.getInstance() in the
+ remote process.
+ @see com::sun::star::bridge::XInstanceProvider
+ */
+ com::sun::star::uno::XInterface getInstance( [in] string sInstanceName );
+
+
+ /** name that the bridge got when it was created.
+ */
+ string getName();
+
+
+ /** a unique descriptive string: protocol + ":" + XConnection.getDescription()
+ */
+ string getDescription();
+};
+
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/XBridgeFactory.idl b/udkapi/com/sun/star/bridge/XBridgeFactory.idl
new file mode 100644
index 000000000..a849f3e7a
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XBridgeFactory.idl
@@ -0,0 +1,89 @@
+/* -*- 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_BRIDGE_XBRIDGEFACTORY_IDL_
+#define _COM_SUN_STAR_BRIDGE_XBRIDGEFACTORY_IDL_
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+#include <com/sun/star/connection/XConnection.idl>
+#include <com/sun/star/bridge/XBridge.idl>
+#include <com/sun/star/bridge/BridgeExistsException.idl>
+#include <com/sun/star/bridge/XInstanceProvider.idl>
+
+ module com { module sun { module star { module bridge {
+
+/** factory to create interprocess bridges.
+ */
+published interface XBridgeFactory: com::sun::star::uno::XInterface
+{
+ /** tries to create a UNO interprocess bridge.
+
+ @param sName
+ The name of the bridge. This allows other components to reuse
+ an already created bridge (using getBridge).
+ <p>
+ If empty, an anonymous bridge is created, which cannot be retrieved with
+ getBridge(). No BridgeExistsException can be thrown in this case.
+
+ @param sProtocol
+ The protocol, that will be used on the connection (e.g., urp) plus additional
+ comma separated name=value protocol properties.
+
+ @param aConnection
+ The connection, which is used to transfer the calls. The bridge expects to
+ own the connection, thus it will close the connection, in case it does not
+ need it anymore.
+
+ @param anInstanceProvider
+ gets called, when a request from remote comes in. You can pass a null reference
+ in case you don't want to export any objects.
+
+ @throws BridgeExistsException
+ There is already a bridge registered with this name. Use getBridge instead.
+
+ @throws IllegalArgumentException
+ The protocol is unknown or the connection is null.
+ */
+ XBridge createBridge(
+ [in] string sName,
+ [in] string sProtocol ,
+ [in] com::sun::star::connection::XConnection aConnection ,
+ [in] XInstanceProvider anInstanceProvider )
+ raises ( BridgeExistsException , com::sun::star::lang::IllegalArgumentException );
+
+
+ /** tries to get a bridge by this name.
+ <p> Cannot be retrieved, when the bridge got disposed before.
+
+ @return An existing remote bridge or a null reference.
+ */
+ XBridge getBridge( [in] string sName );
+
+ /** returns the sequence of all named and unnamed UNO interprocess
+ bridges that are instantiated at the time the call is made.
+ */
+ sequence < XBridge > getExistingBridges( );
+};
+
+
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/XBridgeFactory2.idl b/udkapi/com/sun/star/bridge/XBridgeFactory2.idl
new file mode 100644
index 000000000..92849570d
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XBridgeFactory2.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_bridge_XBridgeFactory2_idl__
+#define __com_sun_star_bridge_XBridgeFactory2_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/bridge/XBridgeFactory.idl>
+
+
+module com { module sun { module star { module bridge {
+
+
+/**
+ Provides a unified interface for the BridgeFactory service to implement.
+
+ @since LibreOffice 4.0
+ */
+published interface XBridgeFactory2
+{
+ /** The main interface of the service
+ */
+ interface com::sun::star::bridge::XBridgeFactory;
+
+ /** This interface allows to break possible cyclic references.
+ */
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; };
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/XBridgeSupplier.idl b/udkapi/com/sun/star/bridge/XBridgeSupplier.idl
new file mode 100644
index 000000000..d6d6aff37
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XBridgeSupplier.idl
@@ -0,0 +1,87 @@
+/* -*- 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_bridge_XBridgeSupplier_idl__
+#define __com_sun_star_bridge_XBridgeSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/uno/Uik.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+ module com { module sun { module star { module bridge {
+
+
+
+/** defines the interface for creating bridges to other object models.
+
+ <p>Because bridges sometimes can not be generated in an address space,
+ the implementation needs to check the address space of the caller by
+ comparing the machine and process ID against its own. These IDs are
+ provided by the UNO runtime. </p>
+
+ <p>All objects, whether they are part of the UNO object model or not,
+ are carried in an `any`. The representation of this object
+ is heavily model-dependent and has to be specified in the following list: </p>
+
+ <dl>
+ <dt>UNO: </dt>
+ <dd>The any carries normal UNO types, which can be any base type,
+ struct, sequence, enum, or interface. </dd>
+
+ <dt>OLE: </dt>
+ <dd>The any carries an `unsigned long` (on 32-bit systems)
+ or an `unsigned hyper` (on 64-bit systems), which is
+ interpreted as a variant pointer. The any does not control the
+ lifetime of the represented variant. That implies that the caller
+ has the responsibility of freeing the OLE resources represented
+ by the any value. </dd>
+
+ <dt>JAVA: </dt>
+ <dd>not yet specified. </dd>
+ </dl>
+
+ <p>Any implementation can supply its own bridges to other object
+ models by implementing this interface and returning the bridge
+ when the method is called with itself as the first parameter. </p>
+
+ @see com::sun::star::bridge::OleBridgeSupplier
+ @deprecated
+ */
+published interface XBridgeSupplier: com::sun::star::uno::XInterface
+{
+
+ /** creates a bridge to provide an object of one object model with another.
+ */
+ any createBridge( [in] any modelDepObject,
+ [in] com::sun::star::uno::Uik MachineId,
+ [in] long ProcessId,
+ [in] short sourceModelType,
+ [in] short destModelType )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/XBridgeSupplier2.idl b/udkapi/com/sun/star/bridge/XBridgeSupplier2.idl
new file mode 100644
index 000000000..94c368501
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XBridgeSupplier2.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_bridge_XBridgeSupplier2_idl__
+#define __com_sun_star_bridge_XBridgeSupplier2_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+ module com { module sun { module star { module bridge {
+
+
+/** defines the interface for creating bridges to other object models.
+
+ <p>
+ The created bridges are transparent to the user. That is, if one maps
+ an interface into the target model, then the resulting target interface
+ is a bridge implementation, that is not being noticed by an user. During
+ a call on that interface, the bridge is invoked to convert the arguments
+ and carry out a call according to the rules of the source model.
+ Return values are automatically mapped to the types of the target model.
+ </p>
+ <p>
+ Simple types are mapped to simple target types. That is, there is no additional
+ bridging code involved when those types are being used.
+ </p>
+
+ <p>Sometimes a bridge cannot be created, depending on whether a program uses
+ the XBridgeSupplier2 interface remotely. Assuming one wants to bridge an
+ OLE Automation object to UNO by calling createBridge on a proxy, then the UNO remote
+ bridge would not recognise that the Any argument contains an IDispatch interface.
+ Therefore it cannot marshal it as COM requires it and the bridgeing would fail.
+ To prevent this, implementations of this interface should be aware of this scenario and
+ if necessary take the appropriate steps. The process ID argument to the createBridge
+ function represents the calling process and may be used by the implementation to determine
+ if it is being accessed remotely.
+ </p>
+ <p>All objects, whether they are part of the UNO object model or not,
+ are carried in an `any`. The representation of this object
+ is heavily model-dependent and has to be specified in the following list: </p>
+
+ <dl>
+ <dt>UNO: </dt>
+ <dd>The any carries normal UNO types, which can be any base type,
+ struct, sequence, enum or interface. </dd>
+
+ <dt>OLE: </dt>
+ <dd>The any carries an `unsigned long` (on 32-bit systems)
+ or an `unsigned hyper` (on 64-bit systems), which is
+ interpreted as a variant pointer. The any does not control the
+ lifetime of the represented variant. That implies that the caller
+ has the responsibility of freeing the OLE resources represented
+ by the any value. </dd>
+
+ <dt>JAVA: </dt>
+ <dd>not specified yet. </dd>
+ </dl>
+
+ </p>
+ <p>Any implementation can supply its own bridges to other object
+ models by implementing this interface and returning the bridge
+ when the method XBridgeSupplier2::createBridge()
+ is called with itself as the first parameter. </p>
+
+ @see com::sun::star::bridge::OleBridgeSupplier2
+ */
+published interface XBridgeSupplier2: com::sun::star::uno::XInterface
+{
+ /** creates a bridge to provide an object of one object model with another.
+ */
+ any createBridge( [in] any aModelDepObject,
+ [in] sequence< byte > aProcessId,
+ [in] short nSourceModelType,
+ [in] short nDestModelType )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/XInstanceProvider.idl b/udkapi/com/sun/star/bridge/XInstanceProvider.idl
new file mode 100644
index 000000000..50454f513
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XInstanceProvider.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 .
+ */
+#ifndef _COM_SUN_STAR_BRIDGE_XINSTANCEPROVIDER_IDL_
+#define _COM_SUN_STAR_BRIDGE_XINSTANCEPROVIDER_IDL_
+
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+ module com { module sun { module star { module bridge {
+
+
+/** allows to export UNO objects to other processes.
+
+ @see XBridge
+ */
+published interface XInstanceProvider: com::sun::star::uno::XInterface
+{
+
+ /** gets called, when an initial object is requested from a remote process.
+ You may either create a new instance or return an existing object.
+
+ @param sInstanceName
+ The name of the requested object.
+
+ @returns
+ the object associated with the name. The return value may be null in case
+ there is no object to offer for this string. In this case, XBridge.getInstance()
+ (in the other process) will also return a null reference.
+
+ @throws NoSuchElementException
+ You may throw this exception to indicate, that there is no object for this
+ name. Due to a specification bug, this exception will appear as a RuntimeException
+ at the XBridge.getInstance() method.
+ */
+ com::sun::star::uno::XInterface getInstance( [in] string sInstanceName )
+ raises ( com::sun::star::container::NoSuchElementException );
+};
+
+};};};};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/XProtocolProperties.idl b/udkapi/com/sun/star/bridge/XProtocolProperties.idl
new file mode 100644
index 000000000..501c2aceb
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XProtocolProperties.idl
@@ -0,0 +1,94 @@
+/* -*- 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_BRIDGE_XPROTOCOLPROPERTIES_IDL_
+#define _COM_SUN_STAR_BRIDGE_XPROTOCOLPROPERTIES_IDL_
+#include <com/sun/star/bridge/ProtocolProperty.idl>
+#include <com/sun/star/bridge/InvalidProtocolChangeException.idl>
+
+module com { module sun { module star { module bridge {
+
+
+/** Bridge internal interface, that allows to change protocol settings of the remote
+ counter part.
+
+ <p>In general, this interface is implemented by the bridge itself. It must not
+ be called from outside the bridge.</p>
+
+ <p>INTERNAL INTERFACE, DO NOT USE IT ELSEWHERE!</p>
+*/
+published interface XProtocolProperties : com::sun::star::uno::XInterface
+{
+ /** called to get a list of bridge internal properties. Which properties can be retrieved,
+ is protocol dependent.
+
+ <p> The properties MUST NOT change between a requestChange and a commit change call.</p>
+ */
+ sequence< ProtocolProperty > getProperties( );
+
+ /** called to initiate a protocol change.
+
+ <p>This method should always be called in the scope of the local bridge setting object,
+ because the remote counter part may do such a call at the same time
+ (typically at startup time). </p>
+
+ @param nRandomNumber
+ In case both processes call requestChange at the same time,
+ the caller with the higher nRandomNumber is allowed to call
+ commitChange.
+
+ @returns
+ 1, if the caller may ( and MUST !!!) call commitChange.
+ 0, if the caller is not allowed to call commitChange. This can only happen,
+ if the other bridge has called requestChange at the same time and
+ nRandomNumber is smaller than the other bridge's nRandomNumber.
+ The remote counterpart is supposed to call commitChange within a small
+ time span. Please call requestChange() after the remote counterpart has
+ called commitChange().
+ -1 if the nRandomNumber is of the same value as the previously
+ sent requestChange (sent by the remote counterpart). This is a draw :o).
+ Generate a new random number and try again.
+ */
+ long requestChange( [in] long nRandomNumber );
+
+ /** called to commit a protocol change.
+
+ <p>It is only allowed to call commitChange, if requestChange
+ has been called previously and the return value was true. The new properties are
+ valid after the reply of commitChange has been received.
+ Note, that this is difficult for the callee, because it must marshal the reply
+ with the old settings. </p>
+
+ <p>All properties not mentioned in the list are unchanged.
+ Note that the bridge must be blocked for other threads,
+ before commitChange is sent and unblocked
+ after the reply has been received. This blocks the bridge.</p>
+
+ @throws InvalidProtocolChangeException
+ when the remote counterpart could not change at least one of the properties.
+ No property has been changed. requestChange must be called
+ again to initiate a new change of the protocol.
+ */
+ void commitChange( [in] sequence< ProtocolProperty > newValues )
+ raises ( com::sun::star::bridge::InvalidProtocolChangeException );
+};
+
+};};};};
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/XUnoUrlResolver.idl b/udkapi/com/sun/star/bridge/XUnoUrlResolver.idl
new file mode 100644
index 000000000..60415b8a2
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/XUnoUrlResolver.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_bridge_XUnoUrlResolver_idl__
+#define __com_sun_star_bridge_XUnoUrlResolver_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/connection/ConnectionSetupException.idl>
+#include <com/sun/star/connection/NoConnectException.idl>
+
+
+ module com { module sun { module star { module bridge {
+
+
+/** allows to resolve an object using the uno-url.
+ */
+published interface XUnoUrlResolver: com::sun::star::uno::XInterface
+{
+
+ /** resolves an object using the given uno-url.
+ @param sUnoUrl the uno-url. The uno-url is specified
+ <a href="http://udk.openoffice.org/common/man/spec/uno-url.html">here</a>.
+
+ @returns the resolved object, in general a proxy for a remote object.
+ You can use it the same way as you use local references.
+ */
+ com::sun::star::uno::XInterface resolve( [in] string sUnoUrl )
+ raises (com::sun::star::connection::NoConnectException,
+ com::sun::star::connection::ConnectionSetupException,
+ com::sun::star::lang::IllegalArgumentException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl b/udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl
new file mode 100644
index 000000000..ad8159c6b
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.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_bridge_oleautomation_ApplicationRegistration_idl__
+#define __com_sun_star_bridge_oleautomation_ApplicationRegistration_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+
+/** registers UNO objects as COM objects.
+ <p>
+ That is, COM class factories are registered with COM at runtime. The required
+ EXE server is the application which deploys this service. In order to access
+ the factories by COM API functions, there need to be proper registry entries.
+ This service does not provide for writing those entries.
+ </p>
+ <p>
+ The instantiation of the registered objects can be carried out by any
+ ordinary mechanism which is used in a certain language to create COM
+ components. For example, <code>CreateObject</code> in Visual Basic,
+ <code>CoCreateInstance</code> in C++.
+ </p>
+ <p>
+ Currently only a factory for the service
+ com::sun::star::lang::MultiServiceFactory is registered
+ by this service. The CLSID is {82154420-0FBF-11d4-8313-005004526AB4} and the
+ ProgId is com.sun.star.ServiceManager.
+ </p>
+ <p>
+ ApplicationRegistration does not provide any particular
+ interface because the UNO objects are registered while instantiating this
+ service and deregistered if the implementation, which makes use of this
+ service, is being released.
+ </p>
+ */
+service ApplicationRegistration
+{
+
+ interface com::sun::star::uno::XInterface;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl b/udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl
new file mode 100644
index 000000000..cfb82cbb1
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.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_bridge_oleautomation_BridgeSupplier_idl__
+#define __com_sun_star_bridge_oleautomation_BridgeSupplier_idl__
+
+#include <com/sun/star/bridge/XBridgeSupplier2.idl>
+
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** maps UNO types to oleautomation types and vice versa.
+ <p>
+ The function
+ com::sun::star::bridge::XBridgeSupplier2::createBridge()
+ maps a value of a UNO or Automation type to the desired target type. If a UNO
+ interface was mapped to <code>IDispatch</code>, then all objects
+ (interfaces, structs) and other types which are obtained from that Automation
+ object are automatically mapped to the corresponding Automation types. Hence,
+ if one provides an initial object which forms the root of all other objects,
+ such as a service manager, then only that object needs to be explicitly
+ mapped by a call to
+ com::sun::star::bridge::XBridgeSupplier2::createBridge().
+ The same holds true if an automation object is mapped to a UNO interface.
+ </p>
+ <p>
+ For Automation objects to be mapped they have to implement
+ <code>IDispatch</code> interface. Other COM interfaces, except for
+ <code>IUnknown</code>, are not supported. UNO interfaces and structs are
+ mapped to <code>IDispatch</code>.
+ </p>
+ <p>
+ The service implements the
+ com::sun::star::bridge::XBridgeSupplier2 interface and
+ handles the model types
+ com::sun::star::bridge::ModelDependent::UNO and
+ com::sun::star::bridge::ModelDependent::OLE.
+ The service does not specify any requirements for registering OLE objects and
+ class factories.
+ </p>
+*/
+service BridgeSupplier
+{
+ interface com::sun::star::bridge::XBridgeSupplier2;
+
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/oleautomation/Currency.idl b/udkapi/com/sun/star/bridge/oleautomation/Currency.idl
new file mode 100644
index 000000000..f9bbcf91e
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/Currency.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_bridge_oleautomation_Currency_idl__
+#define __com_sun_star_bridge_oleautomation_Currency_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** is the UNO representation of the Automation type <code>CY</code>, also know
+ as <code>CURRENCY</code>.
+ <p>
+ A <code>CY</code> could actually be represented as `hyper` in UNO
+ and therefore a typedef from `hyper` to a currency type would do.
+ But a typedef cannot be expressed in all language bindings. In the case
+ where no typedefs are supported the actual type is used. That is, a
+ typedef'd currency type would be represented as <code>long</code> in Java.
+ The information that the <code>long</code> is a currency type is lost.
+ </p>
+ <p>
+ When calling Automation objects from UNO the distinction between
+ `hyper` and a currency type is important. Therefore
+ Currency is declared as struct.
+ </p>
+
+ @since OOo 1.1.2
+ */
+struct Currency
+{
+ /** corresponds to the Automation type <code>CY</code>.
+ */
+ hyper Value;
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/oleautomation/Date.idl b/udkapi/com/sun/star/bridge/oleautomation/Date.idl
new file mode 100644
index 000000000..cc6b886b4
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/Date.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_bridge_oleautomation_Date_idl__
+#define __com_sun_star_bridge_oleautomation_Date_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** is the UNO representation of the Automation type <code>DATE</code>.
+ <p>
+ A <code>DATE</code> could actually be represented as `double` in
+ UNO and therefore a typedef from `double` to a date type would
+ do. But a typedef cannot be expressed in all language bindings. In the
+ case where no typedefs are supported the actual type is used. That is, a
+ typedef'd date type would be represented as <code>double</code> in Java.
+ The information that the `double` is a date type is lost.
+ </p>
+ <p>
+ When calling Automation objects from UNO the distinction between
+ `double` and date type is important. Therefore Date
+ is declared as struct.
+ </p>
+
+ @since OOo 1.1.2
+ */
+struct Date
+{
+ /** corresponds to the Automation type <code>DATE</code>.
+ */
+ double Value;
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/oleautomation/Decimal.idl b/udkapi/com/sun/star/bridge/oleautomation/Decimal.idl
new file mode 100644
index 000000000..f07ba471e
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/Decimal.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 .
+ */
+#ifndef __com_sun_star_bridge_oleautomation_Decimal_idl__
+#define __com_sun_star_bridge_oleautomation_Decimal_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** is the UNO representation of the Automation type <code>DECIMAL</code>.
+
+
+ @since OOo 1.1.2
+ */
+struct Decimal
+{
+ /** corresponds to <code>DECIMAL.scale</code>.
+ */
+ byte Scale;
+
+ /** corresponds to <code>DECIMAL.sign</code>.
+ */
+ byte Sign;
+
+ /** corresponds to <code>DECIMAL.Lo32</code>.
+ */
+ unsigned long LowValue;
+
+ /** corresponds to <code>DECIMAL.Mid32</code>.
+ */
+ unsigned long MiddleValue;
+
+ /** corresponds to <code>DECIMAL.Hi32</code>.
+ */
+ unsigned long HighValue;
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/oleautomation/Factory.idl b/udkapi/com/sun/star/bridge/oleautomation/Factory.idl
new file mode 100644
index 000000000..47a58746c
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/Factory.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_bridge_oleautomation_Factory_idl__
+#define __com_sun_star_bridge_oleautomation_Factory_idl__
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+
+/** makes it possible to create COM objects as UNO objects.
+
+ <p>
+ A COM object must have a ProgId since the ProgId is used as argument for
+ com::sun::star::lang::XMultiServiceFactory::createInstance().
+ The only interfaces which are mapped are <code>IUnknown</code> and
+ <code>IDispatch</code>. The created UNO objects support
+ com::sun::star::script::XInvocation if the original COM
+ objects support <code>IDispatch</code>.
+ </p>
+ <p>
+ The optional parameters of the method
+ com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ are reserved for future use; at this time they are ignored.
+ </p>
+ */
+service Factory
+{
+ interface com::sun::star::lang::XMultiServiceFactory;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl b/udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl
new file mode 100644
index 000000000..9de3ae2fa
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_bridge_oleautomation_NamedArgument_idl__
+#define __com_sun_star_bridge_oleautomation_NamedArgument_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** represents a named argument in a call to a method of an Automation object.
+ <p>
+ The Automation bridge accepts values of NamedArgument when a
+ call to an Automation object is made. The call is done through the
+ com::sun::star::script::XInvocation::invoke()
+ method, which takes all arguments in a sequence of anys. Usually the order
+ of the arguments must correspond to the order of arguments in the Automation
+ method. By using instances of NamedArgument the arguments in the
+ sequence can be unordered. The Automation object being called must support
+ named arguments, otherwise the call fails.
+ </p>
+
+ @since OOo 1.1.2
+ */
+struct NamedArgument
+{
+ /** The name of the argument, for which
+ NamedArgument::Value is intended.
+ */
+ string Name;
+
+ /** The value of the argument whose name is the one as contained in the
+ member #Name.
+ */
+ any Value;
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl b/udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl
new file mode 100644
index 000000000..a01054d6d
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.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 .
+ */
+#ifndef __com_sun_star_bridge_oleautomation_PropertyPutArgument_idl__
+#define __com_sun_star_bridge_oleautomation_PropertyPutArgument_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** contains a value that is used as argument in a &quot;property put&quot
+ operation on an Automation object.
+ <p>
+ If an Automation object is converted into a UNO object by a scripting
+ bridge, such as
+ com::sun::star::bridge::oleautomation::BridgeSupplier,
+ then it is accessed through the
+ com::sun::star::script::XInvocation interface.
+ The methods
+ com::sun::star::script::XInvocation::setValue()
+ and
+ com::sun::star::script::XInvocation::getValue()
+ are used to access properties which do not have additional
+ arguments. To access a property with additional arguments, the
+ method
+ com::sun::star::script::XInvocation::invoke()
+ has to be used. The method implementation must decide, if the
+ property is to be written or read so it can perform the proper
+ operation on the Automation object. To make this decision, the
+ caller has to provide the information if the current call is
+ intended to be a write or read operation. This is done by
+ providing either instances of PropertyPutArgument or
+ PropertyGetArgument as arguments to
+ com::sun::star::script::XInvocation::Invoke.
+
+ @since OOo 1.1.2
+*/
+struct PropertyPutArgument
+{
+ /** contains the actual argument.
+ */
+ any Value;
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/oleautomation/SCode.idl b/udkapi/com/sun/star/bridge/oleautomation/SCode.idl
new file mode 100644
index 000000000..5791d9ddb
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/SCode.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_bridge_oleautomation_SCode_idl__
+#define __com_sun_star_bridge_oleautomation_SCode_idl__
+
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+/** <p>is the UNO representation of the Automation type SCODE.
+ </p>
+ <p>
+ A <code>SCODE</code> is used to express errors in Automation.
+ In UNO it could be represented by a `long` and therefore a typedef
+ from `long` to a particular error type would do. But a typedef
+ cannot be expressed in all language bindings. In the case where no typedefs
+ are supported the actual type is used. That is, a typedef'd error type would
+ be represented as <code>int</code> in Java. The information that the
+ <code>int</code> is an error type is lost.
+ </p>
+ <p>
+ When calling Automation objects from UNO the distinction between error type
+ and `long` is important. Therefore the Scode is
+ declared as struct.
+ </p>
+
+ @since OOo 1.1.2
+ */
+
+
+struct SCode
+{
+ long Value;
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl b/udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl
new file mode 100644
index 000000000..3d38578ed
--- /dev/null
+++ b/udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_bridge_oleautomation_XAutomationObject_idl__
+#define __com_sun_star_bridge_oleautomation_XAutomationObject_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module bridge { module oleautomation {
+
+
+/** a tagging interface for UNO objects which represent Automation
+ objects.
+ <p>
+ If an Automation object is bridged into the UNO environment, then
+ the resulting UNO object does not distinguish itself from any
+ other ordinary UNO object. However, it may be desirable to have
+ that distinction regardless, if a UNO client needs to take
+ particular Automation specific characteristics into account.
+ By providing XAutomationObject an object declares
+ to be representing an Automation object.
+
+ @since OOo 1.1.2
+ */
+interface XAutomationObject: com::sun::star::uno::XInterface
+{
+
+};
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */