blob: 81239b8491637029f19ba5c661685f9d75690d5f [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_ucb_Rule_idl__
#define __com_sun_star_ucb_Rule_idl__
#ifndef __com_sun_star_ucb_RuleTerm_idl__
#include <com/sun/star/ucb/RuleTerm.idl>
#endif
//=============================================================================
module com { module sun { module star { module ucb {
//=============================================================================
/** describes a rule that can be applies to a number of objects.
<p>A rule consists of a sequence of <type>RuleTerm</type>s describing the
objects to which the rule should be applied, the <type>RuleAction</type>
which should be used on the matching objects, and a parameter.
*/
published struct Rule
{
//-------------------------------------------------------------------------
/** the rule terms describing the objects to which the rule should be
applied.
*/
sequence<com::sun::star::ucb::RuleTerm> Terms;
//-------------------------------------------------------------------------
/** Some <type>RuleAction</type>s require a parameter.
<table border =1>
<tr>
<th>Action</th>
<th>Parameter</th>
</tr>
<tr>
<td>COPY, MOVE, LINK</td>
<td>The URL to the destination folder.</td>
</tr>
<tr>
<td>FORWARD</td>
<td>The email address of the recepient</td>
</tr>
<tr>
<td>All other actions</td>
<td>n/a</td>
</tr>
</table>
*/
string Parameter;
//-------------------------------------------------------------------------
/** the action to perform on the matching objects.
<p>The value can be one of the <type>RuleAction</type> constants.
*/
short Action;
};
//=============================================================================
}; }; }; };
#endif