1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_text_MailMerge_idl__ 24#define __com_sun_star_text_MailMerge_idl__ 25 26#ifndef __com_sun_star_task_XJob_idl__ 27#include <com/sun/star/task/XJob.idl> 28#endif 29#ifndef __com_sun_star_sdbc_XResultSet_idl__ 30#include <com/sun/star/sdbc/XResultSet.idl> 31#endif 32#ifndef __com_sun_star_sdbc_XConnection_idl__ 33#include <com/sun/star/sdbc/XConnection.idl> 34#endif 35#ifndef __com_sun_star_frame_XModel_idl__ 36#include <com/sun/star/frame/XModel.idl> 37#endif 38#ifndef __com_sun_star_beans_XPropertySet_idl__ 39#include <com/sun/star/beans/XPropertySet.idl> 40#endif 41#ifndef __com_sun_star_text_XMailMergeBroadcaster_idl__ 42#include <com/sun/star/text/XMailMergeBroadcaster.idl> 43#endif 44#ifndef __com_sun_star_sdb_DataAccessDescriptor_idl__ 45#include <com/sun/star/sdb/DataAccessDescriptor.idl> 46#endif 47 48//============================================================================= 49 50 module com { module sun { module star { module text { 51 52//============================================================================= 53 54/** Gives access to mail merge functionality. 55 56 @since OOo 1.1.2 57 */ 58published service MailMerge 59{ 60 /** interface to execute the mail merge action. 61 62 <p>The <member scope="com::sun::star::task">XJob::execute</member> 63 method of the interface accepts exactly the same properties 64 as provided by this service in its argument sequence.</p> 65 66 <p>The default values for the properties to be used in the method 67 call are those given by this service. If a property is also listed 68 in the argument sequence that value will be used for the call. 69 The value of the property in this service will remain unchanged 70 by that.</p> 71 */ 72 interface com::sun::star::task::XJob; 73 74 /** interface to access the services properties. 75 */ 76 interface com::sun::star::beans::XPropertySet; 77 78 /** interface to notify mail merge listeners. 79 */ 80 [optional] interface com::sun::star::text::XMailMergeBroadcaster; 81 82 //============================================================================= 83 84 /* database properties */ 85 86 //============================================================================= 87 /** allows to specify the data which the mail merge should be based on. 88 89 <p>This service describe the interaction between all data access related properties, 90 namely <member>DataSourceName</member>, <member>Command</member>, <member>CommandType</member>, 91 <member>Connection</member>, <member>Selection</member>, <member>ResultSet</member>, 92 <member>Filter</member> and <member>EscapeProcessing</member> 93 */ 94 service com::sun::star::sdb::DataAccessDescriptor; 95 96 /** contains the name of the data source that is to be used for merging. 97 98 <p>For the interaction of this property with other data access relevant properties, see 99 the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p> 100 */ 101 [property] string DataSourceName; 102 103 //============================================================================= 104 105 /** determines the type of the database command as 106 described in <type scope="com::sun::star::sdb">CommandType</type> 107 108 <p>For the interaction of this property with other data access relevant properties, see 109 the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p> 110 */ 111 [property] long CommandType; 112 113 //============================================================================= 114 115 /** contains the database command. 116 117 <p>For the interaction of this property with other data access relevant properties, see 118 the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p> 119 */ 120 [property] string Command; 121 122 //============================================================================= 123 124 /** provides access to a 125 <type scope="com::sun::star::sdbc">XResultSet</type> of 126 a <type scope="com::sun::star::sdbc">ResultSet</type> service. 127 128 <p>Note that any superservices of <type scope="com::sun::star::sdbc">ResultSet</type> 129 are also allowed. Especially, this member can denote an instance of the 130 <type scope="com::sun::star::sdb">RowSet</type>, or an instance obtained 131 by calling <member scope="com::sun::star::sdb">XResultSetAccess::createResultSet</member> 132 on such a <type scope="com::sun::star::sdb">RowSet</type>. This becomes important in 133 conjunction with the <member>Selection</member> property.</p> 134 135 <p>For the interaction of this property with other data access relevant properties, see 136 the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p> 137 */ 138 [property] com::sun::star::sdbc::XResultSet ResultSet; 139 140 //============================================================================= 141 142 /** contains the connection to the database. 143 144 <p>For the interaction of this property with other data access relevant properties, see 145 the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p> 146 */ 147 [property] com::sun::star::sdbc::XConnection ActiveConnection; 148 149 //============================================================================= 150 151 /** contains a selection that refers to bookmarks of the ResultSet. 152 153 <p>This property is relevant in conjunction with the <member>ResultSet</member> 154 only. A single element of this array describes a bookmark relative to the result set.<br/> 155 Note that this implies that the <member>ResultSet</member> needs to support the 156 <type scope="com::sun::star::sdbcx">XRowLocate</type> interface.</p> 157 158 <p>If this array is empty, the whole result set, as described by <member>ResultSet</member> 159 respectively the triple (<member>DataSourceName</member>, <member>DataCommandType</member>, 160 <member>DataCommand</member>).</p> 161 162 <p>For the interaction of this property with other data access relevant properties, see 163 the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p> 164 */ 165 [property] sequence< any > Selection; 166 167 //============================================================================= 168 169 /** returns if escape processing is on or off. 170 171 <p>For the interaction of this property with other data access relevant properties, see 172 the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p> 173 */ 174 [property] boolean EscapeProcessing; 175 176 //============================================================================= 177 178 /** contains a filter expression for an SQL statement. 179 180 <p>For the interaction of this property with other data access relevant properties, see 181 the <type scope="com::sun::star::sdb">DataAccessDescriptor</type> service.</p> 182 */ 183 [property] string Filter; 184 185 //============================================================================= 186 187 /* input properties */ 188 189 //============================================================================= 190 191 /** contains the URL of a text document that is to be processed. 192 193 <p>If this property is not set an empty document is created.</p> 194 */ 195 [property] string DocumentURL; 196 197 //============================================================================= 198 199 /** provides access to the model of the document to be processed. 200 201 <p>This property will automatically be set to the documents model 202 if a document URL was set.</p> 203 */ 204 [property, readonly] com::sun::star::frame::XModel Model; 205 206 //============================================================================= 207 208 /* output properties */ 209 210 //============================================================================= 211 212 /** determines the destination of the mail merge action. 213 214 @see com::sun::star::text::MailMergeType 215 */ 216 [property] short OutputType; 217 218 //============================================================================= 219 220 /** determines whether single print jobs will be generated per output document. 221 222 <p>This property is only evaluated for printer output.</p> 223 */ 224 [property] boolean SinglePrintJobs; 225 226 //============================================================================= 227 228 /** contains the path where generated files are created. 229 230 <p>If "OutputURL" or "FileNamePrefix" are empty the missing value is 231 generated from the location or title of the source documents.</p> 232 233 <p>This property is only evaluated for file output.</p> 234 */ 235 [property] string OutputURL; 236 237 //============================================================================= 238 239 /** determines whether file names of created files are generated using 240 the content of a database column. 241 242 <p>This property is only evaluated for file output.</p> 243 */ 244 [property] boolean FileNameFromColumn; 245 246 //============================================================================= 247 248 /** contains the name of the column to generate the output file names. 249 250 <p>If FileNameFromColumn is true the content of the related column 251 is added to the OutputURL.</p> 252 <p>If "OutputURL" or "FileNamePrefix" are empty the missing value is 253 generated from the location or title of the source documents.</p> 254 255 <p>This property is only evaluated for file output.</p> 256 */ 257 [property] string FileNamePrefix; 258 259 //============================================================================= 260 261 /** Contains the password of the outgoing mail server. It is necessary to set this 262 if the password is not already stored in the configuration for security reasons. 263 264 <p>This property is only evaluated for e-Mail output.</p> 265 266 @since OOo 2.0 267 */ 268 [property, optional] string OutServerPassword; 269 //============================================================================= 270 271 /** Contains the password of the incoming mail server. It is necessary to set this 272 if the mail server configuration is set to 'SMTP after POP' authentication and 273 the password is not already stored in the configuration for security reasons. 274 275 <p>This property is only evaluated for e-Mail output.</p> 276 277 @since OOo 2.0 278 */ 279 [property, optional] string InServerPassword; 280 //============================================================================= 281 282 /** contains the subject of the e-Mail message. 283 284 <p>This property is only evaluated for e-Mail output.</p> 285 @since OOo 2.0 286 */ 287 [property, optional] string Subject; 288 289 //============================================================================= 290 291 /** contains the name of the data base column that contains the e-Mail address 292 to the e-Mail to. 293 294 <p>This property is only evaluated for e-Mail output.</p> 295 296 @since OOo 2.0 297 */ 298 [property, optional] string AddressFromColumn; 299 300 //============================================================================= 301 302 /** determines that the created mail merge document is sent as body in HTML format. 303 This property is only valid if the propery "SendAsAttachment" is set to <false/>. 304 305 <p>This property is only evaluated for e-Mail output.</p> 306 307 @since OOo 2.0 308 */ 309 [property, optional] boolean SendAsHTML; 310 311 //============================================================================= 312 313 314 /** determines that the created mail merge document is sent as attachment. 315 316 <p>This property is only evaluated for e-Mail output.</p> 317 318 @since OOo 2.0 319 */ 320 [property, optional] boolean SendAsAttachment; 321 322 //============================================================================= 323 324 /** contains the text of the mail body. 325 This property is only valid if the property "SendAsAttachment" is set to <true/> 326 <p>This property is only evaluated for e-Mail output.</p> 327 328 @since OOo 2.0 329 */ 330 [property, optional] string MailBody; 331 332 //============================================================================= 333 334 /** contains the name of the attachment. 335 This property is only valid if "SendAsAttachment" is set to <true/>. 336 337 <p>This property is only evaluated for e-Mail output.</p> 338 339 @since OOo 2.0 340 */ 341 [property, optional] string AttachmentName; 342 343 //============================================================================= 344 345 /** contains the name of the document filter to save the attached mail merge document. 346 This property is only valid if "SendAsAttachment" is set to <true/>. 347 348 <p>This property is only evaluated for e-Mail output.</p> 349 350 @since OOo 2.0 351 */ 352 [property, optional] string AttachmentFilter; 353 354 //============================================================================= 355 356 /** contains a list of e-Mail addresses to 357 <p>This property is only evaluated for e-Mail output.</p> 358 359 @since OOo 2.0 360 */ 361 [property, optional] sequence< string > CopiesTo; 362 363 //============================================================================= 364 365 /** 366 <p>This property is only evaluated for e-Mail output.</p> 367 368 @since OOo 2.0 369 */ 370 [property, optional] sequence< string > BlindCopiesTo; 371 372 373 //============================================================================= 374 375 /** determines that the output of the mail merge is save in one single file. 376 <p>This property is only evaluated for file output.</p> 377 378 @since OOo 2.0 379 */ 380 [property, optional] boolean SaveAsSingleFile; 381 382 //============================================================================= 383 384 /** contains the name of the document filter to save the output file(s). 385 <p>This property is only evaluated for file output.</p> 386 387 @since OOo 2.0 388 */ 389 [property, optional] string SaveFilter; 390 391 //============================================================================= 392 393 /** contains the properties that are defined in <com::sun::star::view::PrintOptions>. 394 395 <p>This property is only evaluated for printer output.</p> 396 397 @since OOo 2.0 398 */ 399 [property, optional] sequence< com::sun::star::beans::PropertyValue > PrintOptions; 400 401}; 402 403 404//============================================================================= 405 406}; }; }; }; 407 408#endif 409