Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / ucb / PackageStreamContent.idl
blobf3a1c39020e7c57afa441ea311448f6a73b1dc45
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_ucb_PackageStreamContent_idl__
20 #define __com_sun_star_ucb_PackageStreamContent_idl__
22 #include <com/sun/star/lang/XComponent.idl>
23 #include <com/sun/star/ucb/XContent.idl>
24 #include <com/sun/star/ucb/XCommandProcessor.idl>
25 #include <com/sun/star/ucb/XCommandProcessor2.idl>
26 #include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
27 #include <com/sun/star/beans/XPropertyContainer.idl>
28 #include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
29 #include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
30 #include <com/sun/star/container/XChild.idl>
33 module com { module sun { module star { module ucb {
35 /** A PCP Stream is a content which represents a file inside a package.
37 <p>It is always contained in a PCP Folder. A PCP Stream has no children.
39 @see com::sun::star::ucb::PackageContentProvider
40 @see com::sun::star::ucb::PackageFolderContent
42 published service PackageStreamContent
44 /** This interface is implemented according to the specification of
45 service Content.
47 interface com::sun::star::lang::XComponent;
49 /** This interface is implemented according to the specification of
50 service Content.
52 interface com::sun::star::ucb::XContent;
54 /** This interface is implemented according to the specification of
55 service Content.
57 <p>
59 <b>Supported Commands</b>
60 <ul>
61 <li>
62 getCommandInfo
63 </li>
64 <li>
65 getPropertySetInfo
66 </li>
67 <li>
68 getPropertyValues
69 </li>
70 <li>
71 setPropertyValues
72 </li>
73 <li>
74 insert ( makes a newly created stream persistent )
75 </li>
76 <li>
77 delete
78 </li>
79 <li>
80 open
81 </li>
82 </ul>
84 <b>Supported Properties</b>
85 <ul>
86 <li>
87 string ContentType ( read-only, always "application/vnd.sun.star.pkg-stream" )
88 </li>
89 <li>
90 boolean IsDocument ( read-only, always true )
91 </li>
92 <li>
93 boolean IsFolder ( read-only, always false )
94 </li>
95 <li>
96 string MediaType
97 </li>
98 <li>
99 string Size ( read-only )
100 </li>
101 <li>
102 string Title
103 </li>
104 <li>
105 boolean Compressed ( allows you to explicitly state whether you want a
106 stream to be compressed or not. The default value of this property
107 will be determined according to the value of the property "MediaType".
108 If it is empty or prefixed by "text/", the value of "Compressed" is set
109 to true. Otherwise the value will be false. )
110 </li>
111 <li>
112 boolean Encrypted ( are the stream data encrypted or not ).
113 </li>
114 </ul>
116 </p>
118 interface com::sun::star::ucb::XCommandProcessor;
120 /** is an enhanced version of XCommandProcessor that has an
121 additional method for releasing command identifiers obtained via
122 XCommandProcessor::createCommandIdentifier() to avoid
123 resource leaks. For a detailed description of the problem refer to
124 XCommandProcessor2::releaseCommandIdentifier().
126 <p>Where many existing Content implementations do not
127 (yet), every new implementation should support this interface.
129 [optional] interface com::sun::star::ucb::XCommandProcessor2;
131 /** This interface is implemented according to the specification of
132 service Content.
134 interface com::sun::star::beans::XPropertiesChangeNotifier;
136 /** This interface is implemented according to the specification of
137 service Content.
139 interface com::sun::star::beans::XPropertyContainer;
141 /** This interface is implemented according to the specification of
142 service Content.
144 interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
146 /** This interface is implemented according to the specification of
147 service Content.
149 interface com::sun::star::ucb::XCommandInfoChangeNotifier;
151 /** This interface is implemented according to the specification of
152 service Content.
154 interface com::sun::star::container::XChild;
158 }; }; }; };
160 #endif
162 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */