summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/text/MailMerge.idl
blob: e7691c4b7769095f448d9093f33cb501c97dab4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   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 .
 */
#ifndef __com_sun_star_text_MailMerge_idl__
#define __com_sun_star_text_MailMerge_idl__

#include <com/sun/star/task/XJob.idl>
#include <com/sun/star/sdbc/XResultSet.idl>
#include <com/sun/star/sdbc/XConnection.idl>
#include <com/sun/star/frame/XModel.idl>
#include <com/sun/star/beans/XPropertySet.idl>
#include <com/sun/star/text/XMailMergeBroadcaster.idl>
#include <com/sun/star/sdb/DataAccessDescriptor.idl>
#include <com/sun/star/util/XCancellable.idl>


 module com {  module sun {  module star {  module text {


/** Gives access to mail merge functionality.

    @since OOo 1.1.2
 */
published service MailMerge
{
    /** interface to execute the mail merge action.

        <p>The com::sun::star::task::XJob::execute()
        method of the interface accepts exactly the same properties
        as provided by this service in its argument sequence.</p>

        <p>The default values for the properties to be used in the method
        call are those given by this service. If a property is also listed
        in the argument sequence that value will be used for the call.
        The value of the property in this service will remain unchanged
        by that.</p>
     */
    interface com::sun::star::task::XJob;

    /** interface to cancel the current mail merge job.

        @since LibreOffice 4.3
     */
    [optional] interface com::sun::star::util::XCancellable;

    /** interface to access the services properties.
     */
    interface com::sun::star::beans::XPropertySet;

    /** interface to notify mail merge listeners.
     */
    [optional] interface com::sun::star::text::XMailMergeBroadcaster;


    /* database properties */

    /** allows to specify the data which the mail merge should be based on.

        <p>This service describe the interaction between all data access related properties,
        namely #DataSourceName, #Command, #CommandType,
        #ActiveConnection, #Selection, #ResultSet,
        #Filter and #EscapeProcessing
    */
    service com::sun::star::sdb::DataAccessDescriptor;

    /** contains the name of the data source that is to be used for merging.

        <p>For the interaction of this property with other data access relevant properties, see
        the com::sun::star::sdb::DataAccessDescriptor service.</p>
     */
    [property] string DataSourceName;


    /** determines the type of the database command as
        described in com::sun::star::sdb::CommandType

        <p>For the interaction of this property with other data access relevant properties, see
        the com::sun::star::sdb::DataAccessDescriptor service.</p>
     */
    [property] long CommandType;


    /** contains the database command.

        <p>For the interaction of this property with other data access relevant properties, see
        the com::sun::star::sdb::DataAccessDescriptor service.</p>
     */
    [property] string Command;


    /** provides access to a
        com::sun::star::sdbc::XResultSet of
        a com::sun::star::sdbc::ResultSet service.

        <p>Note that any superservices of com::sun::star::sdbc::ResultSet
        are also allowed. Especially, this member can denote an instance of the
        com::sun::star::sdb::RowSet, or an instance obtained
        by calling com::sun::star::sdb::XResultSetAccess::createResultSet()
        on such a com::sun::star::sdb::RowSet. This becomes important in
        conjunction with the #Selection property.</p>

        <p>For the interaction of this property with other data access relevant properties, see
        the com::sun::star::sdb::DataAccessDescriptor service.</p>
     */
    [property] com::sun::star::sdbc::XResultSet ResultSet;


    /** contains the connection to the database.

        <p>For the interaction of this property with other data access relevant properties, see
        the com::sun::star::sdb::DataAccessDescriptor service.</p>
     */
    [property] com::sun::star::sdbc::XConnection ActiveConnection;


    /** contains a selection that refers to bookmarks of the ResultSet.

        <p>This property is relevant in conjunction with the #ResultSet
        only. A single element of this array describes a bookmark relative to the result set.<br/>
        Note that this implies that the #ResultSet needs to support the
        com::sun::star::sdbcx::XRowLocate interface.</p>

        <p>If this array is empty, the whole result set, as described by #ResultSet
        respectively the triple (#DataSourceName, #CommandType,
        #Command).</p>

        <p>For the interaction of this property with other data access relevant properties, see
        the com::sun::star::sdb::DataAccessDescriptor service.</p>
     */
    [property] sequence< any > Selection;


    /** returns if escape processing is on or off.

        <p>For the interaction of this property with other data access relevant properties, see
        the com::sun::star::sdb::DataAccessDescriptor service.</p>
     */
    [property] boolean EscapeProcessing;


    /** contains a filter expression for an SQL statement.

        <p>For the interaction of this property with other data access relevant properties, see
        the com::sun::star::sdb::DataAccessDescriptor service.</p>
     */
    [property] string Filter;


    /* input properties */


    /** contains the URL of a text document that is to be processed.

        <p>If this property is not set an empty document is created.</p>
     */
    [property] string DocumentURL;


    /** provides access to the model of the document to be processed.

        <p>This property will automatically be set to the documents model
        if a document URL was set.</p>
     */
    [property, readonly] com::sun::star::frame::XModel Model;


    /* output properties */


    /** determines the destination of the mail merge action.

        @see com::sun::star::text::MailMergeType
     */
    [property] short OutputType;


    /** determines whether single print jobs will be generated per output document.

        <p>This property is only evaluated for printer output.</p>
     */
    [property] boolean SinglePrintJobs;


    /** contains the path where generated files are created.

        <p>If "OutputURL" or "FileNamePrefix" are empty the missing value is
        generated from the location or title of the source documents.</p>

        <p>This property is only evaluated for file output.</p>
     */
    [property] string OutputURL;


    /** determines whether file names of created files are generated using
        the content of a database column.

        <p>This property is only evaluated for file output.</p>
     */
    [property] boolean FileNameFromColumn;


    /** contains the name of the column to generate the output file names.

        <p>If FileNameFromColumn is true the content of the related column
        is added to the OutputURL.</p>
        <p>If "OutputURL" or "FileNamePrefix" are empty the missing value is
        generated from the location or title of the source documents.</p>

        <p>This property is only evaluated for file output.</p>
     */
    [property] string FileNamePrefix;


    /** Contains the password of the outgoing mail server. It is necessary to set this
        if the password is not already stored in the configuration for security reasons.

        <p>This property is only evaluated for e-Mail output.</p>

        @since OOo 2.0
    */
    [property, optional] string OutServerPassword;

    /** Contains the password of the incoming mail server. It is necessary to set this
        if the mail server configuration is set to "SMTP after POP" authentication and
        the password is not already stored in the configuration for security reasons.

        <p>This property is only evaluated for e-Mail output.</p>

        @since OOo 2.0
    */
    [property, optional] string InServerPassword;

    /** contains the subject of the e-Mail message.

        <p>This property is only evaluated for e-Mail output.</p>
        @since OOo 2.0
    */
    [property, optional] string Subject;


    /** contains the name of the data base column that contains the e-Mail address
        to the e-Mail to.

        <p>This property is only evaluated for e-Mail output.</p>

        @since OOo 2.0
    */
    [property, optional] string AddressFromColumn;


    /** determines that the created mail merge document is sent as body in HTML format.
        This property is only valid if the property "SendAsAttachment" is set to `FALSE`.

        <p>This property is only evaluated for e-Mail output.</p>

        @since OOo 2.0
    */
    [property, optional] boolean SendAsHTML;



    /** determines that the created mail merge document is sent as attachment.

        <p>This property is only evaluated for e-Mail output.</p>

        @since OOo 2.0
    */
    [property, optional] boolean SendAsAttachment;


    /** contains the text of the mail body.
        This property is only valid if the property "SendAsAttachment" is set to `TRUE`
        <p>This property is only evaluated for e-Mail output.</p>

        @since OOo 2.0
    */
    [property, optional] string MailBody;


    /** contains the name of the attachment.
        This property is only valid if "SendAsAttachment" is set to `TRUE`.

        <p>This property is only evaluated for e-Mail output.</p>

        @since OOo 2.0
    */
    [property, optional] string AttachmentName;


    /** contains the name of the document filter to save the attached mail merge document.
        This property is only valid if "SendAsAttachment" is set to `TRUE`.

        <p>This property is only evaluated for e-Mail output.</p>

        @since OOo 2.0
    */
    [property, optional] string AttachmentFilter;


    /** contains a list of e-Mail addresses to
        <p>This property is only evaluated for e-Mail output.</p>

        @since OOo 2.0
    */
    [property, optional] sequence< string > CopiesTo;


    /**
        <p>This property is only evaluated for e-Mail output.</p>

        @since OOo 2.0
    */
    [property, optional] sequence< string > BlindCopiesTo;



    /** determines that the output of the mail merge is saved in one single file.
        <p>This property is only evaluated for file output.</p>

        @since OOo 2.0
    */
    [property, optional] boolean SaveAsSingleFile;


    /** contains the name of the document filter to save the output file(s).
        <p>This property is only evaluated for file output.</p>

        @since OOo 2.0
    */
    [property, optional] string SaveFilter;


    /** contains the properties that are defined in <com::sun::star::view::PrintOptions>.

        <p>This property is only evaluated for printer output.</p>

        @since OOo 2.0
    */
    [property, optional] sequence< com::sun::star::beans::PropertyValue > PrintOptions;

};



}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */