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