20#ifndef INCLUDED_SOT_STG_HXX
21#define INCLUDED_SOT_STG_HXX
27#include <config_options.h>
60 virtual sal_Int32
Read(
void * pData, sal_Int32 nSize ) = 0;
61 virtual sal_Int32
Write(
const void* pData, sal_Int32 nSize ) = 0;
62 virtual sal_uInt64
Seek( sal_uInt64 nPos ) = 0;
63 virtual sal_uInt64
Tell() = 0;
65 virtual bool SetSize( sal_uInt64 nNewSize ) = 0;
77 virtual const OUString&
GetName()
const = 0;
84 const OUString & rUserTypeName ) = 0;
94 bool bDirect =
true ) = 0;
97 bool bDirect =
false ) = 0;
100 bool bDirect =
false ) = 0;
103 bool bDirect =
false ) = 0;
104 virtual bool IsStream(
const OUString& rEleName )
const = 0;
105 virtual bool IsStorage(
const OUString& rEleName )
const = 0;
107 virtual void Remove(
const OUString & rEleName ) = 0;
108 virtual bool CopyTo(
const OUString & rEleName,
BaseStorage * pDest,
const OUString & rNewName ) = 0;
133 virtual sal_Int32
Read(
void * pData, sal_Int32 nSize )
override;
134 virtual sal_Int32
Write(
const void* pData, sal_Int32 nSize )
override;
135 virtual sal_uInt64
Seek( sal_uInt64
nPos )
override;
136 virtual sal_uInt64
Tell()
override {
return nPos; }
137 virtual void Flush()
override;
138 virtual bool SetSize( sal_uInt64 nNewSize )
override;
139 virtual sal_uInt64
GetSize()
const override;
141 virtual bool Commit() final override;
142 virtual
bool Validate(
bool=false ) const override;
153 void Init(
bool bCreate );
155 virtual ~Storage()
override;
161 static bool IsStorageFile(
const OUString & rFileName );
162 static bool IsStorageFile(
SvStream* );
164 virtual const OUString&
GetName() const final override;
165 virtual
bool IsRoot()
const override {
return bIsRoot; }
166 virtual void SetClassId(
const ClsId& )
override;
167 virtual const ClsId& GetClassId()
const override;
168 virtual void SetDirty()
override;
171 const OUString & rUserTypeName )
override;
174 virtual OUString GetUserName()
override;
177 virtual bool Commit() final override;
178 virtual
bool Revert() override;
181 bool bDirect = true ) override;
182 virtual
BaseStorage* OpenStorage( const OUString & rEleName,
184 bool bDirect = false ) override;
185 virtual
BaseStorage* OpenUCBStorage( const OUString & rEleName,
187 bool bDirect = false ) override;
188 virtual
BaseStorage* OpenOLEStorage( const OUString & rEleName,
190 bool bDirect = false ) override;
191 virtual
bool IsStream( const OUString& rEleName ) const override;
192 virtual
bool IsStorage( const OUString& rEleName ) const override;
193 virtual
bool IsContained( const OUString& rEleName ) const override;
194 virtual
void Remove( const OUString & rEleName ) override;
195 virtual
bool CopyTo( const OUString & rEleName,
BaseStorage * pDest, const OUString & rNewName ) override;
196 virtual
bool ValidateFAT() override;
197 virtual
bool Validate(
bool=false ) const override;
212 UCBStorageStream(
const OUString& rName,
StreamMode nMode,
bool bDirect,
bool bRepair, css::uno::Reference< css::ucb::XProgressHandler >
const & xProgress );
215 virtual sal_Int32
Read(
void * pData, sal_Int32 nSize )
override;
216 virtual sal_Int32
Write(
const void* pData, sal_Int32 nSize )
override;
217 virtual sal_uInt64
Seek( sal_uInt64
nPos )
override;
218 virtual sal_uInt64
Tell()
override;
219 virtual void Flush()
override;
220 virtual bool SetSize( sal_uInt64 nNewSize )
override;
221 virtual sal_uInt64
GetSize()
const override;
223 virtual bool Commit()
override;
224 virtual bool Validate(
bool=
false )
const override;
227 bool SetProperty(
const OUString& rName,
const css::uno::Any& rValue );
245 static bool IsStorageFile(
SvStream* );
247 UCBStorage( const ::ucbhelper::Content& rContent,
248 const OUString& rName,
263 css::uno::Reference< css::ucb::XProgressHandler >
const &
270 virtual const OUString&
GetName()
const override;
271 virtual bool IsRoot()
const override;
272 virtual void SetClassId(
const ClsId& )
override;
273 virtual const ClsId& GetClassId()
const override;
274 virtual void SetDirty()
override;
277 const OUString & rUserTypeName )
override;
280 virtual OUString GetUserName()
override;
283 virtual bool Commit() final override;
284 virtual
bool Revert() override;
287 bool bDirect = true ) override;
288 virtual
BaseStorage* OpenStorage( const OUString & rEleName,
290 bool bDirect = false ) override;
291 virtual
BaseStorage* OpenUCBStorage( const OUString & rEleName,
293 bool bDirect = false ) override;
294 virtual
BaseStorage* OpenOLEStorage( const OUString & rEleName,
296 bool bDirect = false ) override;
297 virtual
bool IsStream( const OUString& rEleName ) const override;
298 virtual
bool IsStorage( const OUString& rEleName ) const override;
299 virtual
bool IsContained( const OUString& rEleName ) const override;
300 virtual
void Remove( const OUString & rEleName ) override;
301 virtual
bool CopyTo( const OUString & rEleName,
BaseStorage * pDest, const OUString & rNewName ) override;
302 virtual
bool ValidateFAT() override;
303 virtual
bool Validate(
bool=false ) const override;
310 BaseStorage* OpenStorage_Impl( const OUString & rEleName,
311 StreamMode,
bool bDirect,
bool bForceUCBStorage );
virtual sal_uInt64 Tell()=0
virtual sal_uInt64 Seek(sal_uInt64 nPos)=0
virtual sal_Int32 Read(void *pData, sal_Int32 nSize)=0
virtual sal_Int32 Write(const void *pData, sal_Int32 nSize)=0
virtual sal_uInt64 GetSize() const =0
virtual bool Equals(const BaseStorageStream &rStream) const =0
virtual bool SetSize(sal_uInt64 nNewSize)=0
virtual void CopyTo(BaseStorageStream *pDestStm)=0
virtual void Remove(const OUString &rEleName)=0
virtual void FillInfoList(SvStorageInfoList *) const =0
virtual bool IsStream(const OUString &rEleName) const =0
virtual bool IsRoot() const =0
virtual void SetClass(const SvGlobalName &rClass, SotClipboardFormatId nOriginalClipFormat, const OUString &rUserTypeName)=0
virtual const ClsId & GetClassId() const =0
virtual BaseStorage * OpenStorage(const OUString &rEleName, StreamMode=StreamMode::STD_READWRITE, bool bDirect=false)=0
virtual BaseStorageStream * OpenStream(const OUString &rEleName, StreamMode=StreamMode::STD_READWRITE, bool bDirect=true)=0
virtual BaseStorage * OpenOLEStorage(const OUString &rEleName, StreamMode=StreamMode::STD_READWRITE, bool bDirect=false)=0
virtual bool ValidateFAT()=0
virtual void SetDirty()=0
virtual OUString GetUserName()=0
virtual bool Equals(const BaseStorage &rStream) const =0
virtual bool IsContained(const OUString &rEleName) const =0
virtual const OUString & GetName() const =0
virtual BaseStorage * OpenUCBStorage(const OUString &rEleName, StreamMode=StreamMode::STD_READWRITE, bool bDirect=false)=0
virtual bool IsStorage(const OUString &rEleName) const =0
virtual bool CopyTo(const OUString &rEleName, BaseStorage *pDest, const OUString &rNewName)=0
virtual SvGlobalName GetClassName()=0
virtual bool CopyTo(BaseStorage *pDestStg) const =0
virtual void SetClassId(const ClsId &)=0
virtual SotClipboardFormatId GetFormat()=0
OLEStorageBase(StgIo *, StgDirEntry *, StreamMode &)
bool Validate_Impl(bool) const
static bool ValidateMode_Impl(StreamMode, StgDirEntry const *p=nullptr)
virtual bool ValidateMode(StreamMode) const =0
void SetError(ErrCode) const
StreamMode GetMode() const
virtual bool Validate(bool=false) const =0
virtual ~StorageBase() override
void SetAutoCommit(bool bSet)
virtual void Flush() override
virtual bool ValidateMode(StreamMode) const override
virtual bool Commit() final override
virtual sal_uInt64 GetSize() const override
virtual sal_Int32 Read(void *pData, sal_Int32 nSize) override
virtual ~StorageStream() override
virtual bool Equals(const BaseStorageStream &rStream) const override
virtual void CopyTo(BaseStorageStream *pDestStm) override
virtual bool Validate(bool=false) const override
virtual sal_uInt64 Tell() override
StorageStream(StgIo *, StgDirEntry *, StreamMode)
virtual sal_Int32 Write(const void *pData, sal_Int32 nSize) override
virtual bool SetSize(sal_uInt64 nNewSize) override
virtual sal_uInt64 Seek(sal_uInt64 nPos) override
UCBStorageStream(const OUString &rName, StreamMode nMode, bool bDirect, bool bRepair, css::uno::Reference< css::ucb::XProgressHandler > const &xProgress)
UCBStorageStream_Impl * pImp
UCBStorage(const OUString &rName, StreamMode nMode, bool bDirect, bool bIsRoot, bool bIsRepair, css::uno::Reference< css::ucb::XProgressHandler > const &xProgressHandler)
virtual OUString GetName() const override
virtual SotClipboardFormatId GetFormat(const TransferableDataHelper &aHelper) override
std::vector< SvStorageInfo > SvStorageInfoList