Quelle XStorage.idl
Sprache: C
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2 . 0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
module com { module sun { module star { module embed {
/** This interface represents main storage functionality.
*/
published interface XStorage
{
// INTERFACES
/** allows to get list of child elements and to check if an element with a
specified name exists in a storage .
< p >
It is also possible to use this interface to get read access to
a child element by
com : : sun : : star : : container : : XNameAccess : : getByName ( )
call . But the recommended way is to use XStorage
interface for this purpose .
< / p >
*/
interface ::com::sun::star::container::XNameAccess;
/** allows to control and track lifetime of the storage.
< p >
In case a storage is disposed any call to its methods should result
in com : : sun : : star : : lang : : DisposedException .
< / p >
*/
interface ::com::sun::star::lang::XComponent;
// METHODS
/** allows to copy current storage to another one
< p >
The destination storage contents are overwritten .
After the successful copying the target storage is automatically
committed if it implements transacted access .
< / p >
@ param xDest
a destination storage this storage must be copied to .
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
an illegal argument is provided
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during copying
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exception acquired during copying
*/
void copyToStorage( [in] XStorage xDest )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** allows to get access to a child stream of the storage.
< p >
In case the stream is open in readonly mode the
com : : sun : : star : : io : : XStream : : getOutputStream ( )
method will return an empty reference .
< / p >
@ param sStreamName
the name of the substream that should be open
@ param nOpenMode
a mode the stream should be open in ,
can be a combination of ElementModes values
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
one of provided arguments is illegal
@ throws : : com : : sun : : star : : packages : : WrongPasswordException
the provided password is wrong
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during stream opening
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
::com::sun::star::io::XStream openStreamElement(
[in] string sStreamName,
[in] long nOpenMode )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::packages::WrongPasswordException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** allows to get access to a child encrypted stream with password.
< p >
If storage does not allow any encryption this method will always throw
com : : sun : : star : : packages : : NoEncryptionException .
< / p >
< p >
In case the stream is open in readonly mode the
com : : sun : : star : : io : : XStream : : getOutputStream ( )
method will return an empty reference .
< / p >
@ param sStreamName
the name of the substream that should be open
@ param nOpenMode
a mode the stream should be open in ,
can be a combination of ElementModes values
@ param sPassword
this parameter allows to specify a reading password for the
stream , the password must be a correct one , otherwise an
exception will be thrown
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
one of provided arguments is illegal
@ throws : : com : : sun : : star : : packages : : NoEncryptionException
the stream is not encrypted
@ throws : : com : : sun : : star : : packages : : WrongPasswordException
the provided password is wrong
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during stream opening
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
::com::sun::star::io::XStream openEncryptedStreamElement(
[in] string sStreamName,
[in] long nOpenMode,
[in] string sPassword )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::packages::NoEncryptionException,
::com::sun::star::packages::WrongPasswordException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** allows to get access to a child storage.
< p >
The opened substorage must support specified in " nOpenMode " access
modes . It can support " read " mode in addition . But any child element
can support one of those modes only in case this mode is supported by
parent storage .
< / p >
@ param sStorName
the name of the storage that should be open
@ param nOpenMode
a mode the storage should be open in
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
one of provided arguments is illegal
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during stream opening
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
XStorage openStorageElement( [in] string sStorName,
[in] long nOpenMode )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** allows to get readonly copy of a child stream of the storage.
< p >
The stream is open in readonly mode so the
com : : sun : : star : : io : : XStream : : getOutputStream ( )
method will return an empty reference .
< / p >
@ param sStreamName
the name of the substream that should be copied
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
one of provided arguments is illegal
@ throws : : com : : sun : : star : : packages : : WrongPasswordException
the provided password is wrong
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during stream opening
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
::com::sun::star::io::XStream cloneStreamElement( [in] string sStreamName )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::packages::WrongPasswordException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** allows to get readonly copy of a child encrypted stream with password.
< p >
If storage does not allow any encryption this method will always throw
com : : sun : : star : : packages : : NoEncryptionException .
< / p >
< p >
The stream is open in readonly mode so the
com : : sun : : star : : io : : XStream : : getOutputStream ( )
method will return an empty reference .
< / p >
< p >
This method allows to specify reading password for the child stream
explicitly .
< / p >
@ param sStreamName
the name of the substream that should be copied
@ param sPassword
this parameter allows to specify a reading password for the
stream , the password must be a correct one , otherwise an
exception will be thrown
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
one of provided arguments is illegal
@ throws : : com : : sun : : star : : packages : : NoEncryptionException
the stream is not encrypted
@ throws : : com : : sun : : star : : packages : : WrongPasswordException
the provided password is wrong
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during stream opening
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
::com::sun::star::io::XStream cloneEncryptedStreamElement(
[in] string sStreamName,
[in] string sPassword )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::packages::NoEncryptionException,
::com::sun::star::packages::WrongPasswordException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** allows to get copy of this storage at the state of its last commit.
< p >
This method makes sense only for services implementations that allow
transaction in the storage .
< / p >
@ param xTargetStorage
the target storage that will be filled in with copy .
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
one of provided arguments is illegal
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during copying
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
void copyLastCommitTo( [in] XStorage xTargetStorage )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** allows to get copy of a child storage at the state of its last commit.
< p >
This method makes sense only for services implementations that allow
transaction in the storage .
< / p >
@ param sStorName
the name of the storage that should be copied
@ param xTargetStorage
the target storage that will be filled in with copy
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
one of provided arguments is illegal
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during copying
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
void copyStorageElementLastCommitTo(
[in] string sStorName,
[in] XStorage xTargetStorage )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** allows to check if an element is a child stream with specified name.
< p >
In case there is no child element with such name an exception will be
thrown .
< / p >
@ param sElementName
the name of the element to check
@ returns
` TRUE ` in case the element is a stream
` FALSE ` - the element is a storage
@ throws : : com : : sun : : star : : container : : NoSuchElementException
there is no element with such name
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
an illegal argument is provided
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
*/
boolean isStreamElement( [in] string sElementName )
raises( ::com::sun::star::container::NoSuchElementException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::embed::InvalidStorageException );
/** allows to check if an element is a child storage with specified name.
< p >
In case there is no child element with such name an exception will be
thrown .
< / p >
@ param sElementName
the name of the element to check
@ returns
` TRUE ` in case the element is a storage
` FALSE ` - the element is a stream
@ throws : : com : : sun : : star : : container : : NoSuchElementException
there is no element with such name
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
an illegal argument is provided
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
*/
boolean isStorageElement( [in] string sElementName )
raises( ::com::sun::star::container::NoSuchElementException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::embed::InvalidStorageException );
/** removes an element from a storage.
@ param sElementName
the name of the element to remove
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
an illegal argument is provided
@ throws : : com : : sun : : star : : container : : NoSuchElementException
there is no element with such name
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during removing
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
void removeElement( [in] string sElementName )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::container::NoSuchElementException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** renames an element in a storage.
@ param sElementName
the old name of the element to rename
@ param sNewName
the new name of the element to rename
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : lang : : IllegalArgumentException
an illegal argument is provided
@ throws : : com : : sun : : star : : container : : NoSuchElementException
there is no element with old name in this storage
@ throws : : com : : sun : : star : : container : : ElementExistException
an element with new name already exists in this storage
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during renaming
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
void renameElement( [in] string sElementName, [in] string sNewName )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::container::NoSuchElementException,
::com::sun::star::container::ElementExistException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** allows to copy an entry from one storage to another.
< p >
If target element supports transacted mode it must be committed by this
method after successful copying .
< / p >
@ param sElementName
the name of the element in this storage
@ param xDest
a destination storage
@ param sNewName
the name of the result element in destination storage
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : container : : NoSuchElementException
there is no specified source element in this storage
@ throws : : com : : sun : : star : : container : : ElementExistException
an element with specified destination name already exists in destination storage
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during copying
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
void copyElementTo(
[in] string sElementName,
[in] XStorage xDest,
[in] string sNewName )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::container::NoSuchElementException,
::com::sun::star::container::ElementExistException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
/** allows to move an entry from one storage to another.
< p >
If target element supports transacted mode it must be committed by this
method after successful moving .
< / p >
@ param sElementName
the name of the element in this storage
@ param xDest
a destination storage
@ param sNewName
the name of the result element in destination storage
@ throws : : com : : sun : : star : : embed : : InvalidStorageException
this storage is in invalid state for any reason
@ throws : : com : : sun : : star : : container : : NoSuchElementException
there is no specified source element in this storage
@ throws : : com : : sun : : star : : container : : ElementExistException
an element with specified destination name already exists in destination storage
@ throws : : com : : sun : : star : : io : : IOException
in case of io errors during moving
@ throws : : com : : sun : : star : : embed : : StorageWrappedTargetException
wraps other exceptions
*/
void moveElementTo(
[in] string sElementName,
[in] XStorage xDest,
[in] string sNewName )
raises( ::com::sun::star::embed::InvalidStorageException,
::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::container::NoSuchElementException,
::com::sun::star::container::ElementExistException,
::com::sun::star::io::IOException,
::com::sun::star::embed::StorageWrappedTargetException );
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=97 H=100 G=98
¤ Dauer der Verarbeitung: 0.40 Sekunden
(vorverarbeitet am 2026-10-05)
¤
*© Formatika GbR, Deutschland
2026-10-10
Neuigkeiten
Aktuelles
Motto des Tages
Open Source Software
Jenseits des Üblichen ....
Besucherstatistik
Statistik
#Sources=1126864
#Domains=1897691