1*408a4873SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*408a4873SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*408a4873SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*408a4873SAndrew Rist * distributed with this work for additional information
6*408a4873SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*408a4873SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*408a4873SAndrew Rist * "License"); you may not use this file except in compliance
9*408a4873SAndrew Rist * with the License.  You may obtain a copy of the License at
10*408a4873SAndrew Rist *
11*408a4873SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*408a4873SAndrew Rist *
13*408a4873SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*408a4873SAndrew Rist * software distributed under the License is distributed on an
15*408a4873SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*408a4873SAndrew Rist * KIND, either express or implied.  See the License for the
17*408a4873SAndrew Rist * specific language governing permissions and limitations
18*408a4873SAndrew Rist * under the License.
19*408a4873SAndrew Rist *
20*408a4873SAndrew Rist *************************************************************/
21*408a4873SAndrew Rist
22*408a4873SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_bridge_oleautomation_BridgeSupplier_idl__
24cdf0e10cSrcweir#define __com_sun_star_bridge_oleautomation_BridgeSupplier_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_bridge_XBridgeSupplier2_idl__
27cdf0e10cSrcweir#include <com/sun/star/bridge/XBridgeSupplier2.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir
31cdf0e10cSrcweir//=============================================================================
32cdf0e10cSrcweir
33cdf0e10cSrcweirmodule com { module sun { module star { module bridge { module oleautomation {
34cdf0e10cSrcweir
35cdf0e10cSrcweir//=============================================================================
36cdf0e10cSrcweir/** maps UNO types to oleautomation types and vice versa.
37cdf0e10cSrcweir    <p>
38cdf0e10cSrcweir	The function
39cdf0e10cSrcweir	<member scope="com::sun::star::bridge">XBridgeSupplier2::createBridge</member>
40cdf0e10cSrcweir	maps a value of a UNO or Automation type to the desired target type. If a UNO
41cdf0e10cSrcweir	interface was mapped  to <code>IDispatch</code>, then all objects
42cdf0e10cSrcweir	(interfaces, structs) and other types which	are obtained from that Automation
43cdf0e10cSrcweir	object are automatically mapped to the corresponding Automation types. Hence,
44cdf0e10cSrcweir	if one provides an initial object which forms the root of all other objects,
45cdf0e10cSrcweir	such as a service manager, then only that object needs to be explicitly
46cdf0e10cSrcweir	mapped by a call to
47cdf0e10cSrcweir	<member scope="com::sun::star::bridge">XBridgeSupplier2::createBridge</member>.
48cdf0e10cSrcweir	The same holds true if an automation  object is mapped to an UNO interface.
49cdf0e10cSrcweir	</p>
50cdf0e10cSrcweir	<p>
51cdf0e10cSrcweir	For Automation objects to be mapped they have to implement
52cdf0e10cSrcweir	<code>IDispatch</code> interface. Other COM interfaces,	except for
53cdf0e10cSrcweir	<code>IUnknown</code>, are not supported. UNO interfaces and structs are
54cdf0e10cSrcweir	mapped to <code>IDispatch</code>.
55cdf0e10cSrcweir	</p>
56cdf0e10cSrcweir	<p>
57cdf0e10cSrcweir	The service implements the
58cdf0e10cSrcweir	<type scope="com::sun::star::bridge">XBridgeSupplier2</type> interface and
59cdf0e10cSrcweir	handles the model types
60cdf0e10cSrcweir	<const>com::sun::star::bridge::ModelDependent::UNO</const> and
61cdf0e10cSrcweir	<const>com::sun::star::bridge::ModelDependent::OLE</const>.
62cdf0e10cSrcweir	The service does not specify any requirements for registering OLE objects and
63cdf0e10cSrcweir	class factories.
64cdf0e10cSrcweir	</p>
65cdf0e10cSrcweir*/
66cdf0e10cSrcweirservice BridgeSupplier
67cdf0e10cSrcweir{
68cdf0e10cSrcweir	interface com::sun::star::bridge::XBridgeSupplier2;
69cdf0e10cSrcweir
70cdf0e10cSrcweir};
71cdf0e10cSrcweir
72cdf0e10cSrcweir//=============================================================================
73cdf0e10cSrcweir
74cdf0e10cSrcweir}; }; }; }; };
75cdf0e10cSrcweir
76cdf0e10cSrcweir#endif
77