1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__ 24#define __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__ 25 26#ifndef __com_sun_star_lang_XComponent_idl__ 27#include <com/sun/star/lang/XComponent.idl> 28#endif 29 30#ifndef __com_sun_star_ucb_XContent_idl__ 31#include <com/sun/star/ucb/XContent.idl> 32#endif 33 34#ifndef __com_sun_star_ucb_XCommandProcessor_idl__ 35#include <com/sun/star/ucb/XCommandProcessor.idl> 36#endif 37 38#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__ 39#include <com/sun/star/ucb/XCommandProcessor2.idl> 40#endif 41 42#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__ 43#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> 44#endif 45 46#ifndef __com_sun_star_beans_XPropertyContainer_idl__ 47#include <com/sun/star/beans/XPropertyContainer.idl> 48#endif 49 50#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__ 51#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> 52#endif 53 54#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__ 55#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> 56#endif 57 58#ifndef __com_sun_star_container_XChild_idl__ 59#include <com/sun/star/container/XChild.idl> 60#endif 61 62#ifndef __com_sun_star_ucb_XContentCreator_idl__ 63#include <com/sun/star/ucb/XContentCreator.idl> 64#endif 65 66//============================================================================= 67 68module com { module sun { module star { module ucb { 69 70//============================================================================= 71/** A TDCP Document represents the root folder of a transient document. 72 73 <p>It is a container for other TDCP Folders and TDCP Streams. It is always 74 a child of the TDCP Root. 75 76 @see TransientDocumentsContentProvider 77 @see TransientDocumentsRootContent 78 @see TransientDocumentsFolderContent 79 @see TransientDocumentsStreamContent 80 81 @since OpenOffice 2.0 82*/ 83service TransientDocumentsDocumentContent 84{ 85 //------------------------------------------------------------------------- 86 /** This interface is implemented according to the specification of 87 service <type>Content</type>. 88 */ 89 interface com::sun::star::lang::XComponent; 90 91 //------------------------------------------------------------------------- 92 /** This interface is implemented according to the specification of 93 service <type>Content</type>. 94 */ 95 interface com::sun::star::ucb::XContent; 96 97 //------------------------------------------------------------------------- 98 /** This interface is implemented according to the specification of 99 service <type>Content</type>. 100 101 <p> 102 103 <b>Supported Commands</b> 104 <ul> 105 <li> 106 getCommandInfo 107 </li> 108 <li> 109 getPropertySetInfo 110 </li> 111 <li> 112 getPropertyValues 113 </li> 114 <li> 115 setPropertyValues 116 </li> 117 <li> 118 open 119 </li> 120 <li> 121 transfer (only transfers TDCP documents, TDCP folders and TDCP streams. 122 It does not handle contents with a URL scheme other than the TDOC URL 123 scheme) 124 </li> 125 </ul> 126 127 <b>Supported Properties</b> 128 <ul> 129 <li> 130 string ContentType ( read-only, always "application/vnd.sun.star.tdoc-document" ) 131 </li> 132 <li> 133 boolean IsDocument ( read-only, always false ) 134 </li> 135 <li> 136 boolean IsFolder ( read-only, always true ) 137 </li> 138 <li> 139 string Title ( read-only ) 140 </li> 141 </ul> 142 143 </p> 144 */ 145 interface com::sun::star::ucb::XCommandProcessor; 146 147 //------------------------------------------------------------------------- 148 /** is an enhanced version of <type>XCommandProcessor</type> that has an 149 additional method for releasing command identifiers obtained via 150 <member>XCommandProcessor::createCommandIdentifier</member> to avoid 151 resource leaks. For a detailed description of the problem refer to 152 <member>XCommandProcessor2::releaseCommandIdentifier</member>. 153 154 <p>Where many existing <type>Content</type> implementations do not 155 (yet), every new implementation should support this interface. 156 */ 157 [optional] interface com::sun::star::ucb::XCommandProcessor2; 158 159 //------------------------------------------------------------------------- 160 /** This interface is implemented according to the specification of 161 service <type>Content</type>. 162 */ 163 interface com::sun::star::beans::XPropertiesChangeNotifier; 164 165 //------------------------------------------------------------------------- 166 /** This interface is implemented according to the specification of 167 service <type>Content</type>. 168 */ 169 interface com::sun::star::beans::XPropertyContainer; 170 171 //------------------------------------------------------------------------- 172 /** This interface is implemented according to the specification of 173 service <type>Content</type>. 174 */ 175 interface com::sun::star::beans::XPropertySetInfoChangeNotifier; 176 177 //------------------------------------------------------------------------- 178 /** This interface is implemented according to the specification of 179 service <type>Content</type>. 180 */ 181 interface com::sun::star::ucb::XCommandInfoChangeNotifier; 182 183 //------------------------------------------------------------------------- 184 /** This interface is implemented according to the specification of 185 service <type>Content</type>. 186 */ 187 interface com::sun::star::container::XChild; 188 189 //------------------------------------------------------------------------- 190 /** This interface is implemented according to the specification of 191 service <type>Content</type>. 192 193 <p>To create a new child of a TDCP Document: 194 195 <ol> 196 <li> 197 Let the parent folder create a new content by calling 198 <member>XContentCreator::createNewContent</member> on it. The content 199 type to use for new folders is "application/vnd.sun.star.tdoc-folder". 200 To create a new stream, use the type string 201 "application/vnd.sun.star.tdoc-stream". 202 </li> 203 <li> 204 Set a title for the new folder/stream. (Let the new child execute the 205 command "setPropertyValues"; pass a non-empty value for the property 206 "Title"). 207 </li> 208 <li> 209 Let the new child ( not the parent! ) execute the command "insert". 210 This will commit the creation process. For streams, you need to supply 211 the implementation of an 212 <type scope="com::sun::star::io">XInputStream</type> with the command's 213 parameters, that provides access to the stream data. 214 </li> 215 </ol> 216 217 </p> 218 */ 219 interface com::sun::star::ucb::XContentCreator; 220}; 221 222//============================================================================= 223 224}; }; }; }; 225 226#endif 227