/* -*- 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 {
/** provides XDispatch interfaces for certain functions which
are useful at the UI.
@see XDispatch
*/
published interface XDispatchProvider: com::sun::star::uno::XInterface
{
/** searches for an XDispatch for the specified URL within
the specified target frame.
@param URL
describe the feature which should be supported by returned dispatch object
@param TargetFrameName
specify the frame which should be the target for this request
@param SearchFlags
optional search parameter for finding the frame if no special
TargetFrameName was used
@return
the dispatch object which provides queried functionality
or `NULL` if no dispatch object is available
@see XFrame::findFrame()
@see XDispatchProvider::queryDispatches()
*/
XDispatch queryDispatch(
[in] com::sun::star::util::URL URL,
[in] string TargetFrameName,
[in] long SearchFlags );
/** actually this method is redundant to XDispatchProvider::queryDispatch()
to avoid multiple remote calls.
@param Requests
list of dispatch requests
@returns
multiple dispatch interfaces for the specified descriptors at once
It's not allowed to pack it - because every request must match to its real result. Means: don't delete `NULL` entries inside this list.
*/ sequence< XDispatch > queryDispatches( [in] sequence