24#include <osl/mutex.hxx>
28#include <com/sun/star/embed/XStorage.hpp>
29#include <com/sun/star/uno/XComponentContext.hpp>
41 class OfficeDocumentsManager;
47 css::uno::Reference< css::uno::XComponentContext > xContext,
53 css::uno::Reference< css::embed::XStorage >
61 css::uno::Reference< css::embed::XStorage >
70 css::uno::Reference< css::io::XInputStream >
72 const OUString & rPassword );
80 css::uno::Reference< css::io::XOutputStream >
82 const OUString & rPassword,
91 css::uno::Reference< css::io::XStream >
93 const OUString & rPassword,
106 css::uno::Reference< css::embed::XStorage >
115 css::uno::Reference< css::embed::XStorage >
117 css::embed::XStorage > & xParentStorage,
118 const OUString & rUri,
127 css::uno::Reference< css::io::XStream >
129 css::embed::XStorage > & xParentStorage,
130 const OUString & rUri,
131 const OUString & rPassword,
138 const std::pair< OUString, bool > & s1,
139 const std::pair< OUString, bool > & s2 )
const
141 if ( s1.first < s2.first )
143 else if ( s1.first == s2.first )
144 return ( !s1.second && s2.second );
157 css::uno::Reference< css::uno::XComponentContext >
m_xContext;
css::uno::Reference< css::embed::XStorage > createStorage(const OUString &rUri, StorageAccessMode eMode)
rtl::Reference< OfficeDocumentsManager > m_xDocsMgr
css::uno::Reference< css::embed::XStorage > queryParentStorage(const OUString &rUri, StorageAccessMode eMode)
StorageElementFactory(css::uno::Reference< css::uno::XComponentContext > xContext, rtl::Reference< OfficeDocumentsManager > xDocsMgr)
css::uno::Reference< css::io::XInputStream > createInputStream(const OUString &rUri, const OUString &rPassword)
css::uno::Reference< css::io::XStream > queryStream(const css::uno::Reference< css::embed::XStorage > &xParentStorage, const OUString &rUri, const OUString &rPassword, StorageAccessMode eMode, bool bTruncate)
css::uno::Reference< css::io::XOutputStream > createOutputStream(const OUString &rUri, const OUString &rPassword, bool bTruncate)
css::uno::Reference< css::io::XStream > createStream(const OUString &rUri, const OUString &rPassword, bool bTruncate)
virtual ~StorageElementFactory() override
void releaseElement(Storage const *pElement)
std::map< std::pair< OUString, bool >, Storage *, ltstrbool > StorageMap
css::uno::Reference< css::uno::XComponentContext > m_xContext
css::uno::Reference< css::embed::XStorage > queryStorage(const css::uno::Reference< css::embed::XStorage > &xParentStorage, const OUString &rUri, StorageAccessMode eMode)
css::uno::Reference< css::embed::XStorage > createTemporaryStorage()
bool operator()(const std::pair< OUString, bool > &s1, const std::pair< OUString, bool > &s2) const