xref: /trunk/main/offapi/com/sun/star/ucb/FTPContent.idl (revision 34c958ab)
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_FTPContent_idl__
24#define __com_sun_star_ucb_FTPContent_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_XContentCreator_idl__
35#include <com/sun/star/ucb/XContentCreator.idl>
36#endif
37
38#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
39#include <com/sun/star/ucb/XCommandProcessor.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//=============================================================================
63
64module com { module sun { module star { module ucb {
65
66//=============================================================================
67/** A FTPContent provides an object representing either a (ftp-server-side)
68    directory object allowing listing of children or a content object providing
69    access to a (ftp-server-side) file.
70
71	@see com::sun::star::ucb::FTPContentProvider
72
73    @since OpenOffice 1.1.2
74*/
75published service FTPContent
76{
77	//-------------------------------------------------------------------------
78	/** This interface is implemented according to the specification of
79		service <type>Content</type>.
80	 */
81	interface com::sun::star::lang::XComponent;
82
83	//-------------------------------------------------------------------------
84	/** This interface is implemented according to the specification of
85		service <type>Content</type>.
86	 */
87	interface com::sun::star::ucb::XContent;
88
89	//-------------------------------------------------------------------------
90	/** This interface is implemented according to the specification of
91		service <type>Content</type>.
92
93		<p>An object representing a directory in the file system is able
94		to create a new object, which in turn can become the representation
95		of a physical file/directory being contained in the initial directory.
96		The precise way is the following:
97
98		<p>
99
100		<ol>
101		<li>
102		Let the parent folder create a new content by calling
103		<member>XContentCreator::createNewContent</member> on it. The content
104		type to use for new directories is
105		"application/vnd.sun.staroffice.ftp-folder". To create a new file
106		use the type "application/vnd.sun.staroffice.ftp-file".
107		As return value you get a new file content object.
108		</li>
109		<li>
110		Set a title at the new object by letting it execute
111		the command "setPropertyValues", which sets at least the property
112		"Title" to a non-empty value ).
113		</li>
114		<li>
115		Let the new object ( not the parent! ) execute the command "insert".
116		This will create the corresponding physical file or directory.
117		For files, you need to supply the implementation of
118		an <type scope="com::sun::star::io">XInputStream</type> with the
119		command's parameters, that provides access to the stream data.
120		</li>
121		</ol>
122
123		</p>
124	 */
125	interface com::sun::star::ucb::XContentCreator;
126
127	//-------------------------------------------------------------------------
128	/** This interface is implemented according to the specification of
129		service <type>Content</type>.
130
131		<p>
132
133		<b>Supported Commands</b>
134
135		<ul>
136		<li>
137		getCommandInfo
138		</li>
139		<li>
140		getPropertySetInfo
141		</li>
142		<li>
143		getPropertyValues
144		</li>
145		<li>
146		setPropertyValues
147		</li>
148		<li>
149		open
150		</li>
151		<li>
152		insert
153		</li>
154		<li>
155		delete
156		</li>
157		</ul>
158
159		<b>Supported Properties</b>
160		<ul>
161		<li>
162		string ContentType ( read-only, either
163		"application/vnd.sun.staroffice.ftp-folder" or
164		"application/vnd.sun.staroffice.ftp-file" )
165		</li>
166		<li>
167		boolean IsDocument ( read-only, always <true/> for files, always
168		<false/> for directories )
169		</li>
170		<li>
171		boolean IsFolder ( read-only ), always <false/> for files, always
172		<true/> for directories )
173		</li>
174		<li>
175		boolean IsReadOnly ( read-only attribute )
176		</li>
177		<li>
178		string Title ( file name )
179		</li>
180		<li>
181		hyper Size ( file size )
182		</li>
183		<li>
184		string Title ( file name )
185		</li>
186		<li>
187		<type scope="com::sun::star::util">DateTime</type>DateCreated ( read-only )
188		</li>
189		</ul>
190		</p>
191	 */
192	interface com::sun::star::ucb::XCommandProcessor;
193
194	//-------------------------------------------------------------------------
195	/** This interface is implemented according to the specification of
196		service <type>Content</type>.
197	 */
198	interface com::sun::star::beans::XPropertiesChangeNotifier;
199
200	//-------------------------------------------------------------------------
201	/** This interface is implemented according to the specification of
202		service <type>Content</type>.
203	 */
204	interface com::sun::star::beans::XPropertyContainer;
205
206	//-------------------------------------------------------------------------
207	/** This interface is implemented according to the specification of
208		service <type>Content</type>.
209	 */
210	interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
211
212	//-------------------------------------------------------------------------
213	/** This interface is implemented according to the specification of
214		service <type>Content</type>.
215	 */
216	interface com::sun::star::ucb::XCommandInfoChangeNotifier;
217
218	//-------------------------------------------------------------------------
219	/** This interface is implemented according to the specification of
220		service <type>Content</type>.
221	 */
222	interface com::sun::star::container::XChild;
223};
224
225//=============================================================================
226
227}; }; }; };
228
229#endif
230