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