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_embed_XExtendedStorageStream_idl__ 24#define __com_sun_star_embed_XExtendedStorageStream_idl__ 25 26#ifndef __com_sun_star_io_XStream_idl__ 27#include <com/sun/star/io/XStream.idl> 28#endif 29 30#ifndef __com_sun_star_io_XSeekable_idl__ 31#include <com/sun/star/io/XSeekable.idl> 32#endif 33 34#ifndef __com_sun_star_embed_XEncryptionProtectedSource_idl__ 35#include <com/sun/star/embed/XEncryptionProtectedSource.idl> 36#endif 37 38#ifndef __com_sun_star_lang_XComponent_idl__ 39#include <com/sun/star/lang/XComponent.idl> 40#endif 41 42#ifndef __com_sun_star_beans_XPropertySet_idl__ 43#include <com/sun/star/beans/XPropertySet.idl> 44#endif 45 46#ifndef __com_sun_star_embed_XTransactedObject_idl__ 47#include <com/sun/star/embed/XTransactedObject.idl> 48#endif 49 50#ifndef __com_sun_star_embed_XTransactionBroadcaster_idl__ 51#include <com/sun/star/embed/XTransactionBroadcaster.idl> 52#endif 53 54//============================================================================ 55 56 module com { module sun { module star { module embed { 57 58//============================================================================ 59/** This interface allows access to an extended storage stream that might be 60 transacted. 61 */ 62published interface XExtendedStorageStream 63{ 64 // INTERFACES 65 // 66 // ----------------------------------------------------------------------- 67 /** Stream access. 68 */ 69 interface ::com::sun::star::io::XStream; 70 71 // ----------------------------------------------------------------------- 72 /** allows to control object lifetime. 73 */ 74 interface ::com::sun::star::lang::XComponent; 75 76 // ----------------------------------------------------------------------- 77 /** allows to seek to a specified position within the stream. 78 79 <p> 80 This interface must be supported in case either seekable readonly 81 or read-write access is requested. 82 </p> 83 */ 84 [optional] interface ::com::sun::star::io::XSeekable; 85 86 // ----------------------------------------------------------------------- 87 /** allows to set password to the stream. 88 89 <p> 90 This interface must be supported by a stream with readwrite access 91 to allow to set a password that should be used next time the 92 stream is stored if the encryption is supported. 93 </p> 94 95 <p> 96 If the password is set or changed by this interface and the 97 stream is closed the new password should be used to get access to the 98 stream next time. 99 </p> 100 */ 101 [optional] interface ::com::sun::star::embed::XEncryptionProtectedSource; 102 103 // ----------------------------------------------------------------------- 104 /** allows to get access to stream properties. 105 */ 106 [optional] interface ::com::sun::star::beans::XPropertySet; 107 108 // ----------------------------------------------------------------------- 109 /** allows to have transacted access. 110 */ 111 [optional] interface ::com::sun::star::embed::XTransactedObject; 112 113 // ----------------------------------------------------------------------- 114 /** allows to register a listener for transaction actions. 115 116 <p> 117 If <type>XTransactedObject</type> interface is implemented this 118 interface must be implemented as well. 119 </p> 120 */ 121 [optional] interface ::com::sun::star::embed::XTransactionBroadcaster; 122 123}; 124 125//============================================================================ 126 127}; }; }; }; 128 129#endif 130 131