| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_packages_XDataSinkEncrSupport_idl__ |
| #define __com_sun_star_packages_XDataSinkEncrSupport_idl__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| |
| #ifndef __com_sun_star_io_XInputStream_idl__ |
| #include <com/sun/star/io/XInputStream.idl> |
| #endif |
| |
| #ifndef __com_sun_star_io_IOException_idl__ |
| #include <com/sun/star/io/IOException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_packages_WrongPasswordException_idl__ |
| #include <com/sun/star/packages/WrongPasswordException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_packages_NoEncryptionException_idl__ |
| #include <com/sun/star/packages/NoEncryptionException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_packages_EncryptionNotAllowedException_idl__ |
| #include <com/sun/star/packages/EncryptionNotAllowedException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_packages_NoRawFormatException_idl__ |
| #include <com/sun/star/packages/NoRawFormatException.idl> |
| #endif |
| |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module packages { |
| |
| //============================================================================= |
| |
| /** Allows to get access to the stream of a <type>PackageStream</type>. |
| */ |
| interface XDataSinkEncrSupport: com::sun::star::uno::XInterface |
| { |
| //------------------------------------------------------------------------- |
| /** Allows to get access to the data of the PackageStream. |
| <p> |
| In case stream is encrypted one and the key for the stream is not set, |
| an exception must be thrown. |
| </p> |
| |
| @returns |
| the stream |
| |
| @throws ::com::sun::star::packages::WrongPasswordException |
| no key or a wrong one is set |
| |
| @throws ::com::sun::star::io::IOException |
| in case of io problems during retrieving |
| */ |
| ::com::sun::star::io::XInputStream getDataStream() |
| raises( ::com::sun::star::packages::WrongPasswordException, |
| ::com::sun::star::io::IOException ); |
| |
| |
| //------------------------------------------------------------------------- |
| /** Allows to get access to the data of the PackageStream as to raw stream. |
| In case stream is not encrypted an exception will be thrown. |
| <p> |
| The difference of raw stream is that it contains header for encrypted data, |
| so an encrypted stream can be copyed from one PackageStream to |
| another one without decryption. |
| </p> |
| |
| @returns |
| the raw representation of stream |
| |
| @throws ::com::sun::star::packages::NoEncryptionException |
| the PackageStream object is not encrypted |
| |
| @throws ::com::sun::star::io::IOException |
| in case of io problems during retrieving |
| */ |
| ::com::sun::star::io::XInputStream getRawStream() |
| raises( ::com::sun::star::packages::NoEncryptionException, |
| ::com::sun::star::io::IOException ); |
| |
| //------------------------------------------------------------------------- |
| /** Allows to set a data stream for the PackageStream. |
| <p> |
| In case PackageStream is marked as encrypted the data stream will be encrypted on storing. |
| </p> |
| |
| @param aStream |
| new data stream |
| |
| @throws ::com::sun::star::io::IOException |
| in case of io problems |
| */ |
| void setDataStream( [in] ::com::sun::star::io::XInputStream aStream ) |
| raises( ::com::sun::star::io::IOException ); |
| |
| //------------------------------------------------------------------------- |
| /** Allows to set raw stream for the PackageStream. |
| The PackageStream object can not be marked as encrypted one, |
| an exception will be thrown in such case. |
| |
| @param aStream |
| the new raw representation of stream |
| |
| @throws ::com::sun::star::packages::EncryptionNotAllowedException |
| the PackageStream object is marked as encrypted |
| |
| @throws ::com::sun::star::packages::NoRawFormatException |
| the stream is not a correct raw representation of encrypted package stream |
| |
| @throws ::com::sun::star::io::IOException |
| in case of io problems during retrieving |
| */ |
| void setRawStream( [in] ::com::sun::star::io::XInputStream aStream ) |
| raises( ::com::sun::star::packages::EncryptionNotAllowedException, |
| ::com::sun::star::packages::NoRawFormatException, |
| ::com::sun::star::io::IOException ); |
| |
| //------------------------------------------------------------------------- |
| /** Allows to get access to the raw data of the stream as it is stored in |
| the package. |
| |
| @returns |
| the plain raw stream as it is stored in the package |
| |
| @throws ::com::sun::star::io::IOException |
| in case of io problems during retrieving |
| */ |
| ::com::sun::star::io::XInputStream getPlainRawStream() |
| raises( ::com::sun::star::io::IOException ); |
| |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| /*============================================================================= |
| |
| =============================================================================*/ |
| #endif |