1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_ucb_FTPContent_idl__ 28#define __com_sun_star_ucb_FTPContent_idl__ 29 30#ifndef __com_sun_star_lang_XComponent_idl__ 31#include <com/sun/star/lang/XComponent.idl> 32#endif 33 34#ifndef __com_sun_star_ucb_XContent_idl__ 35#include <com/sun/star/ucb/XContent.idl> 36#endif 37 38#ifndef __com_sun_star_ucb_XContentCreator_idl__ 39#include <com/sun/star/ucb/XContentCreator.idl> 40#endif 41 42#ifndef __com_sun_star_ucb_XCommandProcessor_idl__ 43#include <com/sun/star/ucb/XCommandProcessor.idl> 44#endif 45 46#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__ 47#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> 48#endif 49 50#ifndef __com_sun_star_beans_XPropertyContainer_idl__ 51#include <com/sun/star/beans/XPropertyContainer.idl> 52#endif 53 54#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__ 55#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> 56#endif 57 58#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__ 59#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> 60#endif 61 62#ifndef __com_sun_star_container_XChild_idl__ 63#include <com/sun/star/container/XChild.idl> 64#endif 65 66//============================================================================= 67 68module com { module sun { module star { module ucb { 69 70//============================================================================= 71/** A FTPContent provides an object representing either a (ftp-server-side) 72 directory object allowing listing of children or a content object providing 73 access to a (ftp-server-side) file. 74 75 @see com::sun::star::ucb::FTPContentProvider 76 77 @since OOo 1.1.2 78*/ 79published service FTPContent 80{ 81 //------------------------------------------------------------------------- 82 /** This interface is implemented according to the specification of 83 service <type>Content</type>. 84 */ 85 interface com::sun::star::lang::XComponent; 86 87 //------------------------------------------------------------------------- 88 /** This interface is implemented according to the specification of 89 service <type>Content</type>. 90 */ 91 interface com::sun::star::ucb::XContent; 92 93 //------------------------------------------------------------------------- 94 /** This interface is implemented according to the specification of 95 service <type>Content</type>. 96 97 <p>An object representing a directory in the file system is able 98 to create a new object, which in turn can become the representation 99 of a physical file/directory being contained in the initial directory. 100 The precise way is the following: 101 102 <p> 103 104 <ol> 105 <li> 106 Let the parent folder create a new content by calling 107 <member>XContentCreator::createNewContent</member> on it. The content 108 type to use for new directories is 109 "application/vnd.sun.staroffice.ftp-folder". To create a new file 110 use the type "application/vnd.sun.staroffice.ftp-file". 111 As return value you get a new file content object. 112 </li> 113 <li> 114 Set a title at the new object by letting it execute 115 the command "setPropertyValues", which sets at least the property 116 "Title" to a non-empty value ). 117 </li> 118 <li> 119 Let the new object ( not the parent! ) execute the command "insert". 120 This will create the corresponding physical file or directory. 121 For files, you need to supply the implementation of 122 an <type scope="com::sun::star::io">XInputStream</type> with the 123 command's parameters, that provides access to the stream data. 124 </li> 125 </ol> 126 127 </p> 128 */ 129 interface com::sun::star::ucb::XContentCreator; 130 131 //------------------------------------------------------------------------- 132 /** This interface is implemented according to the specification of 133 service <type>Content</type>. 134 135 <p> 136 137 <b>Supported Commands</b> 138 139 <ul> 140 <li> 141 getCommandInfo 142 </li> 143 <li> 144 getPropertySetInfo 145 </li> 146 <li> 147 getPropertyValues 148 </li> 149 <li> 150 setPropertyValues 151 </li> 152 <li> 153 open 154 </li> 155 <li> 156 insert 157 </li> 158 <li> 159 delete 160 </li> 161 </ul> 162 163 <b>Supported Properties</b> 164 <ul> 165 <li> 166 string ContentType ( read-only, either 167 "application/vnd.sun.staroffice.ftp-folder" or 168 "application/vnd.sun.staroffice.ftp-file" ) 169 </li> 170 <li> 171 boolean IsDocument ( read-only, always <true/> for files, always 172 <false/> for directories ) 173 </li> 174 <li> 175 boolean IsFolder ( read-only ), always <false/> for files, always 176 <true/> for directories ) 177 </li> 178 <li> 179 boolean IsReadOnly ( read-only attribute ) 180 </li> 181 <li> 182 string Title ( file name ) 183 </li> 184 <li> 185 hyper Size ( file size ) 186 </li> 187 <li> 188 string Title ( file name ) 189 </li> 190 <li> 191 <type scope="com::sun::star::util">DateTime</type>DateCreated ( read-only ) 192 </li> 193 </ul> 194 </p> 195 */ 196 interface com::sun::star::ucb::XCommandProcessor; 197 198 //------------------------------------------------------------------------- 199 /** This interface is implemented according to the specification of 200 service <type>Content</type>. 201 */ 202 interface com::sun::star::beans::XPropertiesChangeNotifier; 203 204 //------------------------------------------------------------------------- 205 /** This interface is implemented according to the specification of 206 service <type>Content</type>. 207 */ 208 interface com::sun::star::beans::XPropertyContainer; 209 210 //------------------------------------------------------------------------- 211 /** This interface is implemented according to the specification of 212 service <type>Content</type>. 213 */ 214 interface com::sun::star::beans::XPropertySetInfoChangeNotifier; 215 216 //------------------------------------------------------------------------- 217 /** This interface is implemented according to the specification of 218 service <type>Content</type>. 219 */ 220 interface com::sun::star::ucb::XCommandInfoChangeNotifier; 221 222 //------------------------------------------------------------------------- 223 /** This interface is implemented according to the specification of 224 service <type>Content</type>. 225 */ 226 interface com::sun::star::container::XChild; 227}; 228 229//============================================================================= 230 231}; }; }; }; 232 233#endif 234