1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_configuration_backend_DataImporter_idl__
28#define __com_sun_star_configuration_backend_DataImporter_idl__
29
30#ifndef __com_sun_star_task_XJob_idl__
31#include <com/sun/star/task/XJob.idl>
32#endif
33
34//=============================================================================
35
36module com { module sun { module star { module configuration { module backend {
37
38//=============================================================================
39
40/**
41    allows importing data from one configuration repository into another. .
42
43    @since OOo 1.1.2
44*/
45published service DataImporter
46{
47	//-------------------------------------------------------------------------
48
49    /** allows running an import job
50
51        <p> The source and destination repositories are selected by arguments
52            passed to
53            <member scope="com::sun::star::task">XJob::execute()</member>.
54            The names and meanings of such arguments depend on
55            the implementation. Each implementation must document such arguments.
56        </p>
57
58        <p> Implementations may return a value from
59            <member scope="com::sun::star::task">XJob::execute()</member>
60            that indicates the status of job execution. The type and meaning of
61            such status indicators depend on the implementation.
62        </p>
63         <p>If <void/> or <TRUE/> is returned, this indicates successful
64            execution. If an
65            <type scope="com::sun::star::uno">Exception</type> is returned,
66            it represents an error condition encountered during execution.
67        </p>
68
69        <p> The following arguments to
70            <member scope="com::sun::star::task">XJob::execute()</member>
71            should be supported by implementations. Implementations must document
72            a failure to support any of these arguments:
73        <dl>
74            <dt><code>ImporterService</code> : <atom >string</atom></dt>
75            <dd>A service or implementation name used to instantiate the
76                <type>Importer</type> to use for importing. If this parameter
77                is missing, the implementation selects an appropriate importer.
78                By default, a <type>MergeImporter</type> should be used.
79            </dd>
80            <dt><code>OverwriteExisting</code> : <atom >boolean</atom></dt>
81            <dd>If <TRUE/>, specifies that no existing data should be
82                overwritten by the import. If the <type>Importer</type> used
83                does not support such protection, an error may be raised.
84                If some data is not imported, because there is existing
85                data, this is indicated by returning an appropriate exception.
86            </dd>
87            <dt><code>TruncateExisting</code> : <atom >boolean</atom></dt>
88            <dd>If <TRUE/>, specifies that existing data should be
89                discarded and replaced by the imported data.
90                If the <type>Importer</type> used does not support this
91                operation, an error may be raised.
92                By default, a <type>CopyImporter</type> is used to perform
93                truncating import.
94            </dd>
95            <dt><code>Entity</code> : <atom >string</atom></dt>
96            <dd>An identifier for the entity in the destination backend for
97                which the imported data should apply. The value will be passed
98                to <member>XLayerImporter::importLayerForEntity()</member>.
99                If this parameter is missing, the implementation uses
100                <member>XLayerImporter::importLayer()</member> instead.
101            </dd>
102            <dt><code>Component</code> : <atom >string</atom></dt>
103            <dd>Names the component for which to import data. If this
104                parameter is missing, the selection of data to import depends
105                on implementation-specific parameters.
106            </dd>
107            <dt><code>LayerFilter</code> : <type >LayerFilter</type></dt>
108            <dd>A filter to transform data during import. This parameter is
109                optional. If this parameter is missing, data will be imported
110                unaltered. <em>Support for this parameter is optional.</em>
111                If the implementation does not support a filter it will raise an
112                <type scope="com::sun::star::lang">IllegalArgumentException</type>.
113            </dd>
114        </dl>
115        </p>
116
117      */
118    interface com::sun::star::task::XJob ;
119
120	//-------------------------------------------------------------------------
121} ;
122
123//=============================================================================
124
125} ; } ; } ; } ; } ;
126
127#endif
128