1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_frame_SynchronousFrameLoader_idl__
20 #define __com_sun_star_frame_SynchronousFrameLoader_idl__
22 #include
<com
/sun
/star
/frame
/XSynchronousFrameLoader.idl
>
23 #include
<com
/sun
/star
/lang
/XInitialization.idl
>
24 #include
<com
/sun
/star
/container
/XNamed.idl
>
27 module com
{ module sun
{ module star
{ module frame
{
29 /** derivations of this abstract service are used to load components
30 into Frames of the environment
33 Concrete implementations of this service register, for example,
34 for file name extensions or MIME types to load appropriate
35 components. The components loaded are at least Controller.
36 Instead of service FrameLoader this one use synchronous
37 processes to load the component.
42 published service SynchronousFrameLoader
44 /** support synchronous loading of component
46 interface XSynchronousFrameLoader
;
48 /** support initialization of loader with its own configuration!
51 Concrete implementations should use it to get her own configuration data
52 directly after creation by the FrameLoaderFactory.
53 Otherwise they must use normal configuration API to do so.
56 [optional] interface com
::sun
::star
::lang
::XInitialization
;
58 /** provides access to the internal name of this frame loader
61 The internal name is a part of his configuration and will be passed by
62 the FrameLoaderFactory after creation
63 if optional interface com::sun::star::lang::XInitialization
64 is supported. Value of function com::sun::star::container::XNamed::getName() can be
65 used on service FrameLoaderFactory to get further information about this loader.
66 Setting of this name by calling com::sun::star::container::XNamed::setName() must be
67 forwarded to same factory service. He should decide, if it's allowed or not.
68 The reason: prevent code against name ambiguities.
71 [optional] interface com
::sun
::star
::container
::XNamed
;
79 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */