/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: DispatchRecorder.idl,v $
 *
 *  $Revision: 1.10 $
 *
 *  last change: $Author: rt $ $Date: 2005-09-08 00:58:13 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library 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 for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
#ifndef __com_sun_star_frame_DispatchRecorder_idl__
#define __com_sun_star_frame_DispatchRecorder_idl__

#ifndef __com_sun_star_frame_XDispatchRecorder_idl__
#include <com/sun/star/frame/XDispatchRecorder.idl>
#endif

#ifndef __com_sun_star_container_XIndexReplace_idl__
#include <com/sun/star/container/XIndexReplace.idl>
#endif

//=============================================================================

 module com {  module sun {  module star {  module frame {

//=============================================================================
/** provides functionality to record <member>XDispatch::dispatch()</member> requests

    <p>
    It records all neccessary parameters of a call <member>XDispatch::dispatch()</member>
    and generate code which can be executed at later time to run same operations
    again. Which code will be generated depends from real implementation. So it's
    possible to generate e.g. Java/Basic or may Perl code.
    By using of a <type>DispatchRecorderSupplier</type>, which is available on
    a property of a <member>Frame::DispatchRecorderSupplier</member>, it's possible to change such code generation
    for further requests or disable it in general by setting this property to <NULL/>.
    </p>

    @see DispatchRecorderSupplier
    @see Frame::RecorderSupplier

    @since OOo 1.1.2
 */
published service DispatchRecorder
{
    //-------------------------------------------------------------------------
    /** provides the record functionality and access on the generated code
     */
    interface com::sun::star::frame::XDispatchRecorder;
    /** provides replacement capability of recorded statements
    */
    interface com::sun::star::container::XIndexReplace;
};

//=============================================================================

}; }; }; };

#endif
