blob: b43022bad156516c42f3f54193e65035c1382705 [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_frame_XDispatchProvider_idl__
#define __com_sun_star_frame_XDispatchProvider_idl__
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_frame_XDispatch_idl__
#include <com/sun/star/frame/XDispatch.idl>
#endif
#ifndef __com_sun_star_util_URL_idl__
#include <com/sun/star/util/URL.idl>
#endif
#ifndef __com_sun_star_frame_DispatchDescriptor_idl__
#include <com/sun/star/frame/DispatchDescriptor.idl>
#endif
//=============================================================================
module com { module sun { module star { module frame {
//=============================================================================
/** provides <type>XDispatch</type> interfaces for certain functions which
are useful at the UI.
@see XDispatch
*/
published interface XDispatchProvider: com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
/** searches for an <type>XDispatch</type> 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
<var>TargetFrameName</var> was used
@return
the dispatch object which provides queried functionality
<br>
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 <member>XDispatchProvider::queryDispatch()</member>
to avoid multiple remote calls.
@param Requests
list of dispatch requests
@returns
multiple dispatch interfaces for the specified descriptors at once
<p>
It's not allowed to pack it - because every request must match
to his real result. Means: don't delete <NULL/> entries inside this list.
</p>
*/
sequence< XDispatch > queryDispatches(
[in] sequence<DispatchDescriptor> Requests);
};
//=============================================================================
}; }; }; };
#endif