20#ifndef INCLUDED_OOX_HELPER_ZIPSTORAGE_HXX
21#define INCLUDED_OOX_HELPER_ZIPSTORAGE_HXX
25#include <com/sun/star/uno/Reference.hxx>
27#include <rtl/ustring.hxx>
30 namespace embed {
class XStorage; }
31 namespace io {
class XInputStream; }
32 namespace io {
class XOutputStream; }
33 namespace io {
class XStream; }
34 namespace uno {
class XComponentContext; }
45 const css::uno::Reference< css::uno::XComponentContext >& rxContext,
46 const css::uno::Reference< css::io::XInputStream >& rxInStream );
49 const css::uno::Reference< css::uno::XComponentContext >& rxContext,
50 const css::uno::Reference< css::io::XStream >& rxStream );
57 const css::uno::Reference< css::embed::XStorage >& rxStorage,
58 const OUString& rElementName );
64 virtual css::uno::Reference< css::embed::XStorage >
68 virtual void implGetElementNames( ::std::vector< OUString >& orElementNames )
const override;
74 virtual css::uno::Reference< css::io::XInputStream >
78 virtual css::uno::Reference< css::io::XOutputStream >
85 css::uno::Reference< css::embed::XStorage >
Base class for storage access implementations.
Implements stream access for ZIP storages containing XML streams.
virtual css::uno::Reference< css::io::XOutputStream > implOpenOutputStream(const OUString &rElementName) override
Opens and returns the specified output stream from the storage.
virtual void implCommit() const override
Commits the current storage.
ZipStorage(const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::io::XInputStream > &rxInStream)
virtual css::uno::Reference< css::io::XInputStream > implOpenInputStream(const OUString &rElementName) override
Opens and returns the specified input stream from the storage.
virtual StorageRef implOpenSubStorage(const OUString &rElementName, bool bCreateMissing) override
Opens and returns the specified sub storage from the storage.
virtual void implGetElementNames(::std::vector< OUString > &orElementNames) const override
Returns the names of all elements of this storage.
virtual css::uno::Reference< css::embed::XStorage > implGetXStorage() const override
Returns the com.sun.star.embed.XStorage interface of the current storage.
css::uno::Reference< css::embed::XStorage > mxStorage
Storage based on input or output stream.
ZipStorage(const ZipStorage &rParentStorage, const css::uno::Reference< css::embed::XStorage > &rxStorage, const OUString &rElementName)
virtual bool implIsStorage() const override
Returns true, if the object represents a valid storage.
virtual ~ZipStorage() override
ZipStorage(const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::io::XStream > &rxStream)
std::shared_ptr< StorageBase > StorageRef