| /************************************************************** |
| * |
| * 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_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 OpenOffice 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 |