From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- udkapi/com/sun/star/bridge/Bridge.idl | 77 ++++++++++++++++ .../com/sun/star/bridge/BridgeExistsException.idl | 38 ++++++++ udkapi/com/sun/star/bridge/BridgeFactory.idl | 42 +++++++++ udkapi/com/sun/star/bridge/IiopBridge.idl | 63 +++++++++++++ .../star/bridge/InvalidProtocolChangeException.idl | 49 ++++++++++ udkapi/com/sun/star/bridge/ModelDependent.idl | 46 ++++++++++ .../sun/star/bridge/OleApplicationRegistration.idl | 63 +++++++++++++ udkapi/com/sun/star/bridge/OleBridgeSupplier.idl | 49 ++++++++++ udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl | 64 +++++++++++++ .../com/sun/star/bridge/OleBridgeSupplierVar1.idl | 49 ++++++++++ udkapi/com/sun/star/bridge/OleObjectFactory.idl | 53 +++++++++++ udkapi/com/sun/star/bridge/ProtocolProperty.idl | 36 ++++++++ udkapi/com/sun/star/bridge/UnoUrlResolver.idl | 39 ++++++++ udkapi/com/sun/star/bridge/UrpBridge.idl | 63 +++++++++++++ udkapi/com/sun/star/bridge/XBridge.idl | 58 ++++++++++++ udkapi/com/sun/star/bridge/XBridgeFactory.idl | 89 ++++++++++++++++++ udkapi/com/sun/star/bridge/XBridgeFactory2.idl | 49 ++++++++++ udkapi/com/sun/star/bridge/XBridgeSupplier.idl | 87 ++++++++++++++++++ udkapi/com/sun/star/bridge/XBridgeSupplier2.idl | 102 +++++++++++++++++++++ udkapi/com/sun/star/bridge/XInstanceProvider.idl | 58 ++++++++++++ udkapi/com/sun/star/bridge/XProtocolProperties.idl | 94 +++++++++++++++++++ udkapi/com/sun/star/bridge/XUnoUrlResolver.idl | 54 +++++++++++ .../oleautomation/ApplicationRegistration.idl | 67 ++++++++++++++ .../star/bridge/oleautomation/BridgeSupplier.idl | 69 ++++++++++++++ .../com/sun/star/bridge/oleautomation/Currency.idl | 55 +++++++++++ udkapi/com/sun/star/bridge/oleautomation/Date.idl | 54 +++++++++++ .../com/sun/star/bridge/oleautomation/Decimal.idl | 58 ++++++++++++ .../com/sun/star/bridge/oleautomation/Factory.idl | 55 +++++++++++ .../star/bridge/oleautomation/NamedArgument.idl | 57 ++++++++++++ .../bridge/oleautomation/PropertyPutArgument.idl | 64 +++++++++++++ udkapi/com/sun/star/bridge/oleautomation/SCode.idl | 56 +++++++++++ .../bridge/oleautomation/XAutomationObject.idl | 50 ++++++++++ 32 files changed, 1907 insertions(+) create mode 100644 udkapi/com/sun/star/bridge/Bridge.idl create mode 100644 udkapi/com/sun/star/bridge/BridgeExistsException.idl create mode 100644 udkapi/com/sun/star/bridge/BridgeFactory.idl create mode 100644 udkapi/com/sun/star/bridge/IiopBridge.idl create mode 100644 udkapi/com/sun/star/bridge/InvalidProtocolChangeException.idl create mode 100644 udkapi/com/sun/star/bridge/ModelDependent.idl create mode 100644 udkapi/com/sun/star/bridge/OleApplicationRegistration.idl create mode 100644 udkapi/com/sun/star/bridge/OleBridgeSupplier.idl create mode 100644 udkapi/com/sun/star/bridge/OleBridgeSupplier2.idl create mode 100644 udkapi/com/sun/star/bridge/OleBridgeSupplierVar1.idl create mode 100644 udkapi/com/sun/star/bridge/OleObjectFactory.idl create mode 100644 udkapi/com/sun/star/bridge/ProtocolProperty.idl create mode 100644 udkapi/com/sun/star/bridge/UnoUrlResolver.idl create mode 100644 udkapi/com/sun/star/bridge/UrpBridge.idl create mode 100644 udkapi/com/sun/star/bridge/XBridge.idl create mode 100644 udkapi/com/sun/star/bridge/XBridgeFactory.idl create mode 100644 udkapi/com/sun/star/bridge/XBridgeFactory2.idl create mode 100644 udkapi/com/sun/star/bridge/XBridgeSupplier.idl create mode 100644 udkapi/com/sun/star/bridge/XBridgeSupplier2.idl create mode 100644 udkapi/com/sun/star/bridge/XInstanceProvider.idl create mode 100644 udkapi/com/sun/star/bridge/XProtocolProperties.idl create mode 100644 udkapi/com/sun/star/bridge/XUnoUrlResolver.idl create mode 100644 udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl create mode 100644 udkapi/com/sun/star/bridge/oleautomation/BridgeSupplier.idl create mode 100644 udkapi/com/sun/star/bridge/oleautomation/Currency.idl create mode 100644 udkapi/com/sun/star/bridge/oleautomation/Date.idl create mode 100644 udkapi/com/sun/star/bridge/oleautomation/Decimal.idl create mode 100644 udkapi/com/sun/star/bridge/oleautomation/Factory.idl create mode 100644 udkapi/com/sun/star/bridge/oleautomation/NamedArgument.idl create mode 100644 udkapi/com/sun/star/bridge/oleautomation/PropertyPutArgument.idl create mode 100644 udkapi/com/sun/star/bridge/oleautomation/SCode.idl create mode 100644 udkapi/com/sun/star/bridge/oleautomation/XAutomationObject.idl (limited to 'udkapi/com/sun/star/bridge') 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 +#include +#include + + +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. + +

Components, that support a certain protocol, must have at least two + service names:

+ +
    +
  • com.sun.star.bridge.Bridge
  • +
  • arbitrary-module-path.ProtocolnameBridge
  • +
+ +

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.: + com.sun.star.bridge.UrpBridge 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.

+ */ +published service Bridge +{ + /** allows to initialize the bridge service with the necessary + arguments. The sequence<any> must have 4 members. + +
    +
  1. String: The unique name of the bridge or an empty string
  2. +
  3. String: The protocol, that shall be instantiated
  4. +
  5. XConnection: The bidirectional connection, the bridge should work on
  6. +
  7. XInstanceProvider: + The instance provider, that shall be called to access the initial object.
  8. +
+ */ + 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 + +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 + + +module com { module sun { module star { module bridge { + + +/** allows to create new or access existing interprocess bridges. + +

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 +#include +#include + + + module com { module sun { module star { module bridge { + +/** Concrete service of the meta service Bridge for iiop. + +

This bridge works with the iiop protocol.

+ + @see com::sun::star::bridge::Bridge + */ +published service IiopBridge +{ + /** This interface allows to initialize the bridge service with the necessary + arguments. The sequence<any> must have 4 members. + +
    +
  1. String: The unique name of the bridge or an empty string
  2. +
  3. String: iiop
  4. +
  5. XConnection: The bidirectional connection, the bridge should work on
  6. +
  7. XInstanceProvider: + The instance provider, that shall be called to access the initial object.
  8. +
+ */ + 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 +#include + +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. + +

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 + + + + module com { module sun { module star { module bridge { + + +/** registers UNO objects as COM objects. + +

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

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

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

+ +

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.

+

+ @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 + + + + module com { module sun { module star { module bridge { + + + +/** makes it possible to generate OLE bridges to UNO objects and vice versa. + +

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.

+ @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 + + + +module com { module sun { module star { module bridge { + +/** maps UNO types to oleautomation types and vice versa.

+ + The XBridgeSupplier2 interface provides the function createBridge 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 createBridge. The same holds true if an automation + object is mapped to a UNO interface.
+

The Automation types VT_CY and VT_DATE 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. + +

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.

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

+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 + + + + module com { module sun { module star { module bridge { + + +/** makes it possible to create COM objects as UNO objects. + +

A COM object must have a ProgId since the ProgId is used as argument for + XMultiServiceFactory::createInstance. The only interfaces which are mapped + are IUnknown and IDispatch. + The created UNO objects support com::sun::star::script::XInvocation + if the original COM objects support IDispatch.

+ +

The optional parameters of the method + com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments() + are reserved for future use; at this time they are ignored.

+ + @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. +
+ */ +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 +#include +#include + + + module com { module sun { module star { module bridge { + +/** Concrete service of the meta service Bridge for the urp protocol. + +

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<any> must have 4 members. + +

    +
  1. String: The unique name of the bridge or an empty string
  2. +
  3. String: urp
  4. +
  5. XConnection: The bidirectional connection, the bridge should work on
  6. +
  7. XInstanceProvider: + The instance provider, that shall be called to access the initial object.
  8. +
+ */ + 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 + +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. + +

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.

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

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

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 +#include + + +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 + +#include + +#include + + + + module com { module sun { module star { module bridge { + + + +/** defines the interface for creating bridges to other object models. + +

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.

+ +

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:

+ +
+
UNO:
+
The any carries normal UNO types, which can be any base type, + struct, sequence, enum, or interface.
+ +
OLE:
+
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.
+ +
JAVA:
+
not yet specified.
+
+ +

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.

+ + @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 + +#include + + + + module com { module sun { module star { module bridge { + + +/** defines the interface for creating bridges to other object models. + +

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

+

+ Simple types are mapped to simple target types. That is, there is no additional + bridging code involved when those types are being used. +

+ +

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

+

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:

+ +
+
UNO:
+
The any carries normal UNO types, which can be any base type, + struct, sequence, enum or interface.
+ +
OLE:
+
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.
+ +
JAVA:
+
not specified yet.
+
+ +

+

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.

+ + @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 + + 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 +#include + +module com { module sun { module star { module bridge { + + +/** Bridge internal interface, that allows to change protocol settings of the remote + counter part. + +

In general, this interface is implemented by the bridge itself. It must not + be called from outside the bridge.

+ +

INTERNAL INTERFACE, DO NOT USE IT ELSEWHERE!

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

The properties MUST NOT change between a requestChange and a commit change call.

+ */ + sequence< ProtocolProperty > getProperties( ); + + /** called to initiate a protocol change. + +

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

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

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.

+ +

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.

+ + @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 +#include +#include +#include + + + 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 + here. + + @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 + + + +module com { module sun { module star { module bridge { module oleautomation { + + +/** registers UNO objects as COM objects. +

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

+

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

+

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

+

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

+ */ +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 + + + +module com { module sun { module star { module bridge { module oleautomation { + +/** maps UNO types to oleautomation types and vice versa. +

+ 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 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 + com::sun::star::bridge::XBridgeSupplier2::createBridge(). + The same holds true if an automation object is mapped to a UNO interface. +

+

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

+

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

+*/ +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 CY, also know + as CURRENCY. +

+ A CY 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 long in Java. + The information that the long is a currency type is lost. +

+

+ When calling Automation objects from UNO the distinction between + `hyper` and a currency type is important. Therefore + Currency is declared as struct. +

+ + @since OOo 1.1.2 + */ +struct Currency +{ + /** corresponds to the Automation type CY. + */ + 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 DATE. +

+ A DATE 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 double in Java. + The information that the `double` is a date type is lost. +

+

+ When calling Automation objects from UNO the distinction between + `double` and date type is important. Therefore Date + is declared as struct. +

+ + @since OOo 1.1.2 + */ +struct Date +{ + /** corresponds to the Automation type DATE. + */ + 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 DECIMAL. + + + @since OOo 1.1.2 + */ +struct Decimal +{ + /** corresponds to DECIMAL.scale. + */ + byte Scale; + + /** corresponds to DECIMAL.sign. + */ + byte Sign; + + /** corresponds to DECIMAL.Lo32. + */ + unsigned long LowValue; + + /** corresponds to DECIMAL.Mid32. + */ + unsigned long MiddleValue; + + /** corresponds to DECIMAL.Hi32. + */ + 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 + + + +module com { module sun { module star { module bridge { module oleautomation { + + +/** makes it possible to create COM objects as UNO objects. + +

+ 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 IUnknown and + IDispatch. The created UNO objects support + com::sun::star::script::XInvocation if the original COM + objects support IDispatch. +

+

+ The optional parameters of the method + com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments() + are reserved for future use; at this time they are ignored. +

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

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

+ + @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 "property put" + operation on an Automation object. +

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

is the UNO representation of the Automation type SCODE. +

+

+ A SCODE 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 int in Java. The information that the + int is an error type is lost. +

+

+ When calling Automation objects from UNO the distinction between error type + and `long` is important. Therefore the Scode is + declared as struct. +

+ + @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 + +module com { module sun { module star { module bridge { module oleautomation { + + +/** a tagging interface for UNO objects which represent Automation + objects. +

+ 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: */ -- cgit v1.2.3