merged tag ooo/OOO330_m14
[LibreOffice.git] / offapi / com / sun / star / ucb / TransientDocumentsDocumentContent.idl
bloba6bf588ad8733d732790e7380cd26d7ccf7f8d31
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
27 #ifndef __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__
28 #define __com_sun_star_ucb_TransientDocumentsDocumentContent_idl__
30 #ifndef __com_sun_star_lang_XComponent_idl__
31 #include <com/sun/star/lang/XComponent.idl>
32 #endif
34 #ifndef __com_sun_star_ucb_XContent_idl__
35 #include <com/sun/star/ucb/XContent.idl>
36 #endif
38 #ifndef __com_sun_star_ucb_XCommandProcessor_idl__
39 #include <com/sun/star/ucb/XCommandProcessor.idl>
40 #endif
42 #ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
43 #include <com/sun/star/ucb/XCommandProcessor2.idl>
44 #endif
46 #ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
47 #include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
48 #endif
50 #ifndef __com_sun_star_beans_XPropertyContainer_idl__
51 #include <com/sun/star/beans/XPropertyContainer.idl>
52 #endif
54 #ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
55 #include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
56 #endif
58 #ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
59 #include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
60 #endif
62 #ifndef __com_sun_star_container_XChild_idl__
63 #include <com/sun/star/container/XChild.idl>
64 #endif
66 #ifndef __com_sun_star_ucb_XContentCreator_idl__
67 #include <com/sun/star/ucb/XContentCreator.idl>
68 #endif
70 //=============================================================================
72 module com { module sun { module star { module ucb {
74 //=============================================================================
75 /** A TDCP Document represents the root folder of a transient document.
77 <p>It is a container for other TDCP Folders and TDCP Streams. It is always
78 a child of the TDCP Root.
80 @see TransientDocumentsContentProvider
81 @see TransientDocumentsRootContent
82 @see TransientDocumentsFolderContent
83 @see TransientDocumentsStreamContent
85 @since OOo 2.0.0
87 service TransientDocumentsDocumentContent
89 //-------------------------------------------------------------------------
90 /** This interface is implemented according to the specification of
91 service <type>Content</type>.
93 interface com::sun::star::lang::XComponent;
95 //-------------------------------------------------------------------------
96 /** This interface is implemented according to the specification of
97 service <type>Content</type>.
99 interface com::sun::star::ucb::XContent;
101 //-------------------------------------------------------------------------
102 /** This interface is implemented according to the specification of
103 service <type>Content</type>.
107 <b>Supported Commands</b>
108 <ul>
109 <li>
110 getCommandInfo
111 </li>
112 <li>
113 getPropertySetInfo
114 </li>
115 <li>
116 getPropertyValues
117 </li>
118 <li>
119 setPropertyValues
120 </li>
121 <li>
122 open
123 </li>
124 <li>
125 transfer (only transfers TDCP documents, TDCP folders and TDCP streams.
126 It does not handle contents with a URL scheme other than the TDOC URL
127 scheme)
128 </li>
129 </ul>
131 <b>Supported Properties</b>
132 <ul>
133 <li>
134 string ContentType ( read-only, always "application/vnd.sun.star.tdoc-document" )
135 </li>
136 <li>
137 boolean IsDocument ( read-only, always false )
138 </li>
139 <li>
140 boolean IsFolder ( read-only, always true )
141 </li>
142 <li>
143 string Title ( read-only )
144 </li>
145 </ul>
147 </p>
149 interface com::sun::star::ucb::XCommandProcessor;
151 //-------------------------------------------------------------------------
152 /** is an enhanced version of <type>XCommandProcessor</type> that has an
153 additional method for releasing command identifiers obtained via
154 <member>XCommandProcessor::createCommandIdentifier</member> to avoid
155 resource leaks. For a detailed description of the problem refer to
156 <member>XCommandProcessor2::releaseCommandIdentifier</member>.
158 <p>Where many existing <type>Content</type> implementations do not
159 (yet), every new implementation should support this interface.
161 [optional] interface com::sun::star::ucb::XCommandProcessor2;
163 //-------------------------------------------------------------------------
164 /** This interface is implemented according to the specification of
165 service <type>Content</type>.
167 interface com::sun::star::beans::XPropertiesChangeNotifier;
169 //-------------------------------------------------------------------------
170 /** This interface is implemented according to the specification of
171 service <type>Content</type>.
173 interface com::sun::star::beans::XPropertyContainer;
175 //-------------------------------------------------------------------------
176 /** This interface is implemented according to the specification of
177 service <type>Content</type>.
179 interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
181 //-------------------------------------------------------------------------
182 /** This interface is implemented according to the specification of
183 service <type>Content</type>.
185 interface com::sun::star::ucb::XCommandInfoChangeNotifier;
187 //-------------------------------------------------------------------------
188 /** This interface is implemented according to the specification of
189 service <type>Content</type>.
191 interface com::sun::star::container::XChild;
193 //-------------------------------------------------------------------------
194 /** This interface is implemented according to the specification of
195 service <type>Content</type>.
197 <p>To create a new child of a TDCP Document:
199 <ol>
200 <li>
201 Let the parent folder create a new content by calling
202 <member>XContentCreator::createNewContent</member> on it. The content
203 type to use for new folders is "application/vnd.sun.star.tdoc-folder".
204 To create a new stream, use the type string
205 "application/vnd.sun.star.tdoc-stream".
206 </li>
207 <li>
208 Set a title for the new folder/stream. (Let the new child execute the
209 command "setPropertyValues"; pass a non-empty value for the property
210 "Title").
211 </li>
212 <li>
213 Let the new child ( not the parent! ) execute the command "insert".
214 This will commit the creation process. For streams, you need to supply
215 the implementation of an
216 <type scope="com::sun::star::io">XInputStream</type> with the command's
217 parameters, that provides access to the stream data.
218 </li>
219 </ol>
221 </p>
223 interface com::sun::star::ucb::XContentCreator;
226 //=============================================================================
228 }; }; }; };
230 #endif