1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 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. 14 * 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). 20 * 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. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_embed_XHierarchicalStorageAccess2_idl__ 28#define __com_sun_star_embed_XHierarchicalStorageAccess2_idl__ 29 30#ifndef __com_sun_star_embed_XHierarchicalStorageAccess_idl__ 31#include <com/sun/star/embed/XHierarchicalStorageAccess.idl> 32#endif 33 34#ifndef __com_sun_star_beans_NamedValue_idl__ 35#include <com/sun/star/beans/NamedValue.idl> 36#endif 37 38//============================================================================ 39 40 module com { module sun { module star { module embed { 41 42//============================================================================ 43/** This interface extends XHierarchicalStorageAccess interface. 44 */ 45interface XHierarchicalStorageAccess2 : XHierarchicalStorageAccess 46{ 47 // ----------------------------------------------------------------------- 48 /** allows to get access to a child encrypted stream with encryption data 49 using hierarchical path. 50 51 <p> 52 If storage does not allow any encryption this method will always throw 53 <type scope="com::sun::star::packages">NoEncryptionException</type>. 54 </p> 55 56 <p> 57 In case the stream is open in readonly mode the 58 <method scope="com::sun::star::io">XStream::getOutputStream</method> 59 method will return an empty reference. 60 </p> 61 62 @param sStreamPath 63 the path to the substream that should be open 64 65 @param nOpenMode 66 a mode the stream should be open in, 67 can be a combination of <type>ElementModes</type> values 68 69 @param aEncryptionData 70 this parameter allowes to specify an encryption data for the 71 stream, the data must be correct, otherwise an 72 exception will be thrown 73 74 @throws ::com::sun::star::embed::InvalidStorageException 75 this storage is in invalid state for any reason 76 77 @throws ::com::sun::star::lang::IllegalArgumentException 78 one of provided arguments is illegal 79 80 @throws ::com::sun::star::packages::NoEncryptionException 81 the stream is not encrypted 82 83 @throws ::com::sun::star::packages::WrongPasswordException 84 the provided password is wrong 85 86 @throws ::com::sun::star::io::IOException 87 in case of io errors during stream opening 88 89 @throws ::com::sun::star::embed::StorageWrappedTargetException 90 wraps other exceptions 91 */ 92 XExtendedStorageStream openEncryptedStreamByHierarchicalName( 93 [in] string sStreamName, 94 [in] long nOpenMode, 95 [in] sequence< ::com::sun::star::beans::NamedValue > aEncryptionData ) 96 raises( ::com::sun::star::embed::InvalidStorageException, 97 ::com::sun::star::lang::IllegalArgumentException, 98 ::com::sun::star::packages::NoEncryptionException, 99 ::com::sun::star::packages::WrongPasswordException, 100 ::com::sun::star::io::IOException, 101 ::com::sun::star::embed::StorageWrappedTargetException ); 102}; 103 104//============================================================================ 105 106}; }; }; }; 107 108#endif 109 110