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