/* -*- 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_frame_FrameLoader_idl__ #define __com_sun_star_frame_FrameLoader_idl__ #include #include #include module com { module sun { module star { module frame { /** derivations of this abstract service are used to load components into Frames of the environment

Concrete implementations of this service register, for example, for file name extensions or MIME types to load appropriate components. The components loaded are at least Controller. Instead of SynchronousFrameLoader this one use asynchronous processes to load the component.

@see SynchronousFrameLoader */ published service FrameLoader { /** support asynchronous loading of the component */ interface XFrameLoader; /** support initialization of loader with its own configuration!

Concrete implementations should use it to get her own configuration data directly after creation by the FrameLoaderFactory. Otherwise they must use normal configuration API to do so.

*/ [optional] interface com::sun::star::lang::XInitialization; /** provides access to the internal name of this frame loader

The internal name is a part of his configuration and will be passed by the FrameLoaderFactory after creation if optional interface com::sun::star::lang::XInitialization is supported. Value of function com::sun::star::container::XNamed::getName() can be used on service FrameLoaderFactory to get further information about this loader. Setting of this name by calling com::sun::star::container::XNamed::setName() must be forwarded to same factory service. He should decide, if it's allowed or not. The reason: prevent code against name ambiguities.

*/ [optional] interface com::sun::star::container::XNamed; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */