Update ooo320-m1
[ooovba.git] / offapi / com / sun / star / frame / XDispatchRecorderSupplier.idl
bloba373148f83bfd6994f13928de73cdb945cdc6a60
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XDispatchRecorderSupplier.idl,v $
10 * $Revision: 1.8 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__
31 #define __com_sun_star_frame_XDispatchRecorderSupplier_idl__
33 #ifndef __com_sun_star_uno_XInterface_idl__
34 #include <com/sun/star/uno/XInterface.idl>
35 #endif
37 #ifndef __com_sun_star_frame_XDispatch_idl__
38 #include <com/sun/star/frame/XDispatch.idl>
39 #endif
41 #ifndef __com_sun_star_frame_XDispatchRecorder_idl__
42 #include <com/sun/star/frame/XDispatchRecorder.idl>
43 #endif
45 //=============================================================================
47 module com { module sun { module star { module frame {
49 //=============================================================================
50 /** provides access to the record mechanism of dispatches
52 <p>
53 With a <type>XDispatchRecorder</type> it's possible to record calls
54 of <member>XDispatch::dispatch()</member>. The recorded data (may a script)
55 can be used to automate recorded dispatch and start it at later time again.
56 This supplier provides access to the recorder and supports some functionality
57 to work with the mcaro recording mechanism in an easy manner.
58 </p>
60 @see XDispatchRecorder
61 @since OOo 1.1.2
63 published interface XDispatchRecorderSupplier: com::sun::star::uno::XInterface
65 //-------------------------------------------------------------------------
66 /** set a dispatch recorder on this supplier
68 <p>
69 Setting of a new recorder make it possible to change recording mode.
70 May there can exist different implementations of a recorder (e.g. to
71 generate Java, Basic or other formats). Changing between local recording
72 inside one <type>Frame</type> or global one by using more then ones can be
73 forced too.
74 </p>
76 @param Recorder
77 the new recorder for this supplier
79 void setDispatchRecorder( [in] com::sun::star::frame::XDispatchRecorder Recorder );
81 //-------------------------------------------------------------------------
82 /** provides access on the recorder of this supplier
84 <p>
85 Returned recorder can be used to record dispatches manualy or to get
86 recorded data for further using e.g. saving. He is internaly used too
87 due to the method <member>XDispatchRecorderSupplier::dispatchAndRecord()</member>.
88 </p>
90 @returns
91 the dispatch recorder of this supplier
93 @see XDispatchRecorder
95 com::sun::star::frame::XDispatchRecorder getDispatchRecorder();
97 //-------------------------------------------------------------------------
98 /** dispatch given URL and record it if recording is enabled
101 Parameter <var>Dispatcher</var> is used internaly to make the dispatch.
102 If recording isn't enabled it will be a normal <member>XDispatch::dispatch()</member>
103 call. Otherwise follow algorithm is used:
104 <ul>
105 <li>If <var>Dispatcher</var> doesn't support the interface
106 <type>XRecordableDispatch</type> a normal dispatch() call
107 will be made and depend from the result state of that
108 the request will be recorded. In this case it's possible
109 to record the incoming parameter (<var>URL</var> and
110 <var>Arguments</var>) only. Parameters of internal processes
111 can't be recorded then and will be lost.
112 </li>
113 <li>If <var>Dispatcher</var> support the interface
114 <type>XRecordableDispatch</type> it will be used
115 to dispatch and record all neccessary parameters of
116 the whole process.
117 </li>
118 </ul>
119 </p>
121 @see XRecordableDispatch
123 void dispatchAndRecord(
124 [in] com::sun::star::util::URL URL,
125 [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
126 [in] XDispatch Dispatcher);
129 //=============================================================================
131 }; }; }; };
133 #endif