xref: /trunk/main/offapi/com/sun/star/ucb/FTPContent.idl (revision cdf0e10c)
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