xref: /aoo41x/main/offapi/com/sun/star/ucb/Content.idl (revision bde78562)
1d1766043SAndrew Rist/**************************************************************
2*bde78562SAriel Constenla-Haile *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*bde78562SAriel Constenla-Haile *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*bde78562SAriel Constenla-Haile *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19*bde78562SAriel Constenla-Haile *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22cdf0e10cSrcweir#ifndef __com_sun_star_ucb_Content_idl__
23cdf0e10cSrcweir#define __com_sun_star_ucb_Content_idl__
24cdf0e10cSrcweir
25cdf0e10cSrcweir#include <com/sun/star/ucb/XContent.idl>
26cdf0e10cSrcweir#include <com/sun/star/lang/XComponent.idl>
27cdf0e10cSrcweir#include <com/sun/star/ucb/XCommandProcessor.idl>
28cdf0e10cSrcweir#include <com/sun/star/ucb/XCommandProcessor2.idl>
29cdf0e10cSrcweir#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
30cdf0e10cSrcweir#include <com/sun/star/beans/XPropertyContainer.idl>
31cdf0e10cSrcweir#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
32cdf0e10cSrcweir#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
33cdf0e10cSrcweir#include <com/sun/star/ucb/XContentCreator.idl>
34cdf0e10cSrcweir#include <com/sun/star/container/XChild.idl>
35cdf0e10cSrcweir
36cdf0e10cSrcweirmodule com { module sun { module star { module ucb {
37cdf0e10cSrcweir
38cdf0e10cSrcweir/** A <type>Content</type> is a service that provides access to data of a
39cdf0e10cSrcweir    content provided by an implementation of the service
40cdf0e10cSrcweir    <type>ContentProvider</type>.
41cdf0e10cSrcweir*/
42cdf0e10cSrcweirpublished service Content
43cdf0e10cSrcweir{
44*bde78562SAriel Constenla-Haile
45cdf0e10cSrcweir    /** provides access to the identitity and the type of the content and
46cdf0e10cSrcweir        allows the registration of listeners for <type>ContentEvent</type>s.
47cdf0e10cSrcweir
48cdf0e10cSrcweir        <p>This interface is required.
49cdf0e10cSrcweir     */
50cdf0e10cSrcweir    interface com::sun::star::ucb::XContent;
51cdf0e10cSrcweir
52*bde78562SAriel Constenla-Haile
53cdf0e10cSrcweir    /** must be implemented to make it possible to resolve cyclic object
54cdf0e10cSrcweir        references.
55cdf0e10cSrcweir
56cdf0e10cSrcweir        <p>Those references i.e. may occure if there are listeners
57cdf0e10cSrcweir        registered at the content ( the content holds the listeners ) and
58cdf0e10cSrcweir        the implementation of the listener interface holds a reference on
59cdf0e10cSrcweir        the content. If the content shall be released,
60cdf0e10cSrcweir        <member scope="com::sun::star::lang">XComponent::dispose</member> must
61cdf0e10cSrcweir        be called at the content. The implementation of this method must call
62cdf0e10cSrcweir        <member scope="com::sun::star::lang">XEventListener::disposing</member>
63cdf0e10cSrcweir        on the registered listeners and release the appropriate object
64cdf0e10cSrcweir        references. At the other hand, the implementation of
65cdf0e10cSrcweir        XEventListener::disposing must release its appropriate references.
66cdf0e10cSrcweir
67cdf0e10cSrcweir        <p>This interface is required.
68cdf0e10cSrcweir     */
69cdf0e10cSrcweir    interface com::sun::star::lang::XComponent;
70cdf0e10cSrcweir
71*bde78562SAriel Constenla-Haile
72cdf0e10cSrcweir    /** enables the caller to let the content execute commands.
73cdf0e10cSrcweir
74cdf0e10cSrcweir        <p>It is strongly recommended that any implementation supports the
75cdf0e10cSrcweir        improved <type>XCommandProcessor2</type> interface.</p>
76cdf0e10cSrcweir
77cdf0e10cSrcweir        <p>Typical commands are "open", "delete", "getPropertyValues" and
78cdf0e10cSrcweir        "setPropertyValues". Each content must support a set of standard
79cdf0e10cSrcweir        commands and properties. Also there is a set of predefined optionally
80cdf0e10cSrcweir        commands and properties. A content may define additional commands and
81cdf0e10cSrcweir        properties. </p>
82cdf0e10cSrcweir
83*bde78562SAriel Constenla-Haile        <p>This interface is required.</p>
84*bde78562SAriel Constenla-Haile
85*bde78562SAriel Constenla-Haile        <h3>Commands</h3>
86*bde78562SAriel Constenla-Haile        <h4>Mandatory commands</h4>
87*bde78562SAriel Constenla-Haile
88*bde78562SAriel Constenla-Haile        <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
89*bde78562SAriel Constenla-Haile            <thead>
90*bde78562SAriel Constenla-Haile                <tr>
91*bde78562SAriel Constenla-Haile                    <th>Command Name</th>
92*bde78562SAriel Constenla-Haile                    <th>Return Type</th>
93*bde78562SAriel Constenla-Haile                    <th>Parameters</th>
94*bde78562SAriel Constenla-Haile                    <th>Description</th>
95*bde78562SAriel Constenla-Haile                </tr>
96*bde78562SAriel Constenla-Haile            </thead>
97*bde78562SAriel Constenla-Haile            <tbody>
98*bde78562SAriel Constenla-Haile                <tr>
99*bde78562SAriel Constenla-Haile                    <td>getCommandInfo</td>
100*bde78562SAriel Constenla-Haile                    <td><type>XCommandInfo</type></td>
101*bde78562SAriel Constenla-Haile                    <td>void</td>
102*bde78562SAriel Constenla-Haile                    <td>This command obtains an interface which allows to query
103*bde78562SAriel Constenla-Haile                        information on commands supported by a content.
104*bde78562SAriel Constenla-Haile                    </td>
105*bde78562SAriel Constenla-Haile                </tr>
106*bde78562SAriel Constenla-Haile                <tr>
107*bde78562SAriel Constenla-Haile                    <td>getPropertySetInfo</td>
108*bde78562SAriel Constenla-Haile                    <td><type scope="com::sun::star::beans">XPropertySetInfo</type></td>
109*bde78562SAriel Constenla-Haile                    <td>void</td>
110*bde78562SAriel Constenla-Haile                    <td>This command obtains an interface which allows to query
111*bde78562SAriel Constenla-Haile                        information on properties supported by a content.
112*bde78562SAriel Constenla-Haile                    </td>
113*bde78562SAriel Constenla-Haile                </tr>
114*bde78562SAriel Constenla-Haile                <tr>
115*bde78562SAriel Constenla-Haile                    <td>getPropertyValues</td>
116*bde78562SAriel Constenla-Haile                    <td><type scope="com::sun::star::sdbc">XRow</type></td>
117*bde78562SAriel Constenla-Haile                    <td>sequence&lt; <type scope="com::sun::star::beans">Property</type> &gt; aProps</td>
118*bde78562SAriel Constenla-Haile                    <td>This command obtains property values from the content.
119*bde78562SAriel Constenla-Haile                        <blockquote>
120*bde78562SAriel Constenla-Haile                            <b>Note</b>: The execution will not be aborted, if there
121*bde78562SAriel Constenla-Haile                            are properties requested, that are unknown to the
122*bde78562SAriel Constenla-Haile                            content. The returned row object must contain a NULL
123*bde78562SAriel Constenla-Haile                            value in the corresponding column instead.
124*bde78562SAriel Constenla-Haile                        </blockquote>
125*bde78562SAriel Constenla-Haile                    </td>
126*bde78562SAriel Constenla-Haile                </tr>
127*bde78562SAriel Constenla-Haile                <tr>
128*bde78562SAriel Constenla-Haile                    <td>setPropertyValues</td>
129*bde78562SAriel Constenla-Haile                    <td>sequence&lt; any &gt;</td>
130*bde78562SAriel Constenla-Haile                    <td>sequence&lt; <type scope="com::sun::star::beans">PropertyValue</type> &gt; aValues</td>
131*bde78562SAriel Constenla-Haile                    <td>This command sets property values of the content.
132*bde78562SAriel Constenla-Haile                        <p>Note that setPropertyValues does not throw an exception in the case
133*bde78562SAriel Constenla-Haile                        that one or more of the requested property values cannot be set.
134*bde78562SAriel Constenla-Haile                        The implementation should set as much property values as possible.</p>
135*bde78562SAriel Constenla-Haile
136*bde78562SAriel Constenla-Haile                        <p>This command returns a sequence< any > which has exactly the same number
137*bde78562SAriel Constenla-Haile                        of elements like the number of properties to set. Every sequence
138*bde78562SAriel Constenla-Haile                        element contains the status for a property. The first sequence
139*bde78562SAriel Constenla-Haile                        elements corresponds to the first element in the sequence of
140*bde78562SAriel Constenla-Haile                        <type scope="com::sun::star::beans">PropertyValue</type>s passed as
141*bde78562SAriel Constenla-Haile                        command argument, and so on. The exceptions will never be passed to
142*bde78562SAriel Constenla-Haile                        an <type scope="com::sun::star::task">InteractionHandler</type>.</p>
143*bde78562SAriel Constenla-Haile
144*bde78562SAriel Constenla-Haile                        <p>Every element in the returned sequence is an any containing:</p>
145*bde78562SAriel Constenla-Haile                        <ul>
146*bde78562SAriel Constenla-Haile                            <li>No value indicates, that the property value was set successfully.</li>
147*bde78562SAriel Constenla-Haile                            <li><type scope="com::sun::star::beans">UnknownPropertyException</type>
148*bde78562SAriel Constenla-Haile                            indicates, that the property is not known to the content
149*bde78562SAriel Constenla-Haile                            implementation.</li>
150*bde78562SAriel Constenla-Haile                            <li><type scope="com::sun::star::beans">IllegalTypeException</type>
151*bde78562SAriel Constenla-Haile                            indicates, that the data type of the property value is not
152*bde78562SAriel Constenla-Haile                            acceptable.</li>
153*bde78562SAriel Constenla-Haile                            <li><type scope="com::sun::star::lang">IllegalAccessException</type>
154*bde78562SAriel Constenla-Haile                            indicates, that the property is constant
155*bde78562SAriel Constenla-Haile                            (<member scope="com::sun::star::beans">PropertyAttribute::READONLY</member>
156*bde78562SAriel Constenla-Haile                            is set).</li>
157*bde78562SAriel Constenla-Haile                            <li><type scope="com::sun::star::lang">IllegalArgumentException</type>
158*bde78562SAriel Constenla-Haile                            indicates, that the property value is not acceptable. For instance,
159*bde78562SAriel Constenla-Haile                            setting an empty title may be illegal.</li>
160*bde78562SAriel Constenla-Haile                            <li>Any other execption derived from <type scope="com::sun::star::uno">Exception</type>
161*bde78562SAriel Constenla-Haile                            indicates, that the value was not set successfully. For example,
162*bde78562SAriel Constenla-Haile                            this can be a <type>InteractiveAugmentedIOException</type>
163*bde78562SAriel Constenla-Haile                            transporting the error code <member>IOErrorCode::ACCESS_DENIED</member>.</li>
164*bde78562SAriel Constenla-Haile                        </ul>
165*bde78562SAriel Constenla-Haile
166*bde78562SAriel Constenla-Haile                        <p>If the value to set is equal to the current value, no exception must
167*bde78562SAriel Constenla-Haile                        be added to the returned sequence</p>
168*bde78562SAriel Constenla-Haile                    </td>
169*bde78562SAriel Constenla-Haile                </tr>
170*bde78562SAriel Constenla-Haile            </tbody>
171*bde78562SAriel Constenla-Haile        </table>
172*bde78562SAriel Constenla-Haile
173*bde78562SAriel Constenla-Haile        <h4>Optional commands</h4>
174*bde78562SAriel Constenla-Haile        <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
175*bde78562SAriel Constenla-Haile            <thead>
176*bde78562SAriel Constenla-Haile                <tr>
177*bde78562SAriel Constenla-Haile                    <th>Command Name</th>
178*bde78562SAriel Constenla-Haile                    <th>Return Type</th>
179*bde78562SAriel Constenla-Haile                    <th>Parameters</th>
180*bde78562SAriel Constenla-Haile                    <th>Description</th>
181*bde78562SAriel Constenla-Haile                </tr>
182*bde78562SAriel Constenla-Haile            </thead>
183*bde78562SAriel Constenla-Haile            <tbody>
184*bde78562SAriel Constenla-Haile                <tr>
185*bde78562SAriel Constenla-Haile                    <td>open</td>
186*bde78562SAriel Constenla-Haile                    <td><type>XDynamicResultSet</type></td>
187*bde78562SAriel Constenla-Haile                    <td><type>OpenCommandArgument2</type> aOpenCommandArg</td>
188*bde78562SAriel Constenla-Haile                    <td>
189*bde78562SAriel Constenla-Haile                        For <b>folder</b> objects, this command will return an
190*bde78562SAriel Constenla-Haile                        implementation of service <type>DynamicResultSet</type>.
191*bde78562SAriel Constenla-Haile                        <p>The <type>OpenCommandArgument2</type> members must be
192*bde78562SAriel Constenla-Haile                        filled as follows:</p>
193*bde78562SAriel Constenla-Haile                        <ul>
194*bde78562SAriel Constenla-Haile                            <li><member scope="com::sun::star::ucb">OpenCommandArgument::Mode</member>:
195*bde78562SAriel Constenla-Haile                                <const scope="com::sun::star::ucb">OpenMode::ALL</const> or
196*bde78562SAriel Constenla-Haile                                <const scope="com::sun::star::ucb">OpenMode::FOLDERS</const> or
197*bde78562SAriel Constenla-Haile                                <const scope="com::sun::star::ucb">OpenMode::DOCUMENTS</const>.
198*bde78562SAriel Constenla-Haile                                The implementation of the open command MUST support all these modes!
199*bde78562SAriel Constenla-Haile                            </li>
200*bde78562SAriel Constenla-Haile                            <li><member scope="com::sun::star::ucb">OpenCommandArgument::Priority</member>:
201*bde78562SAriel Constenla-Haile                                can be set, but implementation may ignore the value
202*bde78562SAriel Constenla-Haile                            </li>
203*bde78562SAriel Constenla-Haile                            <li><member scope="com::sun::star::ucb">OpenCommandArgument::Sink</member>:
204*bde78562SAriel Constenla-Haile                                empty( ignored )
205*bde78562SAriel Constenla-Haile                            </li>
206*bde78562SAriel Constenla-Haile                            <li><member scope="com::sun::star::ucb">OpenCommandArgument::Properties</member>:
207*bde78562SAriel Constenla-Haile                                The properties for which the result set shall
208*bde78562SAriel Constenla-Haile                                contain the property values. The order of the
209*bde78562SAriel Constenla-Haile                                sequence is the same as the order of result set
210*bde78562SAriel Constenla-Haile                                columns. First element of sequence will be row
211*bde78562SAriel Constenla-Haile                                number one, second will be row number two, ...
212*bde78562SAriel Constenla-Haile                            </li>
213*bde78562SAriel Constenla-Haile                            <li><member scope="com::sun::star::ucb">OpenCommandArgument2::SortingInfo</member>:
214*bde78562SAriel Constenla-Haile                                contains sort criteria, if result set shall
215*bde78562SAriel Constenla-Haile                                be sorted, otherwise it can be left empty.
216*bde78562SAriel Constenla-Haile                            </li>
217*bde78562SAriel Constenla-Haile                        </ul>
218*bde78562SAriel Constenla-Haile                        The exceution must be aborted by the implementation of this command
219*bde78562SAriel Constenla-Haile                        (by throwing a <type>CommandAbortedException</type>), if an
220*bde78562SAriel Constenla-Haile                        unsupported mode is requested.
221*bde78562SAriel Constenla-Haile                    </td>
222*bde78562SAriel Constenla-Haile                </tr>
223*bde78562SAriel Constenla-Haile                <tr>
224*bde78562SAriel Constenla-Haile                    <td>open</td>
225*bde78562SAriel Constenla-Haile                    <td>void</td>
226*bde78562SAriel Constenla-Haile                    <td><type>OpenCommandArgument2</type> aOpenCommandArg</td>
227*bde78562SAriel Constenla-Haile                    <td>For non-folder objects, the <type>OpenCommandArgument2</type>
228*bde78562SAriel Constenla-Haile                        struct will be prefilled with a data sink object, which
229*bde78562SAriel Constenla-Haile                        will be filled with the content data.
230*bde78562SAriel Constenla-Haile                        <p>The <type>OpenCommandArgument2</type> members must be
231*bde78562SAriel Constenla-Haile                        filled as follows:</p>
232*bde78562SAriel Constenla-Haile                        <ul>
233*bde78562SAriel Constenla-Haile                            <li><member scope="com::sun::star::ucb">OpenCommandArgument::Mode</member>:
234*bde78562SAriel Constenla-Haile                                <const scope="com::sun::star::ucb">OpenMode::DOCUMENT</const> or
235*bde78562SAriel Constenla-Haile                                <const scope="com::sun::star::ucb">OpenMode::DOCUMENT_SHARE_DENY_NONE</const> or
236*bde78562SAriel Constenla-Haile                                <const scope="com::sun::star::ucb">OpenMode::DOCUMENT_SHARE_DENY_WRITE</const>.
237*bde78562SAriel Constenla-Haile                                Support for DOCUMENT is mandatory, all others are optional.
238*bde78562SAriel Constenla-Haile                            </li>
239*bde78562SAriel Constenla-Haile                            <li><member scope="com::sun::star::ucb">OpenCommandArgument::Priority</member>:
240*bde78562SAriel Constenla-Haile                                can be set, but implementation may ignore the value
241*bde78562SAriel Constenla-Haile                            </li>
242*bde78562SAriel Constenla-Haile                            <li><member scope="com::sun::star::ucb">OpenCommandArgument::Sink</member>:
243*bde78562SAriel Constenla-Haile                                a sink, where the implementation can put the document data into.
244*bde78562SAriel Constenla-Haile                            </li>
245*bde78562SAriel Constenla-Haile                            <li><member scope="com::sun::star::ucb">OpenCommandArgument::Properties</member>: empty ( ignored )</li>
246*bde78562SAriel Constenla-Haile                            <li><member scope="com::sun::star::ucb">OpenCommandArgument2::SortingInfo</member>: empty ( ignored )</li>
247*bde78562SAriel Constenla-Haile                        </ul>
248*bde78562SAriel Constenla-Haile                        <p>The exceution must be aborted by the implementation of this command
249*bde78562SAriel Constenla-Haile                        (by throwing a <type>CommandAbortedException</type>), if an
250*bde78562SAriel Constenla-Haile                        unsupported mode is requested.</p>
251*bde78562SAriel Constenla-Haile                    </td>
252*bde78562SAriel Constenla-Haile                </tr>
253*bde78562SAriel Constenla-Haile                <tr>
254*bde78562SAriel Constenla-Haile                    <td>createNewContent</td>
255*bde78562SAriel Constenla-Haile                    <td><type>XContent</type></td>
256*bde78562SAriel Constenla-Haile                    <td><type>ContentInfo</type> contentinfo</td>
257*bde78562SAriel Constenla-Haile                    <td>
258*bde78562SAriel Constenla-Haile                        This command creates a new <b>non-persistent</b> content of a given type.
259*bde78562SAriel Constenla-Haile                        <p>This command must be supported by every <type>Content</type>
260*bde78562SAriel Constenla-Haile                        that supports the property "CreatableContentsInfo", if the returned
261*bde78562SAriel Constenla-Haile                        property value contains a non-empty sequence of creatable types.
262*bde78562SAriel Constenla-Haile                        <blockquote>
263*bde78562SAriel Constenla-Haile                            Note: This command is part of the replacement for the deprecated
264*bde78562SAriel Constenla-Haile                            interface <type>XContentCreator</type>.
265*bde78562SAriel Constenla-Haile                        </blockquote>
266*bde78562SAriel Constenla-Haile                        <p>Creation of a new <b>persistent</b> content:
267*bde78562SAriel Constenla-Haile                        <ol>
268*bde78562SAriel Constenla-Haile                            <li>creatabletypes = obtain "CreatableContentsInfo" property from creator</li>
269*bde78562SAriel Constenla-Haile                            <li>choose a suitable type from creatabletypes</li>
270*bde78562SAriel Constenla-Haile                            <li>newObject = execute command "createNewContent(type)" at creator</li>
271*bde78562SAriel Constenla-Haile                            <li>initialize the new object (i.e. newObject.Property1 = ...)</li>
272*bde78562SAriel Constenla-Haile                            <li>execute command "insert" at new content. This command
273*bde78562SAriel Constenla-Haile                                commits the data and makes the new content persistent.</li>
274*bde78562SAriel Constenla-Haile                        </ol>
275*bde78562SAriel Constenla-Haile                    </td>
276*bde78562SAriel Constenla-Haile                </tr>
277*bde78562SAriel Constenla-Haile                <tr>
278*bde78562SAriel Constenla-Haile                    <td>insert</td>
279*bde78562SAriel Constenla-Haile                    <td>void</td>
280*bde78562SAriel Constenla-Haile                    <td><type>InsertCommandArgument</type> aInsertCommandArg</td>
281*bde78562SAriel Constenla-Haile                    <td>
282*bde78562SAriel Constenla-Haile                        <ol>
283*bde78562SAriel Constenla-Haile                            <li>
284*bde78562SAriel Constenla-Haile                                This command inserts a <b>new content</b>. It commits the process of
285*bde78562SAriel Constenla-Haile                                creating a new content via executing the command "createNewContent"
286*bde78562SAriel Constenla-Haile                                and initializing it via setting properties, afterwards.</br>
287*bde78562SAriel Constenla-Haile                                The command is not called on the content which created the new
288*bde78562SAriel Constenla-Haile                                content, because the new object already knows where it is to be
289*bde78562SAriel Constenla-Haile                                inserted (i.e. Calling createNewContent with the content type for a
290*bde78562SAriel Constenla-Haile                                message on a News Group creates a content which internally belongs
291*bde78562SAriel Constenla-Haile                                to the Outbox. Calling "insert" on that message will result in
292*bde78562SAriel Constenla-Haile                                posting the article to the appropriate News Group). Not calling
293*bde78562SAriel Constenla-Haile                                "insert" for the new content, i.e. because the user cancels writing
294*bde78562SAriel Constenla-Haile                                a new message, simply discards the new object. No extra call to
295*bde78562SAriel Constenla-Haile                                "delete" is necessary.</br>
296*bde78562SAriel Constenla-Haile                                On successful completion of this command, the parent of the inserted
297*bde78562SAriel Constenla-Haile                                content must propagate the change by notifying a
298*bde78562SAriel Constenla-Haile                                <type>ContentEvent</type> - <member>ContentAction::INSERTED</member>.
299*bde78562SAriel Constenla-Haile                            </li>
300*bde78562SAriel Constenla-Haile                            <li>
301*bde78562SAriel Constenla-Haile                                Additionally this command can be called at any time to overwrite
302*bde78562SAriel Constenla-Haile                                the data of an <b>existing content</b>.
303*bde78562SAriel Constenla-Haile                            </li>
304*bde78562SAriel Constenla-Haile                        </ol>
305*bde78562SAriel Constenla-Haile                    </td>
306*bde78562SAriel Constenla-Haile                </tr>
307*bde78562SAriel Constenla-Haile                <tr>
308*bde78562SAriel Constenla-Haile                    <td>update</td>
309*bde78562SAriel Constenla-Haile                    <td>void</td>
310*bde78562SAriel Constenla-Haile                    <td><type>OpenCommandArgument2</type> aOpenCommandArg</td>
311*bde78562SAriel Constenla-Haile                    <td>This command triggers an update operation on a content.
312*bde78562SAriel Constenla-Haile                        For example, when "updating" a POP3-Inbox, the content
313*bde78562SAriel Constenla-Haile                        for that box will get and store all new objects on the
314*bde78562SAriel Constenla-Haile                        appropriate server. The inserted contents will be
315*bde78562SAriel Constenla-Haile                        notified by calling
316*bde78562SAriel Constenla-Haile                        <member>XContentEventListener::contentEvent</member>.
317*bde78562SAriel Constenla-Haile                    </td>
318*bde78562SAriel Constenla-Haile                </tr>
319*bde78562SAriel Constenla-Haile                <tr>
320*bde78562SAriel Constenla-Haile                    <td>synchronize</td>
321*bde78562SAriel Constenla-Haile                    <td>void</td>
322*bde78562SAriel Constenla-Haile                    <td><type>OpenCommandArgument2</type> aOpenCommandArg</td>
323*bde78562SAriel Constenla-Haile                    <td>
324*bde78562SAriel Constenla-Haile                        This command triggers a synchronization operation between locally
325*bde78562SAriel Constenla-Haile                        cached data and remote server's data. For example, when
326*bde78562SAriel Constenla-Haile                        "synchronizing" a POP3-Inbox the content for that box will get and
327*bde78562SAriel Constenla-Haile                        store all new objects and destroy all cached data for objects no
328*bde78562SAriel Constenla-Haile                        longer existing on the server. The inserted/deleted contents will
329*bde78562SAriel Constenla-Haile                        be notified by calling
330*bde78562SAriel Constenla-Haile                        <member>XContent::contentEvent</member>.
331*bde78562SAriel Constenla-Haile                    </td>
332*bde78562SAriel Constenla-Haile                </tr>
333*bde78562SAriel Constenla-Haile                <tr>
334*bde78562SAriel Constenla-Haile                    <td>close</td>
335*bde78562SAriel Constenla-Haile                    <td>void</td>
336*bde78562SAriel Constenla-Haile                    <td>void</td>
337*bde78562SAriel Constenla-Haile                    <td>This command closes an object.</td>
338*bde78562SAriel Constenla-Haile                </tr>
339*bde78562SAriel Constenla-Haile                <tr>
340*bde78562SAriel Constenla-Haile                    <td>delete</td>
341*bde78562SAriel Constenla-Haile                    <td>void</td>
342*bde78562SAriel Constenla-Haile                    <td>boolean bDeletePhysically</td>
343*bde78562SAriel Constenla-Haile                    <td>
344*bde78562SAriel Constenla-Haile                        This command deletes an object. If <TRUE/> is passed as parameter,
345*bde78562SAriel Constenla-Haile                        the object will be destroyed physically. Otherwise it will be put
346*bde78562SAriel Constenla-Haile                        into trash can, if such a service is available and the object to
347*bde78562SAriel Constenla-Haile                        be deleted supports the command "undelete".
348*bde78562SAriel Constenla-Haile                        On successful completion of this command, the deleted content
349*bde78562SAriel Constenla-Haile                        must propagate its deletion by notifying a <type>ContentEvent</type>
350*bde78562SAriel Constenla-Haile                        - <member>ContentAction::DELETED</member>. Additionally, the contents
351*bde78562SAriel Constenla-Haile                        parent must notify a <type>ContentEvent</type>
352*bde78562SAriel Constenla-Haile                        - <member>ContentAction::REMOVED</member>
353*bde78562SAriel Constenla-Haile                    </td>
354*bde78562SAriel Constenla-Haile                </tr>
355*bde78562SAriel Constenla-Haile                <tr>
356*bde78562SAriel Constenla-Haile                    <td>undelete</td>
357*bde78562SAriel Constenla-Haile                    <td>void</td>
358*bde78562SAriel Constenla-Haile                    <td>void</td>
359*bde78562SAriel Constenla-Haile                    <td>
360*bde78562SAriel Constenla-Haile                        This command restores an object previously deleted into trash. It
361*bde78562SAriel Constenla-Haile                        must be supported by objects which claim to be undeletable, but
362*bde78562SAriel Constenla-Haile                        should never be called directly.
363*bde78562SAriel Constenla-Haile                    </td>
364*bde78562SAriel Constenla-Haile                </tr>
365*bde78562SAriel Constenla-Haile                <tr>
366*bde78562SAriel Constenla-Haile                    <td>search</td>
367*bde78562SAriel Constenla-Haile                    <td><type>XDynamicResultSet</type></td>
368*bde78562SAriel Constenla-Haile                    <td><type>SearchCommandArgument</type> aSearchCommandArg</td>
369*bde78562SAriel Constenla-Haile                    <td>
370*bde78562SAriel Constenla-Haile                        This command searches for subcontents of a content matching the
371*bde78562SAriel Constenla-Haile                        given search criteria. The command will return an implemenation
372*bde78562SAriel Constenla-Haile                        of service <type>DynamicResultSet</type>.
373*bde78562SAriel Constenla-Haile                    </td>
374*bde78562SAriel Constenla-Haile                </tr>
375*bde78562SAriel Constenla-Haile                <tr>
376*bde78562SAriel Constenla-Haile                    <td>transfer</td>
377*bde78562SAriel Constenla-Haile                    <td>void</td>
378*bde78562SAriel Constenla-Haile                    <td><type>TransferInfo</type> aTransferInfo</td>
379*bde78562SAriel Constenla-Haile                    <td>
380*bde78562SAriel Constenla-Haile                        <blockquote>
381*bde78562SAriel Constenla-Haile                            <b>Important note:</b> A client that wants to transfer data should
382*bde78562SAriel Constenla-Haile                            not execute this command, but it should execute the command
383*bde78562SAriel Constenla-Haile                            "globalTransfer" at the <type>UniversalContentBroker</type>.
384*bde78562SAriel Constenla-Haile                            This command is able to transfer all kind of content
385*bde78562SAriel Constenla-Haile                            supported by that UCB.
386*bde78562SAriel Constenla-Haile                        </blockquote>
387*bde78562SAriel Constenla-Haile                        This command transfers (copies/moves) an object from one location
388*bde78562SAriel Constenla-Haile                        to another. It must be executed at the folder content representing
389*bde78562SAriel Constenla-Haile                        the <b>destination</b> of the transfer operation.</br>
390*bde78562SAriel Constenla-Haile                        Note that the implementation need not be able to handle
391*bde78562SAriel Constenla-Haile                        any type of contents.</br>
392*bde78562SAriel Constenla-Haile                        Generally, there are good chances that a transfer of a content will
393*bde78562SAriel Constenla-Haile                        succeed, if source and target folder have the same URL scheme.
394*bde78562SAriel Constenla-Haile                        But there is no guaranty for that.</br>
395*bde78562SAriel Constenla-Haile                        For instance, moving a message from a folder on IMAP server A
396*bde78562SAriel Constenla-Haile                        to a folder on IMAP server B may fail, because the transfer
397*bde78562SAriel Constenla-Haile                        command can't be implemented efficiently for this scenario,
398*bde78562SAriel Constenla-Haile                        because it is not directly supported by the IMAP protocol.
399*bde78562SAriel Constenla-Haile                        On the other hand, moving a message from one folder to
400*bde78562SAriel Constenla-Haile                        another folder on the same IMAP server should work, because it can
401*bde78562SAriel Constenla-Haile                        be implemeted efficiently.</br>
402*bde78562SAriel Constenla-Haile                        If an implementation is not able to handle a given source URL,
403*bde78562SAriel Constenla-Haile                        it should indicate this by issuing a
404*bde78562SAriel Constenla-Haile                        <type>InteractiveBadTransferURLException</type> interaction request.</br>
405*bde78562SAriel Constenla-Haile                        Source and target folder may be the same when doing a move operation.
406*bde78562SAriel Constenla-Haile                        </br>
407*bde78562SAriel Constenla-Haile                        Transfers without the transfer command can be done as follows:
408*bde78562SAriel Constenla-Haile                        <ol>
409*bde78562SAriel Constenla-Haile                            <li>Create a new content at the target folder</br>
410*bde78562SAriel Constenla-Haile                            <code>targetContent = target.execute( "createNewContent", type )</code>
411*bde78562SAriel Constenla-Haile                            </li>
412*bde78562SAriel Constenla-Haile                            <li>Transfer data from source to target content</br>
413*bde78562SAriel Constenla-Haile                            <code>props = sourceContent.execute( "getPropertyValues", ... )</code>
414*bde78562SAriel Constenla-Haile                            <code>dataStream = sourceContent.execute( "open", ... )</code>
415*bde78562SAriel Constenla-Haile                            <code>targetContent.execute( "setPropertyValues", props )</code>
416*bde78562SAriel Constenla-Haile                            </li>
417*bde78562SAriel Constenla-Haile                            <li>Insert ( commit ) the new content</br>
418*bde78562SAriel Constenla-Haile                            <code>targetContent.execute( "insert", dataStream )</code>
419*bde78562SAriel Constenla-Haile                            </li>
420*bde78562SAriel Constenla-Haile                            <li>For move operations only: destroy the source content</br>
421*bde78562SAriel Constenla-Haile                            <code>sourceContent.execute( "delete", ... )</code>
422*bde78562SAriel Constenla-Haile                            </li>
423*bde78562SAriel Constenla-Haile                        </ol>
424*bde78562SAriel Constenla-Haile                        <p>This mechanism should work for all transfer operations, but generally
425*bde78562SAriel Constenla-Haile                        it's less efficient than the transfer command.</p>
426*bde78562SAriel Constenla-Haile                    </td>
427*bde78562SAriel Constenla-Haile                </tr>
428*bde78562SAriel Constenla-Haile                <tr>
429*bde78562SAriel Constenla-Haile                    <td>lock</td>
430*bde78562SAriel Constenla-Haile                    <td>void</td>
431*bde78562SAriel Constenla-Haile                    <td>void</td>
432*bde78562SAriel Constenla-Haile                    <td>
433*bde78562SAriel Constenla-Haile                        This command obtains an exlusive write lock for the resource. The
434*bde78562SAriel Constenla-Haile                        lock is active until command "unlock" is executed, or the OOo
435*bde78562SAriel Constenla-Haile                        session that obtained the lock ends, or until the lock is released by
436*bde78562SAriel Constenla-Haile                        a third party (e.g. a system administrator).</br>
437*bde78562SAriel Constenla-Haile                        Exceptions:
438*bde78562SAriel Constenla-Haile                        <ul>
439*bde78562SAriel Constenla-Haile                            <li><type>InteractiveLockingLockedException</type></li>
440*bde78562SAriel Constenla-Haile                            <li><type>InteractiveLockingLockExpiredException</type></li>
441*bde78562SAriel Constenla-Haile                        </ul>
442*bde78562SAriel Constenla-Haile                    </td>
443*bde78562SAriel Constenla-Haile                </tr>
444*bde78562SAriel Constenla-Haile                <tr>
445*bde78562SAriel Constenla-Haile                    <td>unlock</td>
446*bde78562SAriel Constenla-Haile                    <td>void</td>
447*bde78562SAriel Constenla-Haile                    <td>void</td>
448*bde78562SAriel Constenla-Haile                    <td>
449*bde78562SAriel Constenla-Haile                        This command removes a lock obtained by executing the command "lock"
450*bde78562SAriel Constenla-Haile                        from the resource.</br>
451*bde78562SAriel Constenla-Haile                        <p>Exceptions:
452*bde78562SAriel Constenla-Haile                        <ul>
453*bde78562SAriel Constenla-Haile                            <li><type>InteractiveLockingLockedException</type></li>
454*bde78562SAriel Constenla-Haile                            <li><type>InteractiveLockingLockExpiredException</type></li>
455*bde78562SAriel Constenla-Haile                        </ul>
456*bde78562SAriel Constenla-Haile                        </p>
457*bde78562SAriel Constenla-Haile                        <p>Note that <type>InteractiveLockingLockExpiredException</type> might
458*bde78562SAriel Constenla-Haile                        be raised by any command that requires a previously obtained lock.
459*bde78562SAriel Constenla-Haile                        </p>
460*bde78562SAriel Constenla-Haile                    </td>
461*bde78562SAriel Constenla-Haile                </tr>
462*bde78562SAriel Constenla-Haile            </tbody>
463*bde78562SAriel Constenla-Haile        </table>
464*bde78562SAriel Constenla-Haile
465*bde78562SAriel Constenla-Haile        <h3>Properties</h3>
466*bde78562SAriel Constenla-Haile        <h4>Mandatory properties</h4>
467*bde78562SAriel Constenla-Haile
468*bde78562SAriel Constenla-Haile        <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
469*bde78562SAriel Constenla-Haile            <thead>
470*bde78562SAriel Constenla-Haile                <tr>
471*bde78562SAriel Constenla-Haile                    <th>Name</th>
472*bde78562SAriel Constenla-Haile                    <th>Type</th>
473*bde78562SAriel Constenla-Haile                    <th>Description</th>
474*bde78562SAriel Constenla-Haile                </tr>
475*bde78562SAriel Constenla-Haile            </thead>
476*bde78562SAriel Constenla-Haile            <tbody>
477*bde78562SAriel Constenla-Haile                <tr>
478*bde78562SAriel Constenla-Haile                    <td>ContentType</td>
479*bde78562SAriel Constenla-Haile                    <td>string</td>
480*bde78562SAriel Constenla-Haile                    <td>
481*bde78562SAriel Constenla-Haile                        contains a unique type string for the content
482*bde78562SAriel Constenla-Haile                        ( i.e. "application/vnd.sun.star.hierarchy-link" ).
483*bde78562SAriel Constenla-Haile                        <p>This property is always read-only.</p>
484*bde78562SAriel Constenla-Haile                        <p>The ContentType should not be confused with the MIME
485*bde78562SAriel Constenla-Haile                        media type ( MIME types ) of the content. Media types
486*bde78562SAriel Constenla-Haile                        may be provided through the optional property "MediaType".</p>
487*bde78562SAriel Constenla-Haile                        <p>The value of this property should match the information on creatable
488*bde78562SAriel Constenla-Haile                        contents given by UCB contents that implement the property
489*bde78562SAriel Constenla-Haile                        "CreatableContentsInfo".</p>
490*bde78562SAriel Constenla-Haile                    </td>
491*bde78562SAriel Constenla-Haile                </tr>
492*bde78562SAriel Constenla-Haile                <tr>
493*bde78562SAriel Constenla-Haile                    <td>IsFolder</td>
494*bde78562SAriel Constenla-Haile                    <td>boolean</td>
495*bde78562SAriel Constenla-Haile                    <td>indicates, whether a content can contain other contents.</td>
496*bde78562SAriel Constenla-Haile                </tr>
497*bde78562SAriel Constenla-Haile                <tr>
498*bde78562SAriel Constenla-Haile                    <td>IsDocument</td>
499*bde78562SAriel Constenla-Haile                    <td>boolean</td>
500*bde78562SAriel Constenla-Haile                    <td>indicates, whether a content is a document. This means,
501*bde78562SAriel Constenla-Haile                        the content can dump itself into a data sink.
502*bde78562SAriel Constenla-Haile                    </td>
503*bde78562SAriel Constenla-Haile                </tr>
504*bde78562SAriel Constenla-Haile                <tr>
505*bde78562SAriel Constenla-Haile                    <td>Title</td>
506*bde78562SAriel Constenla-Haile                    <td>string</td>
507*bde78562SAriel Constenla-Haile                    <td>contains the title of an object (e.g. the subject of a message).</td>
508*bde78562SAriel Constenla-Haile                </tr>
509*bde78562SAriel Constenla-Haile            </tbody>
510*bde78562SAriel Constenla-Haile        </table>
511*bde78562SAriel Constenla-Haile
512*bde78562SAriel Constenla-Haile        <h4>Optional properties</h4>
513*bde78562SAriel Constenla-Haile
514*bde78562SAriel Constenla-Haile        <table style="border-width: 1px; border-spacing: 0px; border-style: solid; border-color: gray; border-collapse: collapse; background-color: white;" class="devdoc">
515*bde78562SAriel Constenla-Haile            <thead>
516*bde78562SAriel Constenla-Haile                <tr>
517*bde78562SAriel Constenla-Haile                    <th>Name</th>
518*bde78562SAriel Constenla-Haile                    <th>Type</th>
519*bde78562SAriel Constenla-Haile                    <th>Description</th>
520*bde78562SAriel Constenla-Haile                </tr>
521*bde78562SAriel Constenla-Haile            </thead>
522*bde78562SAriel Constenla-Haile            <tbody>
523*bde78562SAriel Constenla-Haile                <tr>
524*bde78562SAriel Constenla-Haile                    <td>AutoUpdateInterval</td>
525*bde78562SAriel Constenla-Haile                    <td>long</td>
526*bde78562SAriel Constenla-Haile                    <td>contains the interval for automatic updates of an object.
527*bde78562SAriel Constenla-Haile                        It is specified in seconds.
528*bde78562SAriel Constenla-Haile                    </td>
529*bde78562SAriel Constenla-Haile                </tr>
530*bde78562SAriel Constenla-Haile                <tr>
531*bde78562SAriel Constenla-Haile                    <td>ConnectionLimit</td>
532*bde78562SAriel Constenla-Haile                    <td>short</td>
533*bde78562SAriel Constenla-Haile                    <td>contains the maximum number of network connections
534*bde78562SAriel Constenla-Haile                        allowed for one (internet) protocol at a time. (e.g. The HTTP
535*bde78562SAriel Constenla-Haile                        cache can be configured to use a maximum for the number of
536*bde78562SAriel Constenla-Haile                        connections used for browsing.)
537*bde78562SAriel Constenla-Haile                    </td>
538*bde78562SAriel Constenla-Haile                </tr>
539*bde78562SAriel Constenla-Haile                <tr>
540*bde78562SAriel Constenla-Haile                    <td>ConnectionMode</td>
541*bde78562SAriel Constenla-Haile                    <td>short</td>
542*bde78562SAriel Constenla-Haile                    <td>contains the current connection mode for the object.
543*bde78562SAriel Constenla-Haile                        (see <type>ConnectionMode</type>)
544*bde78562SAriel Constenla-Haile                    </td>
545*bde78562SAriel Constenla-Haile                </tr>
546*bde78562SAriel Constenla-Haile                <tr>
547*bde78562SAriel Constenla-Haile                    <td>CreatableContentsInfo</td>
548*bde78562SAriel Constenla-Haile                    <td>sequence <type>ContentInfo</type></td>
549*bde78562SAriel Constenla-Haile                    <td>
550*bde78562SAriel Constenla-Haile                        contains the types of Contents a Content object can create via
551*bde78562SAriel Constenla-Haile                        command "createNewContent".
552*bde78562SAriel Constenla-Haile                        <p>If the property value can be a non-empty sequence, the
553*bde78562SAriel Constenla-Haile                        Content must also support command "createNewContent".</p>
554*bde78562SAriel Constenla-Haile                        <blockquote>
555*bde78562SAriel Constenla-Haile                            Note: This property is part of the replacement for the deprecated
556*bde78562SAriel Constenla-Haile                            interface <type>XContentCreator</type>.
557*bde78562SAriel Constenla-Haile                        </blockquote>
558*bde78562SAriel Constenla-Haile                    </td>
559*bde78562SAriel Constenla-Haile                </tr>
560*bde78562SAriel Constenla-Haile                <tr>
561*bde78562SAriel Constenla-Haile                    <td>DateCreated</td>
562*bde78562SAriel Constenla-Haile                    <td><type scope"com::sun::star::util">DateTime</type></td>
563*bde78562SAriel Constenla-Haile                    <td>contains the date and time the object was created.</td>
564*bde78562SAriel Constenla-Haile                </tr>
565*bde78562SAriel Constenla-Haile                <tr>
566*bde78562SAriel Constenla-Haile                    <td>DateModified</td>
567*bde78562SAriel Constenla-Haile                    <td><type scope"com::sun::star::util">DateTime</type></td>
568*bde78562SAriel Constenla-Haile                    <td>contains the date and time the object was last modified.</td>
569*bde78562SAriel Constenla-Haile                </tr>
570*bde78562SAriel Constenla-Haile                <tr>
571*bde78562SAriel Constenla-Haile                    <td>DocumentCount</td>
572*bde78562SAriel Constenla-Haile                    <td>long</td>
573*bde78562SAriel Constenla-Haile                    <td>contains the count of documents of a folder.</td>
574*bde78562SAriel Constenla-Haile                </tr>
575*bde78562SAriel Constenla-Haile                <tr>
576*bde78562SAriel Constenla-Haile                    <td>DocumentCountMarked</td>
577*bde78562SAriel Constenla-Haile                    <td>long</td>
578*bde78562SAriel Constenla-Haile                    <td>contains the count of marked documents within a folder.</td>
579*bde78562SAriel Constenla-Haile                </tr>
580*bde78562SAriel Constenla-Haile                <tr>
581*bde78562SAriel Constenla-Haile                    <td>DocumentHeader</td>
582*bde78562SAriel Constenla-Haile                    <td>sequence&lt; <type>DocumentHeaderField</type> &gt; </td>
583*bde78562SAriel Constenla-Haile                    <td>contains a sequence of documemt header fields (i.e. header
584*bde78562SAriel Constenla-Haile                        fields of a MIME-message, or the document info of an
585*bde78562SAriel Constenla-Haile                        office document ). For some standard header fields there
586*bde78562SAriel Constenla-Haile                        are predefined separate properties, like &quot;MessageTo&quot;.
587*bde78562SAriel Constenla-Haile                    </td>
588*bde78562SAriel Constenla-Haile                </tr>
589*bde78562SAriel Constenla-Haile                <tr>
590*bde78562SAriel Constenla-Haile                    <td>DocumentStoreMode</td>
591*bde78562SAriel Constenla-Haile                    <td><type>DocumentStoreMode</type></td>
592*bde78562SAriel Constenla-Haile                    <td>contains information about the way a folder stores the
593*bde78562SAriel Constenla-Haile                        contents of (remote) documents.
594*bde78562SAriel Constenla-Haile                    </td>
595*bde78562SAriel Constenla-Haile                </tr>
596*bde78562SAriel Constenla-Haile                <tr>
597*bde78562SAriel Constenla-Haile                    <td>FolderCount</td>
598*bde78562SAriel Constenla-Haile                    <td>long</td>
599*bde78562SAriel Constenla-Haile                    <td>contains the count of subfolders of a folder.</td>
600*bde78562SAriel Constenla-Haile                </tr>
601*bde78562SAriel Constenla-Haile                <tr>
602*bde78562SAriel Constenla-Haile                    <td>FreeSpace</td>
603*bde78562SAriel Constenla-Haile                    <td>hyper</td>
604*bde78562SAriel Constenla-Haile                    <td>contains the free space left on a storage device. It is
605*bde78562SAriel Constenla-Haile                        specified in bytes.</td>
606*bde78562SAriel Constenla-Haile                </tr>
607*bde78562SAriel Constenla-Haile                <tr>
608*bde78562SAriel Constenla-Haile                    <td>HasDocuments</td>
609*bde78562SAriel Constenla-Haile                    <td>boolean</td>
610*bde78562SAriel Constenla-Haile                    <td>indicates whether a content has subcontents, which are documents.</td>
611*bde78562SAriel Constenla-Haile                </tr>
612*bde78562SAriel Constenla-Haile                <tr>
613*bde78562SAriel Constenla-Haile                    <td>HasFolders</td>
614*bde78562SAriel Constenla-Haile                    <td>boolean</td>
615*bde78562SAriel Constenla-Haile                    <td>indicates whether a content has subcontents, which are folders.</td>
616*bde78562SAriel Constenla-Haile                </tr>
617*bde78562SAriel Constenla-Haile                <tr>
618*bde78562SAriel Constenla-Haile                    <td>IsMarked</td>
619*bde78562SAriel Constenla-Haile                    <td>boolean</td>
620*bde78562SAriel Constenla-Haile                    <td>indicates whether a content is &quot;marked&quot;.</td>
621*bde78562SAriel Constenla-Haile                </tr>
622*bde78562SAriel Constenla-Haile                <tr>
623*bde78562SAriel Constenla-Haile                    <td>IsRead</td>
624*bde78562SAriel Constenla-Haile                    <td>boolean</td>
625*bde78562SAriel Constenla-Haile                    <td>indicates whether a content has been "read".</td>
626*bde78562SAriel Constenla-Haile                </tr>
627*bde78562SAriel Constenla-Haile                <tr>
628*bde78562SAriel Constenla-Haile                    <td>IsReadOnly</td>
629*bde78562SAriel Constenla-Haile                    <td>boolean</td>
630*bde78562SAriel Constenla-Haile                    <td>indicates whether a content is read-only.</td>
631*bde78562SAriel Constenla-Haile                </tr>
632*bde78562SAriel Constenla-Haile                <tr>
633*bde78562SAriel Constenla-Haile                    <td>IsSubscribed</td>
634*bde78562SAriel Constenla-Haile                    <td>boolean</td>
635*bde78562SAriel Constenla-Haile                    <td>indicates whether a content is subscribed.</td>
636*bde78562SAriel Constenla-Haile                </tr>
637*bde78562SAriel Constenla-Haile                <tr>
638*bde78562SAriel Constenla-Haile                    <td>IsTimeLimitedStore</td>
639*bde78562SAriel Constenla-Haile                    <td>boolean</td>
640*bde78562SAriel Constenla-Haile                    <td>indicates whether the feature to store contents
641*bde78562SAriel Constenla-Haile                        depending on their age is active.</td>
642*bde78562SAriel Constenla-Haile                </tr>
643*bde78562SAriel Constenla-Haile                <tr>
644*bde78562SAriel Constenla-Haile                    <td>UpdateOnOpen</td>
645*bde78562SAriel Constenla-Haile                    <td>boolean</td>
646*bde78562SAriel Constenla-Haile                    <td>indicates whether (sub)contents shall be automatically updated
647*bde78562SAriel Constenla-Haile                        everytime a (folder) content is opened.</br>This property may be
648*bde78562SAriel Constenla-Haile                        used to control whether a folder content should read data only
649*bde78562SAriel Constenla-Haile                        from local cache when it is opened, or whether it should connect
650*bde78562SAriel Constenla-Haile                        to a server to obtain latest data.</td>
651*bde78562SAriel Constenla-Haile                </tr>
652*bde78562SAriel Constenla-Haile                <tr>
653*bde78562SAriel Constenla-Haile                    <td>Keywords</td>
654*bde78562SAriel Constenla-Haile                    <td>string</td>
655*bde78562SAriel Constenla-Haile                    <td>contains the keywords of a document (e.g. the value
656*bde78562SAriel Constenla-Haile                        of the &quot;keywords&quot; header field of a news article).</td>
657*bde78562SAriel Constenla-Haile                </tr>
658*bde78562SAriel Constenla-Haile                <tr>
659*bde78562SAriel Constenla-Haile                    <td>MediaType</td>
660*bde78562SAriel Constenla-Haile                    <td>string</td>
661*bde78562SAriel Constenla-Haile                    <td>contains the media type ( MIME type ) of a content. It is highly
662*bde78562SAriel Constenla-Haile                        recommended to support this property if the content's implementation
663*bde78562SAriel Constenla-Haile                        can obtain the media type natively from its data source ( i.e.
664*bde78562SAriel Constenla-Haile                        HTTP servers provide media types for all their documents ).
665*bde78562SAriel Constenla-Haile                    </td>
666*bde78562SAriel Constenla-Haile                </tr>
667*bde78562SAriel Constenla-Haile                <tr>
668*bde78562SAriel Constenla-Haile                    <td>MessageBCC</td>
669*bde78562SAriel Constenla-Haile                    <td>string</td>
670*bde78562SAriel Constenla-Haile                    <td>contains the BCC (blind carbon copy) receiver(s) of a message.</td>
671*bde78562SAriel Constenla-Haile                </tr>
672*bde78562SAriel Constenla-Haile                <tr>
673*bde78562SAriel Constenla-Haile                    <td>MessageCC</td>
674*bde78562SAriel Constenla-Haile                    <td>string</td>
675*bde78562SAriel Constenla-Haile                    <td>contains the CC (carbon copy) receiver(s) of a message.</td>
676*bde78562SAriel Constenla-Haile                </tr>
677*bde78562SAriel Constenla-Haile                <tr>
678*bde78562SAriel Constenla-Haile                    <td>MessageFrom</td>
679*bde78562SAriel Constenla-Haile                    <td>string</td>
680*bde78562SAriel Constenla-Haile                    <td>contains (the address of) the sender of a message.</td>
681*bde78562SAriel Constenla-Haile                </tr>
682*bde78562SAriel Constenla-Haile                <tr>
683*bde78562SAriel Constenla-Haile                    <td>MessageId</td>
684*bde78562SAriel Constenla-Haile                    <td>string</td>
685*bde78562SAriel Constenla-Haile                    <td>contains the ID of a message.</td>
686*bde78562SAriel Constenla-Haile                </tr>
687*bde78562SAriel Constenla-Haile                <tr>
688*bde78562SAriel Constenla-Haile                    <td>MessageInReplyTo</td>
689*bde78562SAriel Constenla-Haile                    <td>string</td>
690*bde78562SAriel Constenla-Haile                    <td>contains the &quot;In-Reply-To&quot; field of a message.</td>
691*bde78562SAriel Constenla-Haile                </tr>
692*bde78562SAriel Constenla-Haile                <tr>
693*bde78562SAriel Constenla-Haile                    <td>MessageReplyTo</td>
694*bde78562SAriel Constenla-Haile                    <td>string</td>
695*bde78562SAriel Constenla-Haile                    <td>contains the &quot;Reply-To&quot; field of a message.</td>
696*bde78562SAriel Constenla-Haile                </tr>
697*bde78562SAriel Constenla-Haile                <tr>
698*bde78562SAriel Constenla-Haile                    <td>MessageTo</td>
699*bde78562SAriel Constenla-Haile                    <td>string</td>
700*bde78562SAriel Constenla-Haile                    <td>contains the recipient(s) of a message.</td>
701*bde78562SAriel Constenla-Haile                </tr>
702*bde78562SAriel Constenla-Haile                <tr>
703*bde78562SAriel Constenla-Haile                    <td>NewsGroups</td>
704*bde78562SAriel Constenla-Haile                    <td>string</td>
705*bde78562SAriel Constenla-Haile                    <td>contains the name(s) of the newsgroup(s) into which a message was posted.</td>
706*bde78562SAriel Constenla-Haile                </tr>
707*bde78562SAriel Constenla-Haile                <tr>
708*bde78562SAriel Constenla-Haile                    <td>Password</td>
709*bde78562SAriel Constenla-Haile                    <td>string</td>
710*bde78562SAriel Constenla-Haile                    <td>contains a password (e.g. needed to access a POP3-Server).</td>
711*bde78562SAriel Constenla-Haile                </tr>
712*bde78562SAriel Constenla-Haile                <tr>
713*bde78562SAriel Constenla-Haile                    <td>Priority</td>
714*bde78562SAriel Constenla-Haile                    <td><type>Priority</type></td>
715*bde78562SAriel Constenla-Haile                    <td>contains a priority (i.e. of a message).</td>
716*bde78562SAriel Constenla-Haile                </tr>
717*bde78562SAriel Constenla-Haile                <tr>
718*bde78562SAriel Constenla-Haile                    <td>References</td>
719*bde78562SAriel Constenla-Haile                    <td>string</td>
720*bde78562SAriel Constenla-Haile                    <td>contains the &quot;References&quot; field of a news article.</td>
721*bde78562SAriel Constenla-Haile                </tr>
722*bde78562SAriel Constenla-Haile                <tr>
723*bde78562SAriel Constenla-Haile                    <td>Rules</td>
724*bde78562SAriel Constenla-Haile                    <td><type>RuleSet</type></td>
725*bde78562SAriel Constenla-Haile                    <td>contains the rules set for a content.</td>
726*bde78562SAriel Constenla-Haile                </tr>
727*bde78562SAriel Constenla-Haile                <tr>
728*bde78562SAriel Constenla-Haile                    <td>SeenCount</td>
729*bde78562SAriel Constenla-Haile                    <td>long</td>
730*bde78562SAriel Constenla-Haile                    <td>contains the count of seen/read subcontents of a folder content.</td>
731*bde78562SAriel Constenla-Haile                </tr>
732*bde78562SAriel Constenla-Haile                <tr>
733*bde78562SAriel Constenla-Haile                    <td>ServerBase</td>
734*bde78562SAriel Constenla-Haile                    <td>string</td>
735*bde78562SAriel Constenla-Haile                    <td>contains the base directory to use on a server. (e.g. Setting
736*bde78562SAriel Constenla-Haile                        the server base of an FTP-Account to &quot;/pub/incoming&quot;
737*bde78562SAriel Constenla-Haile                        will result in showing contents from that directory and not from
738*bde78562SAriel Constenla-Haile                        server's root directory)
739*bde78562SAriel Constenla-Haile                    </td>
740*bde78562SAriel Constenla-Haile                </tr>
741*bde78562SAriel Constenla-Haile                <tr>
742*bde78562SAriel Constenla-Haile                    <td>ServerName</td>
743*bde78562SAriel Constenla-Haile                    <td>string</td>
744*bde78562SAriel Constenla-Haile                    <td>contains a server name (e.g. The name of the server to use for
745*bde78562SAriel Constenla-Haile                        a POP3-Account).
746*bde78562SAriel Constenla-Haile                    </td>
747*bde78562SAriel Constenla-Haile                </tr>
748*bde78562SAriel Constenla-Haile                <tr>
749*bde78562SAriel Constenla-Haile                    <td>ServerPort</td>
750*bde78562SAriel Constenla-Haile                    <td>short</td>
751*bde78562SAriel Constenla-Haile                    <td>contains a numeric server port.</td>
752*bde78562SAriel Constenla-Haile                </tr>
753*bde78562SAriel Constenla-Haile                <tr>
754*bde78562SAriel Constenla-Haile                    <td>Size</td>
755*bde78562SAriel Constenla-Haile                    <td>hyper</td>
756*bde78562SAriel Constenla-Haile                    <td>contains the size (usually in bytes) of an object.</td>
757*bde78562SAriel Constenla-Haile                </tr>
758*bde78562SAriel Constenla-Haile                <tr>
759*bde78562SAriel Constenla-Haile                    <td>SizeLimit</td>
760*bde78562SAriel Constenla-Haile                    <td>hyper</td>
761*bde78562SAriel Constenla-Haile                    <td>contains a size limit for an object. (e.g. One may specify the
762*bde78562SAriel Constenla-Haile                        maximum size of the HTTP-Cache)
763*bde78562SAriel Constenla-Haile                    </td>
764*bde78562SAriel Constenla-Haile                </tr>
765*bde78562SAriel Constenla-Haile                <tr>
766*bde78562SAriel Constenla-Haile                    <td>SubscribedCount</td>
767*bde78562SAriel Constenla-Haile                    <td>long</td>
768*bde78562SAriel Constenla-Haile                    <td>contains the count of subscribed contents of a folder.</td>
769*bde78562SAriel Constenla-Haile                </tr>
770*bde78562SAriel Constenla-Haile                <tr>
771*bde78562SAriel Constenla-Haile                    <td>SynchronizePolicy</td>
772*bde78562SAriel Constenla-Haile                    <td><type>SynchronizePolicy</type></td>
773*bde78562SAriel Constenla-Haile                    <td>contains the policy to use when synchronizing two objects.</td>
774*bde78562SAriel Constenla-Haile                </tr>
775*bde78562SAriel Constenla-Haile                <tr>
776*bde78562SAriel Constenla-Haile                    <td>TargetFrames</td>
777*bde78562SAriel Constenla-Haile                    <td>string</td>
778*bde78562SAriel Constenla-Haile                    <td>contains information about the target frame to use when displaying
779*bde78562SAriel Constenla-Haile                        an object.
780*bde78562SAriel Constenla-Haile                        <p>The value is a string containing three tokens, separated by &quot;;&quot;
781*bde78562SAriel Constenla-Haile                        (A semicolon):<br/>
782*bde78562SAriel Constenla-Haile                            <dl>
783*bde78562SAriel Constenla-Haile                                <dt>1st token</dt>
784*bde78562SAriel Constenla-Haile                                    <dd>Behavior on &quot;select&quot; ( single click )</dd>
785*bde78562SAriel Constenla-Haile                                <dt>2nd token</dt>
786*bde78562SAriel Constenla-Haile                                    <dd>Behavior on &quot;open&quot;   ( double click )</dd>
787*bde78562SAriel Constenla-Haile                                <dt>3rd token</dt>
788*bde78562SAriel Constenla-Haile                                    <dd>Behavior on &quot;open in new task&quot; ( double click + CTRL key )</dd>
789*bde78562SAriel Constenla-Haile                            </dl>
790*bde78562SAriel Constenla-Haile                         </p>
791*bde78562SAriel Constenla-Haile                        <p> Each token may contain the following values:<br/>
792*bde78562SAriel Constenla-Haile                            <dl>
793*bde78562SAriel Constenla-Haile                            <dt>&quot;_beamer&quot;</dt>
794*bde78562SAriel Constenla-Haile                                <dd>Show in &quot;Beamer&quot;</dd>
795*bde78562SAriel Constenla-Haile                            <dt>&quot;_top&quot;</dt>
796*bde78562SAriel Constenla-Haile                                <dd>Show in current frame (replaces old)</dd>
797*bde78562SAriel Constenla-Haile                            <dt>&quot;_blank&quot;</dt>
798*bde78562SAriel Constenla-Haile                                <dd>Show in new task</dd>
799*bde78562SAriel Constenla-Haile                            </dl>
800*bde78562SAriel Constenla-Haile                        </p>
801*bde78562SAriel Constenla-Haile                    </td>
802*bde78562SAriel Constenla-Haile                </tr>
803*bde78562SAriel Constenla-Haile                <tr>
804*bde78562SAriel Constenla-Haile                    <td>TargetURL</td>
805*bde78562SAriel Constenla-Haile                    <td>string</td>
806*bde78562SAriel Constenla-Haile                    <td>for contents that are links to other contents, contains the URL of
807*bde78562SAriel Constenla-Haile        the target content</td>
808*bde78562SAriel Constenla-Haile                </tr>
809*bde78562SAriel Constenla-Haile                <tr>
810*bde78562SAriel Constenla-Haile                    <td>TimeLimitStore</td>
811*bde78562SAriel Constenla-Haile                    <td>short</td>
812*bde78562SAriel Constenla-Haile                    <td>contains the value to use if the property "IsTimeLimitedStore" is set.</td>
813*bde78562SAriel Constenla-Haile                </tr>
814*bde78562SAriel Constenla-Haile                <tr>
815*bde78562SAriel Constenla-Haile                    <td>UserName</td>
816*bde78562SAriel Constenla-Haile                    <td>string</td>
817*bde78562SAriel Constenla-Haile                    <td>contains a user name. (e.g. the user name needed to access a
818*bde78562SAriel Constenla-Haile        POP3-Account)</td>
819*bde78562SAriel Constenla-Haile                </tr>
820*bde78562SAriel Constenla-Haile                <tr>
821*bde78562SAriel Constenla-Haile                    <td>VerificationMode</td>
822*bde78562SAriel Constenla-Haile                    <td><type>VerificationMode</type> </td>
823*bde78562SAriel Constenla-Haile                    <td>describes a verification policy.</td>
824*bde78562SAriel Constenla-Haile                </tr>
825*bde78562SAriel Constenla-Haile            </tbody>
826*bde78562SAriel Constenla-Haile        </table>
827cdf0e10cSrcweir     */
828cdf0e10cSrcweir    interface com::sun::star::ucb::XCommandProcessor;
829cdf0e10cSrcweir
830*bde78562SAriel Constenla-Haile
831cdf0e10cSrcweir    /** is an enhanced version of <type>XCommandProcessor</type> that has an
832cdf0e10cSrcweir        additional method for releasing command identifiers obtained via
833cdf0e10cSrcweir        <member>XCommandProcessor::createCommandIdentifier</member> to avoid
834cdf0e10cSrcweir        resource leaks. For a detailed description of the problem refer to
835cdf0e10cSrcweir        <member>XCommandProcessor2::releaseCommandIdentifier</member>.
836cdf0e10cSrcweir
837cdf0e10cSrcweir        <p>Where many existing <type>Content</type> implementations do not
838cdf0e10cSrcweir        (yet), every new implementation should support this interface.
839cdf0e10cSrcweir     */
840cdf0e10cSrcweir    [optional] interface com::sun::star::ucb::XCommandProcessor2;
841cdf0e10cSrcweir
842*bde78562SAriel Constenla-Haile
843cdf0e10cSrcweir    /** notifies changes of property values to listeners registered for
844cdf0e10cSrcweir        those properties.
845cdf0e10cSrcweir
846cdf0e10cSrcweir        <p>This interface is required.
847cdf0e10cSrcweir     */
848cdf0e10cSrcweir    interface com::sun::star::beans::XPropertiesChangeNotifier;
849cdf0e10cSrcweir
850*bde78562SAriel Constenla-Haile
851cdf0e10cSrcweir    /** can be used to add new properties to the content and to remove
852cdf0e10cSrcweir        properties from the content dynamically.
853cdf0e10cSrcweir
854cdf0e10cSrcweir        <p>Note that the dynamic properties must be kept persistent. The
855cdf0e10cSrcweir        service <type>Store</type> (UCB persistence service) may be used to
856cdf0e10cSrcweir        implement this.
857cdf0e10cSrcweir
858cdf0e10cSrcweir        <p><b>Important:</b> The implementation of
859cdf0e10cSrcweir        <method scope="com::sun::star::beans">XPropertyContainer::addProperty</method>
860cdf0e10cSrcweir        must at least support adding properties of the following basic data
861cdf0e10cSrcweir        types:
862cdf0e10cSrcweir
863cdf0e10cSrcweir        <p>
864*bde78562SAriel Constenla-Haile            <ul>
865*bde78562SAriel Constenla-Haile                <li>boolean
866*bde78562SAriel Constenla-Haile                <li>char
867*bde78562SAriel Constenla-Haile                <li>byte
868*bde78562SAriel Constenla-Haile                <li>string
869*bde78562SAriel Constenla-Haile                <li>short
870*bde78562SAriel Constenla-Haile                <li>long
871*bde78562SAriel Constenla-Haile                <li>hyper
872*bde78562SAriel Constenla-Haile                <li>float
873*bde78562SAriel Constenla-Haile                <li>double
874*bde78562SAriel Constenla-Haile            </ul>
875*bde78562SAriel Constenla-Haile        </p>
876cdf0e10cSrcweir
877cdf0e10cSrcweir        <p>If a property with an unsupported type shall be added a
878cdf0e10cSrcweir        <type scope="com::sun::star::beans">IllegalTypeException</type> must
879cdf0e10cSrcweir        be raised.
880*bde78562SAriel Constenla-Haile
881*bde78562SAriel Constenla-Haile        @deprecated
882*bde78562SAriel Constenla-Haile            <p>This interface is <b>deprecated</b>, because a
883*bde78562SAriel Constenla-Haile            <type>ContentProvider</type> might need a
884*bde78562SAriel Constenla-Haile            <type>XCommandEnvironment</type> to perform the tasks of adding and
885*bde78562SAriel Constenla-Haile            removing properties. New implementations should implement the
886*bde78562SAriel Constenla-Haile            respective commands "addProperty" and "removeProperty" instead.
887cdf0e10cSrcweir     */
888cdf0e10cSrcweir    interface com::sun::star::beans::XPropertyContainer;
889cdf0e10cSrcweir
890*bde78562SAriel Constenla-Haile
891cdf0e10cSrcweir    /** can be used to notify properties removed from or added to the
892cdf0e10cSrcweir        content's property set.
893cdf0e10cSrcweir
894cdf0e10cSrcweir        <p>This interface must be implemented, if the implementation can
895cdf0e10cSrcweir        dynamically change it's property set ( e.g. because it implements
896cdf0e10cSrcweir        the interface
897cdf0e10cSrcweir        <type scope="com::sun::star::beans">XPropertyContainer</type>. )
898cdf0e10cSrcweir     */
899cdf0e10cSrcweir    [optional] interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
900cdf0e10cSrcweir
901*bde78562SAriel Constenla-Haile
902cdf0e10cSrcweir    /** can be used to notify commands removed from or added to the
903cdf0e10cSrcweir        content's command set.
904cdf0e10cSrcweir
905cdf0e10cSrcweir        <p>This interface must be implemented, if the implementation can
906cdf0e10cSrcweir        dynamically change it's command set ( e.g. because the set of
907cdf0e10cSrcweir        available commands depends on the value of a property of the
908cdf0e10cSrcweir        content ).
909cdf0e10cSrcweir
910cdf0e10cSrcweir        <p>This interface is optional.
911cdf0e10cSrcweir     */
912cdf0e10cSrcweir    [optional] interface com::sun::star::ucb::XCommandInfoChangeNotifier;
913cdf0e10cSrcweir
914*bde78562SAriel Constenla-Haile
915cdf0e10cSrcweir    /** creates new contents (i.e. creates a new folder in another folder
916cdf0e10cSrcweir        somewhere in the local file system).
917cdf0e10cSrcweir
918cdf0e10cSrcweir        <p>A content is "new", if it does not physically exist before creating
919cdf0e10cSrcweir        it using this interface.
920cdf0e10cSrcweir
921cdf0e10cSrcweir        <p>This interface is optional. It should be implemented by contents
922cdf0e10cSrcweir        which shall be able to create new objects.
923cdf0e10cSrcweir
924cdf0e10cSrcweir        @deprecated
925cdf0e10cSrcweir
926cdf0e10cSrcweir        <p>This interface is <b>deprecated</b>. Use property
927cdf0e10cSrcweir        "CreatableContentsInfo" and command "createNewContent" instead.
928cdf0e10cSrcweir     */
929cdf0e10cSrcweir    [optional] interface com::sun::star::ucb::XContentCreator;
930cdf0e10cSrcweir
931*bde78562SAriel Constenla-Haile
932cdf0e10cSrcweir    /** provides access to the parent content of this content.
933cdf0e10cSrcweir
934cdf0e10cSrcweir        <p>The object returned by the implementation of the method
935cdf0e10cSrcweir        <member scope="com::sun::star::container">XChild::getParent()</member>
936cdf0e10cSrcweir        must implement the service <type>Content</type>. If the content is a
937cdf0e10cSrcweir        root object, an empty interface may be returned.
938cdf0e10cSrcweir
939cdf0e10cSrcweir        <p>This interface must be implemented by a content which is a (logical)
940cdf0e10cSrcweir        child of a content.
941cdf0e10cSrcweir     */
942cdf0e10cSrcweir    [optional] interface com::sun::star::container::XChild;
943cdf0e10cSrcweir};
944cdf0e10cSrcweir
945cdf0e10cSrcweir}; }; }; };
946cdf0e10cSrcweir
947cdf0e10cSrcweir#endif
948