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_ODMAContent_idl__
24#define __com_sun_star_ucb_ODMAContent_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_XCommandProcessor_idl__
35#include <com/sun/star/ucb/XCommandProcessor.idl>
36#endif
37
38#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
39#include <com/sun/star/ucb/XCommandProcessor2.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 OCP content is representation of a document saved in a DMS.
68
69    <p>The document Content corresponds to a document stored in a Document Management System.
70	</p>
71
72	@see com::sun::star::ucb::ODMAContentProvider
73	@see com::sun::star::ucb::Content
74
75    @since OpenOffice 1.1.2
76*/
77published service ODMAContent
78{
79	//-------------------------------------------------------------------------
80	/** This interface is implemented according to the specification of
81		service <type>Content</type>.
82	 */
83	interface com::sun::star::lang::XComponent;
84
85	//-------------------------------------------------------------------------
86	/** This interface is implemented according to the specification of
87		service <type>Content</type>.
88	 */
89	interface com::sun::star::ucb::XContent;
90
91	//-------------------------------------------------------------------------
92	/** This interface is implemented according to the specification of
93		service <type>Content</type>.
94
95		<p>
96
97		<b>Supported Commands</b>
98		<ul>
99		<li>
100		getCommandInfo
101		</li>
102		<li>
103		getPropertySetInfo
104		</li>
105		<li>
106		getPropertyValues
107		</li>
108		<li>
109		setPropertyValues
110		</li>
111		<li>
112		delete
113		</li>
114		<li>
115		open
116		</li>
117		<li>
118		close
119		</li>
120		</ul>
121
122		<b>Supported Properties</b>
123		<ul>
124		<li>
125		string ContentType ( read-only, always "application/vnd.sun.star.odma" )
126		</li>
127		<li>
128		boolean IsDocument
129		</li>
130		<li>
131		boolean IsFolder
132		</li>
133		<li>
134		<type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only )
135		</li>
136		<li>
137		<type scope="com::sun::star::util">DateTime</type> DateModified ( read-only )
138		</li>
139		<li>
140		string Author
141		</li>
142		<li>
143		string Subject
144		</li>
145		<li>
146		string Keywords
147		</li>
148		<li>
149		string Size ( read-only )
150		</li>
151		<li>
152		string Title
153		</li>
154		</ul>
155
156		</p>
157	 */
158	interface com::sun::star::ucb::XCommandProcessor;
159
160    //-------------------------------------------------------------------------
161    /** is an enhanced version of <type>XCommandProcessor</type> that has an
162        additional method for releasing command identifiers obtained via
163        <member>XCommandProcessor::createCommandIdentifier</member> to avoid
164        resource leaks. For a detailed description of the problem refer to
165        <member>XCommandProcessor2::releaseCommandIdentifier</member>.
166
167        <p>Where many existing <type>Content</type> implementations do not
168        (yet), every new implementation should support this interface.
169     */
170    [optional] interface com::sun::star::ucb::XCommandProcessor2;
171
172	//-------------------------------------------------------------------------
173	/** This interface is implemented according to the specification of
174		service <type>Content</type>.
175	 */
176	interface com::sun::star::beans::XPropertiesChangeNotifier;
177
178	//-------------------------------------------------------------------------
179	/** This interface is implemented according to the specification of
180		service <type>Content</type>.
181	 */
182	interface com::sun::star::beans::XPropertyContainer;
183
184	//-------------------------------------------------------------------------
185	/** This interface is implemented according to the specification of
186		service <type>Content</type>.
187	 */
188	interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
189
190	//-------------------------------------------------------------------------
191	/** This interface is implemented according to the specification of
192		service <type>Content</type>.
193	 */
194	interface com::sun::star::ucb::XCommandInfoChangeNotifier;
195
196	//-------------------------------------------------------------------------
197	/** This interface is implemented according to the specification of
198		service <type>Content</type>.
199	 */
200	interface com::sun::star::container::XChild;
201};
202
203//=============================================================================
204
205}; }; }; };
206
207#endif
208