| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_bridge_XBridgeSupplier_idl__ |
| #define __com_sun_star_bridge_XBridgeSupplier_idl__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| |
| #ifndef __com_sun_star_uno_Uik_idl__ |
| #include <com/sun/star/uno/Uik.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ |
| #include <com/sun/star/lang/IllegalArgumentException.idl> |
| #endif |
| |
| |
| //============================================================================= |
| |
| 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 <atom>any</atom>. 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 <atom>unsigned long</atom> (on 32-bit systems) |
| or an <atom>unsigned hyper</atom> (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> |
| |
| <dt>CORBA: </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 |