diff options
Diffstat (limited to 'offapi/com/sun/star/frame/XRecordableDispatch.idl')
-rw-r--r-- | offapi/com/sun/star/frame/XRecordableDispatch.idl | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/offapi/com/sun/star/frame/XRecordableDispatch.idl b/offapi/com/sun/star/frame/XRecordableDispatch.idl new file mode 100644 index 000000000000..8ece65792443 --- /dev/null +++ b/offapi/com/sun/star/frame/XRecordableDispatch.idl @@ -0,0 +1,114 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_frame_XRecordableDispatch_idl__ +#define __com_sun_star_frame_XRecordableDispatch_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_frame_XDispatchRecorder_idl__ +#include <com/sun/star/frame/XDispatchRecorder.idl> +#endif + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** extends an existing <type>XDispatch</type> implementation with functionality + for dispatch recording + + <p> + This interface can be implemented as an additional one beside an existing + <type>XDispatch</type> one to provide record functionality of dispatches. + Because it's an additional interface the status events are available there + and not at this interface. + </p> + + <p> + But normaly this interface mustn't be used directly. + If a dispatch object is well known and recording was enabled + on a <type>XDispatchRecorderSupplier</type> it's possible to use method + <member>XDispatchRecorderSupplier::dispatchAndRecord()</member> of it + to make dispatch and recording automaticly. The interface XRecordableDispatch + is used transparently there. + </p> + + @example + <listing> + <i>XDispatch</i> xDispatcher = xFrame.queryDispatch(aURL,"",0); + <i>XRecordableDispatch</i> xRecordable = (<i>XRecordableDispatch</i>)UnoRuntime.queryInterface( + XRecordableDispatch.class, + xDispatcher); + + xDispatcher.addStatusListener(this,aURL); + + <b>if</b> (xRecordable!=<b>null</b>) + xRecordable.dispatchAndRecord(aURL,lArguments,xRecorder); + else + xDispatcher.dispatch(aURL,lArguments); + ... + xDispatcher.removeStatusListener(this,aURL); + </listing> + + @see XDispatchRecorderSupplier + @see XDispatch + + @since OOo 1.1.2 + */ +published interface XRecordableDispatch: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** dispatch and record it + + @param URL + full parsed URL wich describe the feature which should be dispatched (executed) + + @param Arguments + optional arguments for this request + (see <type scope="com::sun::star::document">MediaDescriptor</type> for details) + + @param Recorder + object which can be used to record the request + (available on <member>XDispatchRecorderSupplier::getDispatchRecorder()</member>) + */ + [oneway] void dispatchAndRecord( + [in] com::sun::star::util::URL URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments, + [in] XDispatchRecorder Recorder); +}; + +//============================================================================= + +}; }; }; }; + +#endif |