LCOV - code coverage report
Current view: top level - package/source/xstor - xstorage.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 7 7 100.0 %
Date: 2012-08-25 Functions: 3 3 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1 2 50.0 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*
       3                 :            :  * This file is part of the LibreOffice project.
       4                 :            :  *
       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/.
       8                 :            :  *
       9                 :            :  * This file incorporates work covered by the following license notice:
      10                 :            :  *
      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 .
      18                 :            :  */
      19                 :            : 
      20                 :            : #ifndef __XSTORAGE_HXX_
      21                 :            : #define __XSTORAGE_HXX_
      22                 :            : 
      23                 :            : #include <com/sun/star/uno/Sequence.hxx>
      24                 :            : #include <com/sun/star/embed/XStorage2.hpp>
      25                 :            : #include <com/sun/star/embed/XOptimizedStorage.hpp>
      26                 :            : #include <com/sun/star/embed/XHierarchicalStorageAccess2.hpp>
      27                 :            : #include <com/sun/star/embed/XStorageRawAccess.hpp>
      28                 :            : #include <com/sun/star/embed/XTransactedObject.hpp>
      29                 :            : #include <com/sun/star/embed/XTransactionBroadcaster.hpp>
      30                 :            : #include <com/sun/star/embed/XClassifiedObject.hpp>
      31                 :            : #include <com/sun/star/embed/XEncryptionProtectedStorage.hpp>
      32                 :            : #include <com/sun/star/embed/XRelationshipAccess.hpp>
      33                 :            : #include <com/sun/star/util/XModifiable.hpp>
      34                 :            : #include <com/sun/star/container/XNameAccess.hpp>
      35                 :            : #include <com/sun/star/container/XNameContainer.hpp>
      36                 :            : #include <com/sun/star/util/XCloseable.hpp>
      37                 :            : #include <com/sun/star/beans/XPropertySet.hpp>
      38                 :            : #include <com/sun/star/beans/PropertyValue.hpp>
      39                 :            : #include <com/sun/star/beans/StringPair.hpp>
      40                 :            : #include <com/sun/star/io/XStream.hpp>
      41                 :            : #include <com/sun/star/lang/XSingleServiceFactory.hpp>
      42                 :            : #include <com/sun/star/lang/XMultiServiceFactory.hpp>
      43                 :            : #include <com/sun/star/lang/XTypeProvider.hpp>
      44                 :            : #include <com/sun/star/lang/XComponent.hpp>
      45                 :            : #include <com/sun/star/packages/NoEncryptionException.hpp>
      46                 :            : #include <com/sun/star/logging/XSimpleLogRing.hpp>
      47                 :            : 
      48                 :            : #include <cppuhelper/weak.hxx>
      49                 :            : #include <cppuhelper/interfacecontainer.h>
      50                 :            : #include <comphelper/sequenceashashmap.hxx>
      51                 :            : 
      52                 :            : #include "mutexholder.hxx"
      53                 :            : 
      54                 :            : #define RELINFO_NO_INIT             1
      55                 :            : #define RELINFO_READ                2
      56                 :            : #define RELINFO_CHANGED             3
      57                 :            : #define RELINFO_CHANGED_STREAM      4
      58                 :            : #define RELINFO_CHANGED_STREAM_READ 5
      59                 :            : #define RELINFO_BROKEN              6
      60                 :            : #define RELINFO_CHANGED_BROKEN      7
      61                 :            : 
      62                 :            : #define STOR_MESS_PRECOMMIT 1
      63                 :            : #define STOR_MESS_COMMITED  2
      64                 :            : #define STOR_MESS_PREREVERT 3
      65                 :            : #define STOR_MESS_REVERTED  4
      66                 :            : 
      67                 :            : //================================================
      68                 :            : // a common implementation for an entry
      69                 :            : 
      70                 :            : struct StorInternalData_Impl;
      71                 :            : struct OStorage_Impl;
      72                 :            : struct OWriteStream_Impl;
      73                 :            : 
      74                 :            : struct SotElement_Impl
      75                 :            : {
      76                 :            :     ::rtl::OUString             m_aName;
      77                 :            :     ::rtl::OUString             m_aOriginalName;
      78                 :            :     sal_Bool                    m_bIsRemoved;
      79                 :            :     sal_Bool                    m_bIsInserted;
      80                 :            :     sal_Bool                    m_bIsStorage;
      81                 :            : 
      82                 :            :     OStorage_Impl*              m_pStorage;
      83                 :            :     OWriteStream_Impl*          m_pStream;
      84                 :            : 
      85                 :            : public:
      86                 :            :                                 SotElement_Impl( const ::rtl::OUString& rName, sal_Bool bStor, sal_Bool bNew );
      87                 :            :                                 ~SotElement_Impl();
      88                 :            : };
      89                 :            : 
      90                 :            : #include <list>
      91                 :            : typedef ::std::list< SotElement_Impl* > SotElementList_Impl;
      92                 :            : 
      93                 :            : //=========================================================================
      94                 :            : // Main storage implementation
      95                 :            : 
      96                 :            : class OStorage;
      97                 :            : 
      98                 :       2668 : struct StorageHolder_Impl
      99                 :            : {
     100                 :            :     OStorage* m_pPointer;
     101                 :            :     ::com::sun::star::uno::WeakReference< ::com::sun::star::embed::XStorage > m_xWeakRef;
     102                 :            : 
     103                 :       1334 :     StorageHolder_Impl( OStorage* pStorage )
     104                 :            :     : m_pPointer( pStorage )
     105                 :            :     , m_xWeakRef( ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >(
     106         [ +  - ]:       1334 :                                                 (::com::sun::star::embed::XStorage*)pStorage ) )
     107                 :            :     {
     108                 :       1334 :     }
     109                 :            : 
     110                 :       1334 :     StorageHolder_Impl( const StorageHolder_Impl& aSH )
     111                 :            :     : m_pPointer( aSH.m_pPointer )
     112                 :       1334 :     , m_xWeakRef( aSH.m_xWeakRef )
     113                 :            :     {
     114                 :       1334 :     }
     115                 :            : };
     116                 :            : 
     117                 :            : typedef ::std::list< StorageHolder_Impl > OStorageList_Impl;
     118                 :            : 
     119                 :            : class SwitchablePersistenceStream;
     120                 :            : struct OStorage_Impl
     121                 :            : {
     122                 :            :     SotMutexHolderRef           m_rMutexRef;
     123                 :            : 
     124                 :            :     OStorage*                   m_pAntiImpl;         // only valid if external references exists
     125                 :            :     OStorageList_Impl           m_aReadOnlyWrapList; // only valid if readonly external reference exists
     126                 :            : 
     127                 :            :     sal_Int32                   m_nStorageMode; // open mode ( read/write/trunc/nocreate )
     128                 :            :     sal_Bool                    m_bIsModified;  // only modified elements will be sent to the original content
     129                 :            :     sal_Bool                    m_bBroadcastModified;  // will be set if notification is required
     130                 :            :     sal_Bool                    m_bCommited;    // sending the streams is coordinated by the root storage of the package
     131                 :            : 
     132                 :            :     sal_Bool                    m_bIsRoot;      // marks this storage as root storages that manages all commits and reverts
     133                 :            :     sal_Bool                    m_bListCreated;
     134                 :            : 
     135                 :            : 
     136                 :            :     SotElementList_Impl                         m_aChildrenList;
     137                 :            :     SotElementList_Impl                         m_aDeletedList;
     138                 :            : 
     139                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xPackageFolder;
     140                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::logging::XSimpleLogRing >  m_xLogRing;
     141                 :            : 
     142                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > m_xPackage;
     143                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >  m_xFactory;
     144                 :            : 
     145                 :            :     // valid only for root storage
     146                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > m_xInputStream; // ??? may be stored in properties
     147                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > m_xStream; // ??? may be stored in properties
     148                 :            :     ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_xProperties;
     149                 :            :     sal_Bool m_bHasCommonEncryptionData;
     150                 :            :     ::comphelper::SequenceAsHashMap m_aCommonEncryptionData;
     151                 :            : 
     152                 :            :     // must be empty in case of root storage
     153                 :            :     OStorage_Impl* m_pParent;
     154                 :            : 
     155                 :            :     sal_Bool        m_bControlMediaType;
     156                 :            :     ::rtl::OUString m_aMediaType;
     157                 :            :     sal_Bool        m_bMTFallbackUsed;
     158                 :            : 
     159                 :            :     sal_Bool        m_bControlVersion;
     160                 :            :     ::rtl::OUString m_aVersion;
     161                 :            : 
     162                 :            :     SwitchablePersistenceStream* m_pSwitchStream;
     163                 :            : 
     164                 :            :     sal_Int32 m_nStorageType; // the mode in wich the storage is used
     165                 :            : 
     166                 :            :     // the _rels substorage that is handled in a special way in embed::StorageFormats::OFOPXML
     167                 :            :     SotElement_Impl* m_pRelStorElement;
     168                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xRelStorage;
     169                 :            :     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair > > m_aRelInfo;
     170                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > m_xNewRelInfoStream;
     171                 :            :     sal_Int16 m_nRelInfoStatus;
     172                 :            : 
     173                 :            :     //////////////////////////////////////////
     174                 :            :     // Constructors
     175                 :            : 
     176                 :            :     OStorage_Impl(  ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > xInputStream,
     177                 :            :                     sal_Int32 nMode,
     178                 :            :                     ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > xProperties,
     179                 :            :                     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xFactory,
     180                 :            :                     sal_Int32 nStorageType );
     181                 :            : 
     182                 :            :     OStorage_Impl(  ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > xStream,
     183                 :            :                     sal_Int32 nMode,
     184                 :            :                     ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > xProperties,
     185                 :            :                     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xFactory,
     186                 :            :                     sal_Int32 nStorageType );
     187                 :            : 
     188                 :            :     // constructor for a substorage
     189                 :            :     OStorage_Impl(  OStorage_Impl* pParent,
     190                 :            :                     sal_Int32 nMode,
     191                 :            :                     ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > xPackageFolder,
     192                 :            :                     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > xPackage,
     193                 :            :                     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xFactory,
     194                 :            :                     sal_Int32 nStorageType );
     195                 :            : 
     196                 :            :     ~OStorage_Impl();
     197                 :            : 
     198                 :            :     void AddLog( const ::rtl::OUString& aMessage );
     199                 :            : 
     200                 :            :     void SetReadOnlyWrap( OStorage& aStorage );
     201                 :            :     void RemoveReadOnlyWrap( OStorage& aStorage );
     202                 :            : 
     203                 :            :     void OpenOwnPackage();
     204                 :            :     void ReadContents();
     205                 :            :     void ReadRelInfoIfNecessary();
     206                 :            : 
     207                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > GetServiceFactory();
     208                 :            :     SotElementList_Impl& GetChildrenList();
     209                 :            :     void GetStorageProperties();
     210                 :            : 
     211                 :            :     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair > > GetAllRelationshipsIfAny();
     212                 :            :     void CopyLastCommitTo( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewStor );
     213                 :            :     void CopyLastCommitTo( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewStor,
     214                 :            :                             const ::rtl::OUString& aPass );
     215                 :            : 
     216                 :            :     void InsertIntoPackageFolder(
     217                 :            :             const ::rtl::OUString& aName,
     218                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& xParentPackageFolder );
     219                 :            : 
     220                 :            :     void Commit();
     221                 :            :     void Revert();
     222                 :            : 
     223                 :            :     ::comphelper::SequenceAsHashMap GetCommonRootEncryptionData() throw ( ::com::sun::star::packages::NoEncryptionException );
     224                 :            : 
     225                 :            :     void CopyToStorage( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xDest,
     226                 :            :                         sal_Bool bDirect );
     227                 :            :     void CopyStorageElement( SotElement_Impl* pElement,
     228                 :            :                             ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > xDest,
     229                 :            :                             ::rtl::OUString aName,
     230                 :            :                             sal_Bool bDirect );
     231                 :            : 
     232                 :            :     void SetModified( sal_Bool bModified );
     233                 :            : 
     234                 :            :     SotElement_Impl* FindElement( const ::rtl::OUString& rName );
     235                 :            : 
     236                 :            : 
     237                 :            :     SotElement_Impl* InsertStream( ::rtl::OUString aName, sal_Bool bEncr );
     238                 :            :     SotElement_Impl* InsertRawStream( ::rtl::OUString aName, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& xInStream );
     239                 :            : 
     240                 :            :     OStorage_Impl* CreateNewStorageImpl( sal_Int32 nStorageMode );
     241                 :            :     SotElement_Impl* InsertStorage( ::rtl::OUString aName, sal_Int32 nStorageMode );
     242                 :            :     SotElement_Impl* InsertElement( ::rtl::OUString aName, sal_Bool bIsStorage );
     243                 :            : 
     244                 :            :     void OpenSubStorage( SotElement_Impl* pElement, sal_Int32 nStorageMode );
     245                 :            :     void OpenSubStream( SotElement_Impl* pElement );
     246                 :            : 
     247                 :            :     ::com::sun::star::uno::Sequence< ::rtl::OUString > GetElementNames();
     248                 :            : 
     249                 :            :     void RemoveElement( SotElement_Impl* pElement );
     250                 :            :     void ClearElement( SotElement_Impl* pElement );
     251                 :            :     void DisposeChildren();
     252                 :            : 
     253                 :            :     void CloneStreamElement(
     254                 :            :                     const ::rtl::OUString& aStreamName,
     255                 :            :                     sal_Bool bPassProvided,
     256                 :            :                     const ::comphelper::SequenceAsHashMap& aEncryptionData,
     257                 :            :                     ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream >& xTargetStream )
     258                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     259                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     260                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     261                 :            :                 ::com::sun::star::io::IOException,
     262                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     263                 :            :                 ::com::sun::star::uno::RuntimeException );
     264                 :            : 
     265                 :            :     void RemoveStreamRelInfo( const ::rtl::OUString& aOriginalName );
     266                 :            :     void CreateRelStorage();
     267                 :            :     void CommitStreamRelInfo( SotElement_Impl* pStreamElement );
     268                 :            :     ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > GetRelInfoStreamForName( const ::rtl::OUString& aName );
     269                 :            :     void CommitRelInfo( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& xNewPackageFolder );
     270                 :            : 
     271                 :            :     static void completeStorageStreamCopy_Impl(
     272                 :            :         const ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream >& xSource,
     273                 :            :         const ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream >& xDest,
     274                 :            :         sal_Int32 nStorageType,
     275                 :            :         const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair > >& aRelInfo );
     276                 :            : 
     277                 :            : };
     278                 :            : 
     279                 :            : 
     280                 :            : class OStorage  : public ::com::sun::star::lang::XTypeProvider
     281                 :            :                 , public ::com::sun::star::embed::XStorage2
     282                 :            :                 , public ::com::sun::star::embed::XStorageRawAccess
     283                 :            :                 , public ::com::sun::star::embed::XTransactedObject
     284                 :            :                 , public ::com::sun::star::embed::XTransactionBroadcaster
     285                 :            :                 , public ::com::sun::star::util::XModifiable
     286                 :            :                 , public ::com::sun::star::embed::XEncryptionProtectedStorage
     287                 :            :                 , public ::com::sun::star::beans::XPropertySet
     288                 :            :                 , public ::com::sun::star::embed::XOptimizedStorage
     289                 :            :                 , public ::com::sun::star::embed::XRelationshipAccess
     290                 :            :                 , public ::com::sun::star::embed::XHierarchicalStorageAccess2
     291                 :            :                 , public ::cppu::OWeakObject
     292                 :            : {
     293                 :            :     OStorage_Impl*  m_pImpl;
     294                 :            :     StorInternalData_Impl* m_pData;
     295                 :            : 
     296                 :            : protected:
     297                 :            : 
     298                 :            :     void Commit_Impl();
     299                 :            : 
     300                 :            :     SotElement_Impl* OpenStreamElement_Impl( const ::rtl::OUString& aStreamName, sal_Int32 nOpenMode, sal_Bool bEncr );
     301                 :            : 
     302                 :            :     void BroadcastModifiedIfNecessary();
     303                 :            : 
     304                 :            :     void BroadcastTransaction( sal_Int8 nMessage );
     305                 :            : 
     306                 :            :     void MakeLinkToSubComponent_Impl(
     307                 :            :                     const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& xComponent );
     308                 :            : 
     309                 :            : public:
     310                 :            : 
     311                 :            :     OStorage(   ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > xInputStream,
     312                 :            :                 sal_Int32 nMode,
     313                 :            :                 ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > xProperties,
     314                 :            :                 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xFactory,
     315                 :            :                 sal_Int32 nStorageType );
     316                 :            : 
     317                 :            :     OStorage(   ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > xStream,
     318                 :            :                 sal_Int32 nMode,
     319                 :            :                 ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > xProperties,
     320                 :            :                 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xFactory,
     321                 :            :                 sal_Int32 nStorageType );
     322                 :            : 
     323                 :            :     OStorage(   OStorage_Impl* pImpl, sal_Bool bReadOnlyWrap );
     324                 :            : 
     325                 :            :     virtual ~OStorage();
     326                 :            : 
     327                 :            :     void SAL_CALL InternalDispose( sal_Bool bNotifyImpl );
     328                 :            : 
     329                 :            :     void ChildIsDisposed( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xChild );
     330                 :            : 
     331                 :            :     sal_Int32 GetRefCount_Impl() { return m_refCount; }
     332                 :            : 
     333                 :            :     //____________________________________________________________________________________________________
     334                 :            :     //  XInterface
     335                 :            :     //____________________________________________________________________________________________________
     336                 :            : 
     337                 :            :     virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& rType )
     338                 :            :         throw( ::com::sun::star::uno::RuntimeException );
     339                 :            : 
     340                 :            :     virtual void SAL_CALL acquire() throw();
     341                 :            : 
     342                 :            :     virtual void SAL_CALL release() throw();
     343                 :            : 
     344                 :            :     //____________________________________________________________________________________________________
     345                 :            :     //  XTypeProvider
     346                 :            :     //____________________________________________________________________________________________________
     347                 :            : 
     348                 :            :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
     349                 :            :         throw( ::com::sun::star::uno::RuntimeException );
     350                 :            : 
     351                 :            :     virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
     352                 :            :         throw( ::com::sun::star::uno::RuntimeException );
     353                 :            : 
     354                 :            :     //____________________________________________________________________________________________________
     355                 :            :     //  XStorage
     356                 :            :     //____________________________________________________________________________________________________
     357                 :            : 
     358                 :            :     virtual void SAL_CALL copyToStorage( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xDest )
     359                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     360                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     361                 :            :                 ::com::sun::star::io::IOException,
     362                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     363                 :            :                 ::com::sun::star::uno::RuntimeException );
     364                 :            : 
     365                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > SAL_CALL openStreamElement(
     366                 :            :             const ::rtl::OUString& aStreamName, sal_Int32 nOpenMode )
     367                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     368                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     369                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     370                 :            :                 ::com::sun::star::io::IOException,
     371                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     372                 :            :                 ::com::sun::star::uno::RuntimeException );
     373                 :            : 
     374                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > SAL_CALL openEncryptedStreamElement(
     375                 :            :             const ::rtl::OUString& aStreamName, sal_Int32 nOpenMode, const ::rtl::OUString& aPass )
     376                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     377                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     378                 :            :                 ::com::sun::star::packages::NoEncryptionException,
     379                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     380                 :            :                 ::com::sun::star::io::IOException,
     381                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     382                 :            :                 ::com::sun::star::uno::RuntimeException );
     383                 :            : 
     384                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > SAL_CALL openStorageElement(
     385                 :            :             const ::rtl::OUString& aStorName, sal_Int32 nStorageMode )
     386                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     387                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     388                 :            :                 ::com::sun::star::io::IOException,
     389                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     390                 :            :                 ::com::sun::star::uno::RuntimeException );
     391                 :            : 
     392                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > SAL_CALL cloneStreamElement(
     393                 :            :             const ::rtl::OUString& aStreamName )
     394                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     395                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     396                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     397                 :            :                 ::com::sun::star::io::IOException,
     398                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     399                 :            :                 ::com::sun::star::uno::RuntimeException );
     400                 :            : 
     401                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > SAL_CALL cloneEncryptedStreamElement(
     402                 :            :             const ::rtl::OUString& aStreamName, const ::rtl::OUString& aPass )
     403                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     404                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     405                 :            :                 ::com::sun::star::packages::NoEncryptionException,
     406                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     407                 :            :                 ::com::sun::star::io::IOException,
     408                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     409                 :            :                 ::com::sun::star::uno::RuntimeException );
     410                 :            : 
     411                 :            :     virtual void SAL_CALL copyLastCommitTo(
     412                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xTargetStorage )
     413                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     414                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     415                 :            :                 ::com::sun::star::io::IOException,
     416                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     417                 :            :                 ::com::sun::star::uno::RuntimeException );
     418                 :            : 
     419                 :            :     virtual void SAL_CALL copyStorageElementLastCommitTo(
     420                 :            :             const ::rtl::OUString& aStorName,
     421                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xTargetStorage )
     422                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     423                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     424                 :            :                 ::com::sun::star::io::IOException,
     425                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     426                 :            :                 ::com::sun::star::uno::RuntimeException );
     427                 :            : 
     428                 :            :     virtual sal_Bool SAL_CALL isStreamElement( const ::rtl::OUString& aElementName )
     429                 :            :         throw ( ::com::sun::star::container::NoSuchElementException,
     430                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     431                 :            :                 ::com::sun::star::embed::InvalidStorageException,
     432                 :            :                 ::com::sun::star::uno::RuntimeException );
     433                 :            : 
     434                 :            :     virtual sal_Bool SAL_CALL isStorageElement( const ::rtl::OUString& aElementName )
     435                 :            :         throw ( ::com::sun::star::container::NoSuchElementException,
     436                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     437                 :            :                 ::com::sun::star::embed::InvalidStorageException,
     438                 :            :                 ::com::sun::star::uno::RuntimeException );
     439                 :            : 
     440                 :            :     virtual void SAL_CALL removeElement( const ::rtl::OUString& aElementName )
     441                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     442                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     443                 :            :                 ::com::sun::star::container::NoSuchElementException,
     444                 :            :                 ::com::sun::star::io::IOException,
     445                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     446                 :            :                 ::com::sun::star::uno::RuntimeException );
     447                 :            : 
     448                 :            :     virtual void SAL_CALL renameElement( const ::rtl::OUString& rEleName, const ::rtl::OUString& rNewName )
     449                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     450                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     451                 :            :                 ::com::sun::star::container::NoSuchElementException,
     452                 :            :                 ::com::sun::star::container::ElementExistException,
     453                 :            :                 ::com::sun::star::io::IOException,
     454                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     455                 :            :                 ::com::sun::star::uno::RuntimeException );
     456                 :            : 
     457                 :            :     virtual void SAL_CALL copyElementTo(    const ::rtl::OUString& aElementName,
     458                 :            :                                         const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xDest,
     459                 :            :                                         const ::rtl::OUString& aNewName )
     460                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     461                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     462                 :            :                 ::com::sun::star::container::NoSuchElementException,
     463                 :            :                 ::com::sun::star::container::ElementExistException,
     464                 :            :                 ::com::sun::star::io::IOException,
     465                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     466                 :            :                 ::com::sun::star::uno::RuntimeException );
     467                 :            : 
     468                 :            :     virtual void SAL_CALL moveElementTo(    const ::rtl::OUString& aElementName,
     469                 :            :                                         const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xDest,
     470                 :            :                                         const ::rtl::OUString& rNewName )
     471                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     472                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     473                 :            :                 ::com::sun::star::container::NoSuchElementException,
     474                 :            :                 ::com::sun::star::container::ElementExistException,
     475                 :            :                 ::com::sun::star::io::IOException,
     476                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     477                 :            :                 ::com::sun::star::uno::RuntimeException );
     478                 :            : 
     479                 :            :     //____________________________________________________________________________________________________
     480                 :            :     //  XStorage2
     481                 :            :     //____________________________________________________________________________________________________
     482                 :            : 
     483                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > SAL_CALL openEncryptedStream( const ::rtl::OUString& sStreamName, ::sal_Int32 nOpenMode, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aEncryptionData )
     484                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     485                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     486                 :            :                 ::com::sun::star::packages::NoEncryptionException,
     487                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     488                 :            :                 ::com::sun::star::io::IOException,
     489                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     490                 :            :                 ::com::sun::star::uno::RuntimeException);
     491                 :            : 
     492                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream > SAL_CALL cloneEncryptedStream( const ::rtl::OUString& sStreamName, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aEncryptionData )
     493                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     494                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     495                 :            :                 ::com::sun::star::packages::NoEncryptionException,
     496                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     497                 :            :                 ::com::sun::star::io::IOException,
     498                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     499                 :            :                 ::com::sun::star::uno::RuntimeException);
     500                 :            : 
     501                 :            :     //____________________________________________________________________________________________________
     502                 :            :     //  XStorageRawAccess
     503                 :            :     //____________________________________________________________________________________________________
     504                 :            : 
     505                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > SAL_CALL getPlainRawStreamElement(
     506                 :            :             const ::rtl::OUString& sStreamName )
     507                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     508                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     509                 :            :                 ::com::sun::star::container::NoSuchElementException,
     510                 :            :                 ::com::sun::star::io::IOException,
     511                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     512                 :            :                 ::com::sun::star::uno::RuntimeException );
     513                 :            : 
     514                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > SAL_CALL getRawEncrStreamElement(
     515                 :            :             const ::rtl::OUString& sStreamName )
     516                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     517                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     518                 :            :                 ::com::sun::star::packages::NoEncryptionException,
     519                 :            :                 ::com::sun::star::container::NoSuchElementException,
     520                 :            :                 ::com::sun::star::io::IOException,
     521                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     522                 :            :                 ::com::sun::star::uno::RuntimeException );
     523                 :            : 
     524                 :            :     virtual void SAL_CALL insertRawEncrStreamElement( const ::rtl::OUString& aStreamName,
     525                 :            :                                 const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& xInStream )
     526                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     527                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     528                 :            :                 ::com::sun::star::packages::NoRawFormatException,
     529                 :            :                 ::com::sun::star::container::ElementExistException,
     530                 :            :                 ::com::sun::star::io::IOException,
     531                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     532                 :            :                 ::com::sun::star::uno::RuntimeException);
     533                 :            : 
     534                 :            :     //____________________________________________________________________________________________________
     535                 :            :     // XTransactedObject
     536                 :            :     //____________________________________________________________________________________________________
     537                 :            : 
     538                 :            :     virtual void SAL_CALL commit()
     539                 :            :         throw ( ::com::sun::star::io::IOException,
     540                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     541                 :            :                 ::com::sun::star::uno::RuntimeException );
     542                 :            : 
     543                 :            :     virtual void SAL_CALL revert()
     544                 :            :         throw ( ::com::sun::star::io::IOException,
     545                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     546                 :            :                 ::com::sun::star::uno::RuntimeException );
     547                 :            : 
     548                 :            :     //____________________________________________________________________________________________________
     549                 :            :     // XTransactionBroadcaster
     550                 :            :     //____________________________________________________________________________________________________
     551                 :            : 
     552                 :            :     virtual void SAL_CALL addTransactionListener(
     553                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XTransactionListener >& aListener )
     554                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     555                 :            : 
     556                 :            :     virtual void SAL_CALL removeTransactionListener(
     557                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XTransactionListener >& aListener )
     558                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     559                 :            : 
     560                 :            :     //____________________________________________________________________________________________________
     561                 :            :     //  XModifiable
     562                 :            :     //____________________________________________________________________________________________________
     563                 :            : 
     564                 :            :     virtual sal_Bool SAL_CALL isModified()
     565                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     566                 :            : 
     567                 :            :     virtual void SAL_CALL setModified( sal_Bool bModified )
     568                 :            :         throw ( ::com::sun::star::beans::PropertyVetoException,
     569                 :            :                 ::com::sun::star::uno::RuntimeException );
     570                 :            : 
     571                 :            :     virtual void SAL_CALL addModifyListener(
     572                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener )
     573                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     574                 :            : 
     575                 :            :     virtual void SAL_CALL removeModifyListener(
     576                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener )
     577                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     578                 :            : 
     579                 :            :     //____________________________________________________________________________________________________
     580                 :            :     //  XNameAccess
     581                 :            :     //____________________________________________________________________________________________________
     582                 :            : 
     583                 :            :     virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName )
     584                 :            :         throw ( ::com::sun::star::container::NoSuchElementException,
     585                 :            :                 ::com::sun::star::lang::WrappedTargetException,
     586                 :            :                 ::com::sun::star::uno::RuntimeException );
     587                 :            : 
     588                 :            :     virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames()
     589                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     590                 :            : 
     591                 :            :     virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName )
     592                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     593                 :            : 
     594                 :            :     virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
     595                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     596                 :            : 
     597                 :            :     virtual sal_Bool SAL_CALL hasElements()
     598                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     599                 :            : 
     600                 :            :     //____________________________________________________________________________________________________
     601                 :            :     //  XComponent
     602                 :            :     //____________________________________________________________________________________________________
     603                 :            : 
     604                 :            :     virtual void SAL_CALL dispose()
     605                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     606                 :            : 
     607                 :            :     virtual void SAL_CALL addEventListener(
     608                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener )
     609                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     610                 :            : 
     611                 :            :     virtual void SAL_CALL removeEventListener(
     612                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener )
     613                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     614                 :            : 
     615                 :            :     //____________________________________________________________________________________________________
     616                 :            :     //  XEncryptionProtectedSource
     617                 :            :     //____________________________________________________________________________________________________
     618                 :            : 
     619                 :            :     virtual void SAL_CALL setEncryptionPassword( const ::rtl::OUString& aPass )
     620                 :            :         throw ( ::com::sun::star::uno::RuntimeException,
     621                 :            :                 ::com::sun::star::io::IOException );
     622                 :            : 
     623                 :            :     virtual void SAL_CALL removeEncryption()
     624                 :            :         throw ( ::com::sun::star::uno::RuntimeException,
     625                 :            :                 ::com::sun::star::io::IOException );
     626                 :            : 
     627                 :            :     //____________________________________________________________________________________________________
     628                 :            :     //  XEncryptionProtectedSource2
     629                 :            :     //____________________________________________________________________________________________________
     630                 :            : 
     631                 :            :     virtual void SAL_CALL setEncryptionData(
     632                 :            :             const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aEncryptionData )
     633                 :            :         throw ( ::com::sun::star::io::IOException,
     634                 :            :                 ::com::sun::star::uno::RuntimeException );
     635                 :            : 
     636                 :            :     virtual sal_Bool SAL_CALL hasEncryptionData()
     637                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     638                 :            : 
     639                 :            :     //____________________________________________________________________________________________________
     640                 :            :     //  XEncryptionProtectedStorage
     641                 :            :     //____________________________________________________________________________________________________
     642                 :            : 
     643                 :            :     virtual void SAL_CALL setEncryptionAlgorithms( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aAlgorithms ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
     644                 :            : 
     645                 :            :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue > SAL_CALL getEncryptionAlgorithms() throw (::com::sun::star::uno::RuntimeException);
     646                 :            : 
     647                 :            :     //____________________________________________________________________________________________________
     648                 :            :     //  XPropertySet
     649                 :            :     //____________________________________________________________________________________________________
     650                 :            : 
     651                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo()
     652                 :            :         throw ( ::com::sun::star::uno::RuntimeException );
     653                 :            : 
     654                 :            :     virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue )
     655                 :            :         throw ( ::com::sun::star::beans::UnknownPropertyException,
     656                 :            :                 ::com::sun::star::beans::PropertyVetoException,
     657                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     658                 :            :                 ::com::sun::star::lang::WrappedTargetException,
     659                 :            :                 ::com::sun::star::uno::RuntimeException );
     660                 :            : 
     661                 :            :     virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName )
     662                 :            :         throw ( ::com::sun::star::beans::UnknownPropertyException,
     663                 :            :                 ::com::sun::star::lang::WrappedTargetException,
     664                 :            :                 ::com::sun::star::uno::RuntimeException );
     665                 :            : 
     666                 :            :     virtual void SAL_CALL addPropertyChangeListener(
     667                 :            :             const ::rtl::OUString& aPropertyName,
     668                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener )
     669                 :            :         throw ( ::com::sun::star::beans::UnknownPropertyException,
     670                 :            :                 ::com::sun::star::lang::WrappedTargetException,
     671                 :            :                 ::com::sun::star::uno::RuntimeException );
     672                 :            : 
     673                 :            :     virtual void SAL_CALL removePropertyChangeListener(
     674                 :            :             const ::rtl::OUString& aPropertyName,
     675                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener )
     676                 :            :         throw ( ::com::sun::star::beans::UnknownPropertyException,
     677                 :            :                 ::com::sun::star::lang::WrappedTargetException,
     678                 :            :                 ::com::sun::star::uno::RuntimeException );
     679                 :            : 
     680                 :            :     virtual void SAL_CALL addVetoableChangeListener(
     681                 :            :             const ::rtl::OUString& PropertyName,
     682                 :            :             const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
     683                 :            :         throw ( ::com::sun::star::beans::UnknownPropertyException,
     684                 :            :                 ::com::sun::star::lang::WrappedTargetException,
     685                 :            :                 ::com::sun::star::uno::RuntimeException );
     686                 :            : 
     687                 :            :     virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
     688                 :            :         throw ( ::com::sun::star::beans::UnknownPropertyException,
     689                 :            :                 ::com::sun::star::lang::WrappedTargetException,
     690                 :            :                 ::com::sun::star::uno::RuntimeException );
     691                 :            : 
     692                 :            :     //____________________________________________________________________________________________________
     693                 :            :     //  XOptimizedStorage
     694                 :            :     //____________________________________________________________________________________________________
     695                 :            :     virtual void SAL_CALL insertRawNonEncrStreamElementDirect( const ::rtl::OUString& sStreamName, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& xInStream )
     696                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     697                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     698                 :            :                 ::com::sun::star::packages::NoRawFormatException,
     699                 :            :                 ::com::sun::star::container::ElementExistException,
     700                 :            :                 ::com::sun::star::io::IOException,
     701                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     702                 :            :                 ::com::sun::star::uno::RuntimeException );
     703                 :            : 
     704                 :            :     virtual void SAL_CALL insertStreamElementDirect( const ::rtl::OUString& sStreamName, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& xInStream, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aProps )
     705                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     706                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     707                 :            :                 ::com::sun::star::container::ElementExistException,
     708                 :            :                 ::com::sun::star::io::IOException,
     709                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     710                 :            :                 ::com::sun::star::uno::RuntimeException );
     711                 :            : 
     712                 :            :     virtual void SAL_CALL copyElementDirectlyTo( const ::rtl::OUString& sSourceName, const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XOptimizedStorage >& xTargetStorage, const ::rtl::OUString& sTargetName )
     713                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     714                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     715                 :            :                 ::com::sun::star::container::NoSuchElementException,
     716                 :            :                 ::com::sun::star::container::ElementExistException,
     717                 :            :                 ::com::sun::star::io::IOException,
     718                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     719                 :            :                 ::com::sun::star::uno::RuntimeException );
     720                 :            : 
     721                 :            :     virtual void SAL_CALL writeAndAttachToStream( const ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream >& xStream )
     722                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     723                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     724                 :            :                 ::com::sun::star::io::IOException,
     725                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     726                 :            :                 ::com::sun::star::uno::RuntimeException );
     727                 :            : 
     728                 :            :     virtual void SAL_CALL attachToURL( const ::rtl::OUString& sURL, sal_Bool bReadOnly )
     729                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     730                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     731                 :            :                 ::com::sun::star::io::IOException,
     732                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     733                 :            :                 ::com::sun::star::uno::RuntimeException );
     734                 :            : 
     735                 :            :     virtual ::com::sun::star::uno::Any SAL_CALL getElementPropertyValue( const ::rtl::OUString& sElementName, const ::rtl::OUString& sPropertyName )
     736                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     737                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     738                 :            :                 ::com::sun::star::container::NoSuchElementException,
     739                 :            :                 ::com::sun::star::io::IOException,
     740                 :            :                 ::com::sun::star::beans::UnknownPropertyException,
     741                 :            :                 ::com::sun::star::beans::PropertyVetoException,
     742                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     743                 :            :                 ::com::sun::star::uno::RuntimeException);
     744                 :            : 
     745                 :            :     virtual void SAL_CALL copyStreamElementData( const ::rtl::OUString& sStreamName, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XStream >& xTargetStream )
     746                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     747                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     748                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     749                 :            :                 ::com::sun::star::io::IOException,
     750                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     751                 :            :                 ::com::sun::star::uno::RuntimeException );
     752                 :            : 
     753                 :            :     //____________________________________________________________________________________________________
     754                 :            :     // XRelationshipAccess
     755                 :            :     //____________________________________________________________________________________________________
     756                 :            : 
     757                 :            :     virtual ::sal_Bool SAL_CALL hasByID( const ::rtl::OUString& sID )
     758                 :            :         throw ( ::com::sun::star::io::IOException,
     759                 :            :                 ::com::sun::star::uno::RuntimeException);
     760                 :            : 
     761                 :            :     virtual ::rtl::OUString SAL_CALL getTargetByID( const ::rtl::OUString& sID )
     762                 :            :         throw ( ::com::sun::star::container::NoSuchElementException,
     763                 :            :                 ::com::sun::star::io::IOException,
     764                 :            :                 ::com::sun::star::uno::RuntimeException);
     765                 :            : 
     766                 :            :     virtual ::rtl::OUString SAL_CALL getTypeByID( const ::rtl::OUString& sID )
     767                 :            :         throw ( ::com::sun::star::container::NoSuchElementException,
     768                 :            :                 ::com::sun::star::io::IOException,
     769                 :            :                 ::com::sun::star::uno::RuntimeException);
     770                 :            : 
     771                 :            :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair > SAL_CALL getRelationshipByID( const ::rtl::OUString& sID )
     772                 :            :         throw ( ::com::sun::star::container::NoSuchElementException,
     773                 :            :                 ::com::sun::star::io::IOException,
     774                 :            :                 ::com::sun::star::uno::RuntimeException);
     775                 :            : 
     776                 :            :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair > > SAL_CALL getRelationshipsByType( const ::rtl::OUString& sType )
     777                 :            :         throw ( ::com::sun::star::io::IOException,
     778                 :            :                 ::com::sun::star::uno::RuntimeException);
     779                 :            : 
     780                 :            :     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair > > SAL_CALL getAllRelationships(  )
     781                 :            :         throw ( ::com::sun::star::io::IOException,
     782                 :            :                 ::com::sun::star::uno::RuntimeException);
     783                 :            : 
     784                 :            :     virtual void SAL_CALL insertRelationshipByID( const ::rtl::OUString& sID, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair >& aEntry, ::sal_Bool bReplace )
     785                 :            :         throw ( ::com::sun::star::container::ElementExistException,
     786                 :            :                 ::com::sun::star::io::IOException,
     787                 :            :                 ::com::sun::star::uno::RuntimeException);
     788                 :            : 
     789                 :            :     virtual void SAL_CALL removeRelationshipByID( const ::rtl::OUString& sID )
     790                 :            :         throw ( ::com::sun::star::container::NoSuchElementException,
     791                 :            :                 ::com::sun::star::io::IOException,
     792                 :            :                 ::com::sun::star::uno::RuntimeException);
     793                 :            : 
     794                 :            :     virtual void SAL_CALL insertRelationships( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair > >& aEntries, ::sal_Bool bReplace )
     795                 :            :         throw ( ::com::sun::star::container::ElementExistException,
     796                 :            :                 ::com::sun::star::io::IOException,
     797                 :            :                 ::com::sun::star::uno::RuntimeException);
     798                 :            : 
     799                 :            :     virtual void SAL_CALL clearRelationships(  )
     800                 :            :         throw ( ::com::sun::star::io::IOException,
     801                 :            :                 ::com::sun::star::uno::RuntimeException);
     802                 :            : 
     803                 :            :     //____________________________________________________________________________________________________
     804                 :            :     // XHierarchicalStorageAccess
     805                 :            :     //____________________________________________________________________________________________________
     806                 :            : 
     807                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XExtendedStorageStream > SAL_CALL openStreamElementByHierarchicalName( const ::rtl::OUString& sStreamPath, ::sal_Int32 nOpenMode )
     808                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     809                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     810                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     811                 :            :                 ::com::sun::star::io::IOException,
     812                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     813                 :            :                 ::com::sun::star::uno::RuntimeException);
     814                 :            : 
     815                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XExtendedStorageStream > SAL_CALL openEncryptedStreamElementByHierarchicalName( const ::rtl::OUString& sStreamName, ::sal_Int32 nOpenMode, const ::rtl::OUString& sPassword )
     816                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     817                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     818                 :            :                 ::com::sun::star::packages::NoEncryptionException,
     819                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     820                 :            :                 ::com::sun::star::io::IOException,
     821                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     822                 :            :                 ::com::sun::star::uno::RuntimeException);
     823                 :            : 
     824                 :            :     virtual void SAL_CALL removeStreamElementByHierarchicalName( const ::rtl::OUString& sElementPath )
     825                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     826                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     827                 :            :                 ::com::sun::star::container::NoSuchElementException,
     828                 :            :                 ::com::sun::star::io::IOException,
     829                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     830                 :            :                 ::com::sun::star::uno::RuntimeException);
     831                 :            : 
     832                 :            :     //____________________________________________________________________________________________________
     833                 :            :     // XHierarchicalStorageAccess2
     834                 :            :     //____________________________________________________________________________________________________
     835                 :            : 
     836                 :            :     virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XExtendedStorageStream > SAL_CALL openEncryptedStreamByHierarchicalName( const ::rtl::OUString& sStreamName, ::sal_Int32 nOpenMode, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aEncryptionData )
     837                 :            :         throw ( ::com::sun::star::embed::InvalidStorageException,
     838                 :            :                 ::com::sun::star::lang::IllegalArgumentException,
     839                 :            :                 ::com::sun::star::packages::NoEncryptionException,
     840                 :            :                 ::com::sun::star::packages::WrongPasswordException,
     841                 :            :                 ::com::sun::star::io::IOException,
     842                 :            :                 ::com::sun::star::embed::StorageWrappedTargetException,
     843                 :            :                 ::com::sun::star::uno::RuntimeException );
     844                 :            : };
     845                 :            : 
     846                 :            : 
     847                 :            : #endif
     848                 :            : 
     849                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10