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_ucb_Rule_idl__ 24#define __com_sun_star_ucb_Rule_idl__ 25 26#ifndef __com_sun_star_ucb_RuleTerm_idl__ 27#include <com/sun/star/ucb/RuleTerm.idl> 28#endif 29 30 31//============================================================================= 32 33module com { module sun { module star { module ucb { 34 35//============================================================================= 36/** describes a rule that can be applies to a number of objects. 37 38 <p>A rule consists of a sequence of <type>RuleTerm</type>s describing the 39 objects to which the rule should be applied, the <type>RuleAction</type> 40 which should be used on the matching objects, and a parameter. 41*/ 42published struct Rule 43{ 44 //------------------------------------------------------------------------- 45 /** the rule terms describing the objects to which the rule should be 46 applied. 47 */ 48 sequence<com::sun::star::ucb::RuleTerm> Terms; 49 50 //------------------------------------------------------------------------- 51 /** Some <type>RuleAction</type>s require a parameter. 52 53 <table border =1> 54 <tr> 55 <th>Action</th> 56 <th>Parameter</th> 57 </tr> 58 <tr> 59 <td>COPY, MOVE, LINK</td> 60 <td>The URL to the destination folder.</td> 61 </tr> 62 <tr> 63 <td>FORWARD</td> 64 <td>The email address of the recepient</td> 65 </tr> 66 <tr> 67 <td>All other actions</td> 68 <td>n/a</td> 69 </tr> 70 </table> 71 */ 72 string Parameter; 73 74 //------------------------------------------------------------------------- 75 /** the action to perform on the matching objects. 76 77 <p>The value can be one of the <type>RuleAction</type> constants. 78 */ 79 short Action; 80 81}; 82 83//============================================================================= 84 85}; }; }; }; 86 87#endif 88