<html> <head> <title>Interface XHierarchicalStorageAccess</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="../../../../idl.css"> </head> <body> <div id="adc-idlref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="3"> <tr> <td class="navimain"><a href="../module-ix.html" class="navimain">Overview</a></td> <td class="navimain"><a href="module-ix.html" class="navimain">Module</a></td> <td class="navimain"><a href="XHierarchicalStorageAccess-xref.html" class="navimain">Use</a></td> <td class="navimainnone">Devguide</td> <td class="navimain"><a href="../../../../index-files/index-1.html" class="navimain">Index</a></td> </tr> </table> <table class="navisub" border="0" cellpadding="0"> <tr> <td class="navisub"><a href="#MethodsSummary" class="navisub">Methods' Summary</a></td> <td class="navisub">Attributes' Summary</td> <td class="navisub"><a href="#MethodsDetails" class="navisub">Methods' Details</a></td> <td class="navisub">Attributes' Details</td> </tr> </table> <hr> <table border="0" width="100%" cellpadding="5" cellspacing="3" class="title-table" style="margin-bottom:6pt;"> <tr> <td><p class="namechain"><a href="../../../../module-ix.html" class="namechain">::</a> <a href="../../../module-ix.html" class="namechain">com</a> :: <a href="../../module-ix.html" class="namechain">sun</a> :: <a href="../module-ix.html" class="namechain">star</a> :: <a href="module-ix.html" class="namechain">embed</a> :: </p> </td> </tr> <tr> <td class="title">interface XHierarchicalStorageAccess</td> </tr> <tr> <td/></tr> <tr> <td><dl> <dt><b>Description</b></dt> <dd>This interface allows hierarchical access to storage tree. </dd> <dd><p> Currently only streams can be opened using this interface. </p> <p> The hierarchical access can not be mixed with a normal access. Thus when in a storage a stream with a path "a/b/c" is accessed using hierarchical access, another stream "a/b/d" can also be opened with hierarchical access ( if it is still not opened ), but the substorage "a" can not be opened ( it is locked by hierarchical access ). </p> </dd> </dl> </td> </tr> </table> <hr> <a name="MethodsSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle" colspan="2">Methods' Summary</td> </tr> <tr> <td class="imsum_left"><a href="#openStreamElementByHierarchicalName">openStreamElementByHierarchicalName</a></td> <td class="imsum_right">allows to get access to a child stream of the storage, using hierarchical path. </td> </tr> <tr> <td class="imsum_left"><a href="#openEncryptedStreamElementByHierarchicalName">openEncryptedStreamElementByHierarchicalName</a></td> <td class="imsum_right">allows to get access to a child encrypted stream with password using hierarchical path. </td> </tr> <tr> <td class="imsum_left"><a href="#removeStreamElementByHierarchicalName">removeStreamElementByHierarchicalName</a></td> <td class="imsum_right">removes a stream specified by hierarchical name from a storage. </td> </tr> </table> <a name="MethodsDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle">Methods' Details</td> </tr> <tr> <td class="imdetail"><a name="openStreamElementByHierarchicalName" class="membertitle">openStreamElementByHierarchicalName</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3"><a href="XExtendedStorageStream.html">XExtendedStorageStream</a></td> </tr> <tr> <td valign="top"><b>openStreamElementByHierarchicalName</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> sStreamPath,</td> </tr> <tr> <td/><td valign="top">[in] long</td> <td valign="bottom"> nOpenMode )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="InvalidStorageException.html">InvalidStorageException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a>,<br> ::com::sun::star::<a href="../packages/module-ix.html">packages</a>::<a href="../packages/WrongPasswordException.html">WrongPasswordException</a>,<br> ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/IOException.html">IOException</a>,<br> <a href="StorageWrappedTargetException.html">StorageWrappedTargetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>allows to get access to a child stream of the storage, using hierarchical path. </dd> <dd><p> In case the stream is open in readonly mode the <method scope="com::sun::star::io">XStream::getOutputStream</method> method will return an empty reference. </p> </dd> <dt><b>Parameter sStreamPath</b></dt> <dd>the path to the substream that should be open </dd> <dt><b>Parameter nOpenMode</b></dt> <dd>a mode the stream should be open in, can be a combination of <a href="ElementModes.html">ElementModes</a> values </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::embed::InvalidStorageException this storage is in invalid state for any reason </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::lang::IllegalArgumentException one of provided arguments is illegal </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::packages::WrongPasswordException the provided password is wrong </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::io::IOException in case of io errors during stream opening </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::embed::StorageWrappedTargetException wraps other exceptions </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="openEncryptedStreamElementByHierarchicalName" class="membertitle">openEncryptedStreamElementByHierarchicalName</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3"><a href="XExtendedStorageStream.html">XExtendedStorageStream</a></td> </tr> <tr> <td valign="top"><b>openEncryptedStreamElementByHierarchicalName</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> sStreamName,</td> </tr> <tr> <td/><td valign="top">[in] long</td> <td valign="bottom"> nOpenMode,</td> </tr> <tr> <td/><td valign="top">[in] string</td> <td valign="bottom"> sPassword )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="InvalidStorageException.html">InvalidStorageException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a>,<br> ::com::sun::star::<a href="../packages/module-ix.html">packages</a>::<a href="../packages/NoEncryptionException.html">NoEncryptionException</a>,<br> ::com::sun::star::<a href="../packages/module-ix.html">packages</a>::<a href="../packages/WrongPasswordException.html">WrongPasswordException</a>,<br> ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/IOException.html">IOException</a>,<br> <a href="StorageWrappedTargetException.html">StorageWrappedTargetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>allows to get access to a child encrypted stream with password using hierarchical path. </dd> <dd><p> If storage does not allow any encryption this method will always throw ::com::sun::star::<a href="../packages/module-ix.html">packages</a>::<a href="../packages/NoEncryptionException.html">NoEncryptionException</a>. </p> <p> In case the stream is open in readonly mode the <method scope="com::sun::star::io">XStream::getOutputStream</method> method will return an empty reference. </p> </dd> <dt><b>Parameter sStreamPath</b></dt> <dd>the path to the substream that should be open </dd> <dt><b>Parameter nOpenMode</b></dt> <dd>a mode the stream should be open in, can be a combination of <a href="ElementModes.html">ElementModes</a> values </dd> <dt><b>Parameter sPassword</b></dt> <dd>this parameter allows to specify a reading password for the stream, the password must be a correct one, otherwise an exception will be thrown </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::embed::InvalidStorageException this storage is in invalid state for any reason </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::lang::IllegalArgumentException one of provided arguments is illegal </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::packages::NoEncryptionException the stream is not encrypted </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::packages::WrongPasswordException the provided password is wrong </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::io::IOException in case of io errors during stream opening </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::embed::StorageWrappedTargetException wraps other exceptions </dd> </dl> </td> </tr> </table> </td> </tr> <tr> <td class="imdetail"><a name="removeStreamElementByHierarchicalName" class="membertitle">removeStreamElementByHierarchicalName</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center"> <tr> <td><table class="table-in-method" border="0"> <tr> <td valign="top" colspan="3">void</td> </tr> <tr> <td valign="top"><b>removeStreamElementByHierarchicalName</b>(</td> <td valign="top">[in] string</td> <td valign="bottom"> sElementPath )</td> </tr> <tr> <td valign="top" align="right">raises( </td> <td valign="top" colspan="2"><a href="InvalidStorageException.html">InvalidStorageException</a>,<br> ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/IllegalArgumentException.html">IllegalArgumentException</a>,<br> ::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/NoSuchElementException.html">NoSuchElementException</a>,<br> ::com::sun::star::<a href="../io/module-ix.html">io</a>::<a href="../io/IOException.html">IOException</a>,<br> <a href="StorageWrappedTargetException.html">StorageWrappedTargetException</a> );</td> </tr> </table> <hr> <dl> <dt><b>Description</b></dt> <dd>removes a stream specified by hierarchical name from a storage. </dd> <dt><b>Parameter sElementPath</b></dt> <dd>the path to the element to remove </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::embed::InvalidStorageException this storage is in invalid state for any reason </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::lang::IllegalArgumentException an illegal argument is provided </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::container::NoSuchElementException there is no element with such name </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::io::IOException in case of io errors during removing </dd> <dt><b>Throws</b></dt> <dd>::com::sun::star::embed::StorageWrappedTargetException wraps other exceptions </dd> </dl> </td> </tr> </table> </td> </tr> </table> <a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2000, 2012 LibreOffice contributors and/or their affiliates. All rights reserved.</p><p class="copyright" align="center">LibreOffice was created by The Document Foundation, based on OpenOffice.org, which is Copyright 2000, 2010 Oracle and/or its affiliates.</p><p class="copyright" align="center">The Document Foundation acknowledges all community members, please find more info <a href="http://www.libreoffice.org/about-us/credits/" target="_blank">at our website</a>.<p> </p><p class="copyright" align="center"><a href="http://www.libreoffice.org/privacy" target="_blank">Privacy Policy</a> | <a href="http://www.libreoffice.org/imprint" target="_blank">Impressum (Legal Info)</a> | Copyright information: The source code of LibreOffice is licensed under the GNU Lesser General Public License (<a href="http://www.libreoffice.org/download/license/" target="_blank">LGPLv3</a>). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our <a href="http://wiki.documentfoundation.org/TradeMark_Policy" target="_blank">trademark policy</a>.</p> </div> <!-- id="adc-idlref" --> </body> </html>