diff options
Diffstat (limited to 'offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl')
-rw-r--r-- | offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl new file mode 100644 index 000000000000..c63e34dec1e9 --- /dev/null +++ b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl @@ -0,0 +1,130 @@ +/************************************************************************* + * + * 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_XDispatchRecorderSupplier_idl__ +#define __com_sun_star_frame_XDispatchRecorderSupplier_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_frame_XDispatchRecorder_idl__ +#include <com/sun/star/frame/XDispatchRecorder.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module frame { + +//============================================================================= +/** provides access to the record mechanism of dispatches + + <p> + With a <type>XDispatchRecorder</type> it's possible to record calls + of <member>XDispatch::dispatch()</member>. The recorded data (may a script) + can be used to automate recorded dispatch and start it at later time again. + This supplier provides access to the recorder and supports some functionality + to work with the mcaro recording mechanism in an easy manner. + </p> + + @see XDispatchRecorder + @since OOo 1.1.2 + */ +published interface XDispatchRecorderSupplier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** set a dispatch recorder on this supplier + + <p> + Setting of a new recorder make it possible to change recording mode. + May there can exist different implementations of a recorder (e.g. to + generate Java, Basic or other formats). Changing between local recording + inside one <type>Frame</type> or global one by using more then ones can be + forced too. + </p> + + @param Recorder + the new recorder for this supplier + */ + void setDispatchRecorder( [in] com::sun::star::frame::XDispatchRecorder Recorder ); + + //------------------------------------------------------------------------- + /** provides access on the recorder of this supplier + + <p> + Returned recorder can be used to record dispatches manualy or to get + recorded data for further using e.g. saving. He is internaly used too + due to the method <member>XDispatchRecorderSupplier::dispatchAndRecord()</member>. + </p> + + @returns + the dispatch recorder of this supplier + + @see XDispatchRecorder + */ + com::sun::star::frame::XDispatchRecorder getDispatchRecorder(); + + //------------------------------------------------------------------------- + /** dispatch given URL and record it if recording is enabled + + <p> + Parameter <var>Dispatcher</var> is used internaly to make the dispatch. + If recording isn't enabled it will be a normal <member>XDispatch::dispatch()</member> + call. Otherwise follow algorithm is used: + <ul> + <li>If <var>Dispatcher</var> doesn't support the interface + <type>XRecordableDispatch</type> a normal dispatch() call + will be made and depend from the result state of that + the request will be recorded. In this case it's possible + to record the incoming parameter (<var>URL</var> and + <var>Arguments</var>) only. Parameters of internal processes + can't be recorded then and will be lost. + </li> + <li>If <var>Dispatcher</var> support the interface + <type>XRecordableDispatch</type> it will be used + to dispatch and record all neccessary parameters of + the whole process. + </li> + </ul> + </p> + + @see XRecordableDispatch + */ + void dispatchAndRecord( + [in] com::sun::star::util::URL URL, + [in] sequence<com::sun::star::beans::PropertyValue> Arguments, + [in] XDispatch Dispatcher); +}; + +//============================================================================= + +}; }; }; }; + +#endif |