/* -*- 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 . */ module com { module sun { module star { module frame { /** this is a simple interface to load components by a URL into a frame environment @see Desktop @see Frame @see XFrame */ published interface XComponentLoader: com::sun::star::uno::XInterface { /** loads a component specified by a URL into the specified new or existing frame. @param URL specifies the URL of the document to load

To create new documents, use "private:factory/scalc", "private:factory/swriter", etc. Other special protocols (e.g. "slot:", ".uno") are not allowed and raise a com::sun::star::lang::IllegalArgumentException.

@param TargetFrameName specifies the name of the frame to view the document in

If a frame with the specified name already exists, it is used, otherwise it is created. There exist some special targets which never can be used as real frame names:
"_blank" always creates a new frame
"_default" special UI functionality
(e.g. detecting of already loaded documents, using of empty frames of creating of new top frames as fallback)
"_self", ""(!) means frame himself
"_parent" address direct parent of frame
"_top" indicates top frame of current path in tree
"_beamer" means special sub frame
@param SearchFlags use the values of FrameSearchFlag to specify how to find the specified TargetFrameName

Note: These flags are optional ones and will be used for non special target names only.

@param Arguments these arguments specify component or filter specific behavior

For example, "ReadOnly" with a boolean value specifies whether the document is opened read-only. "FilterName" specifies the component type to create and the filter to use, for example: "Text - CSV". For more information see com::sun::star::document::MediaDescriptor.

@return a com::sun::star::lang::XComponent for successfully loaded documents or
`NULL`if it failed

This interface is a generic one and can be used to start further requests on loaded document or control the lifetime of it (means dispose() it after using). The real document service behind this interface can be one of follow three ones:

@throws com::sun::star::io::IOException when URL couldn't be found or was corrupt @throws com::sun::star::lang::IllegalArgumentException when given parameters doesn't perform the specification */ com::sun::star::lang::XComponent loadComponentFromURL( [in] string URL, [in] string TargetFrameName, [in] long SearchFlags, [in] sequence Arguments) raises( com::sun::star::io::IOException, com::sun::star::lang::IllegalArgumentException ); }; }; }; }; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */