1d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10d1766043SAndrew Rist *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12d1766043SAndrew Rist *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19d1766043SAndrew Rist *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_frame_FrameLoader_idl__
24cdf0e10cSrcweir#define __com_sun_star_frame_FrameLoader_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_frame_XFrameLoader_idl__
27cdf0e10cSrcweir#include <com/sun/star/frame/XFrameLoader.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir#ifndef __com_sun_star_lang_XInitialization_idl__
31cdf0e10cSrcweir#include <com/sun/star/lang/XInitialization.idl>
32cdf0e10cSrcweir#endif
33cdf0e10cSrcweir
34cdf0e10cSrcweir#ifndef __com_sun_star_container_XNamed_idl__
35cdf0e10cSrcweir#include <com/sun/star/container/XNamed.idl>
36cdf0e10cSrcweir#endif
37cdf0e10cSrcweir
38cdf0e10cSrcweir//=============================================================================
39cdf0e10cSrcweir
40cdf0e10cSrcweir module com {  module sun {  module star {  module frame {
41cdf0e10cSrcweir
42cdf0e10cSrcweir//=============================================================================
43cdf0e10cSrcweir/** derivations of this abstract service are used to load components
44cdf0e10cSrcweir    into <type>Frame</type>s of the environment
45cdf0e10cSrcweir
46cdf0e10cSrcweir    <p>
47cdf0e10cSrcweir    Concrete implementations of this service register, for example,
48cdf0e10cSrcweir	for file name extensions or MIME types to load appropriate
49cdf0e10cSrcweir    components. The components loaded are at least <type>Controller</type>.
50cdf0e10cSrcweir    Instead of <type>SynchronousFrameLoader</type> this one use asynchronous
51cdf0e10cSrcweir    processes to load the component.
52cdf0e10cSrcweir    </p>
53cdf0e10cSrcweir
54cdf0e10cSrcweir    @see SynchronousFrameLoader
55cdf0e10cSrcweir */
56cdf0e10cSrcweirpublished service FrameLoader
57cdf0e10cSrcweir{
58cdf0e10cSrcweir	//-------------------------------------------------------------------------
59cdf0e10cSrcweir    /** support asynchronous loading of the component
60cdf0e10cSrcweir     */
61cdf0e10cSrcweir    interface XFrameLoader;
62cdf0e10cSrcweir
63cdf0e10cSrcweir	//-------------------------------------------------------------------------
64cdf0e10cSrcweir	/**	support initialization of loader with its own configuration!
65cdf0e10cSrcweir
66cdf0e10cSrcweir        <p>
67cdf0e10cSrcweir        Concrete implementations should use it to get her own configuration data
68cdf0e10cSrcweir        directly after creation by the <type>FrameLoaderFactory</type>.
69*15289133Smseidel        Otherwise they must use normal configuration api to do so.
70cdf0e10cSrcweir		</p>
71cdf0e10cSrcweir	 */
72cdf0e10cSrcweir	[optional] interface com::sun::star::lang::XInitialization;
73cdf0e10cSrcweir
74cdf0e10cSrcweir	//-------------------------------------------------------------------------
75cdf0e10cSrcweir    /** provides access to the internal name of this frame loader
76cdf0e10cSrcweir
77cdf0e10cSrcweir        <p>
78cdf0e10cSrcweir        The internal name is a part of his configuration and will be passed by
79cdf0e10cSrcweir        the <type>FrameLoaderFactory</type> after creation
80cdf0e10cSrcweir        if optional interface <type scope="com::sun::star::lang">XInitialization</type>
81cdf0e10cSrcweir        is supported. Value of function <member scope="com::sun::star::container">XNamed::getName()</member>
82cdf0e10cSrcweir	can be used on service <type>FrameLoaderFactory</type> to get further informations about this loader.
83cdf0e10cSrcweir        Setting of this name by calling <member scope="com::sun::star::container">XNamed::setName()</member>
84cdf0e10cSrcweir	must be forwarded to same factory service. He should decide, if it's allowed or not.
85cdf0e10cSrcweir        The reason: prevent code against name ambigities.
86cdf0e10cSrcweir        </p>
87cdf0e10cSrcweir     */
88cdf0e10cSrcweir     [optional] interface com::sun::star::container::XNamed;
89cdf0e10cSrcweir};
90cdf0e10cSrcweir
91cdf0e10cSrcweir//=============================================================================
92cdf0e10cSrcweir
93cdf0e10cSrcweir}; }; }; };
94cdf0e10cSrcweir
95cdf0e10cSrcweir#endif
96