19#ifndef INCLUDED_PACKAGE_INC_ZIPPACKAGEFOLDER_HXX
20#define INCLUDED_PACKAGE_INC_ZIPPACKAGEFOLDER_HXX
22#include <com/sun/star/container/XNameContainer.hpp>
23#include <com/sun/star/container/XEnumerationAccess.hpp>
24#include <com/sun/star/beans/StringPair.hpp>
25#include <com/sun/star/uno/XComponentContext.hpp>
31#include <unordered_map>
58typedef std::unordered_map < OUString,
64 css::container::XNameContainer,
65 css::container::XEnumerationAccess
74 ZipPackageFolder(
const css::uno::Reference < css::uno::XComponentContext >& xContext,
76 bool bAllowRemoveOnInsert );
97 virtual bool saveChild(
const OUString &rPath,
98 std::vector < css::uno::Sequence < css::beans::PropertyValue > > &rManList,
100 const css::uno::Sequence < sal_Int8 >& rEncryptionKey,
101 sal_Int32 nPBKDF2IterationCount,
107 const OUString &rPath,
108 std::vector < css::uno::Sequence < css::beans::PropertyValue > > &rManList,
110 const css::uno::Sequence< sal_Int8 > &rEncryptionKey,
111 sal_Int32 nPBKDF2IterationCount,
115 virtual void SAL_CALL
insertByName(
const OUString& aName,
const css::uno::Any& aElement )
override;
116 virtual void SAL_CALL
removeByName(
const OUString& Name )
override;
119 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
createEnumeration( )
override;
126 virtual css::uno::Any SAL_CALL
getByName(
const OUString& aName )
override;
127 virtual css::uno::Sequence< OUString > SAL_CALL
getElementNames( )
override;
131 virtual void SAL_CALL
replaceByName(
const OUString& aName,
const css::uno::Any& aElement )
override;
134 virtual void SAL_CALL
setPropertyValue(
const OUString& aPropertyName,
const css::uno::Any& aValue )
override;
135 virtual css::uno::Any SAL_CALL
getPropertyValue(
const OUString& PropertyName )
override;
std::unordered_map< OUString, ZipContentInfo > ContentHash
virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override
void setChildStreamsTypeByExtension(const css::beans::StringPair &aPair)
virtual css::uno::Any SAL_CALL getByName(const OUString &aName) override
virtual void SAL_CALL insertByName(const OUString &aName, const css::uno::Any &aElement) override
void setRemoveOnInsertMode_Impl(bool bRemove)
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
virtual sal_Bool SAL_CALL hasByName(const OUString &aName) override
void setPackageFormat_Impl(sal_Int32 nFormat)
virtual void SAL_CALL replaceByName(const OUString &aName, const css::uno::Any &aElement) override
void doInsertByName(ZipPackageEntry *pEntry, bool bSetParent)
virtual void SAL_CALL removeByName(const OUString &Name) override
virtual ~ZipPackageFolder() override
virtual OUString SAL_CALL getImplementationName() override
virtual bool saveChild(const OUString &rPath, std::vector< css::uno::Sequence< css::beans::PropertyValue > > &rManList, ZipOutputStream &rZipOut, const css::uno::Sequence< sal_Int8 > &rEncryptionKey, sal_Int32 nPBKDF2IterationCount, const rtlRandomPool &rRandomPool) override
ZipContentInfo & doGetByName(const OUString &aName)
void saveContents(const OUString &rPath, std::vector< css::uno::Sequence< css::beans::PropertyValue > > &rManList, ZipOutputStream &rZipOut, const css::uno::Sequence< sal_Int8 > &rEncryptionKey, sal_Int32 nPBKDF2IterationCount, const rtlRandomPool &rRandomPool) const
bool LookForUnexpectedODF12Streams(std::u16string_view aPath)
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual css::uno::Type SAL_CALL getElementType() override
ZipPackageFolder(const css::uno::Reference< css::uno::XComponentContext > &xContext, sal_Int32 nFormat, bool bAllowRemoveOnInsert)
void SetVersion(const OUString &aVersion)
const OUString & GetVersion() const
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual sal_Bool SAL_CALL hasElements() override
sal_uInt16 const m_nFormat
ZipPackageFolder * pFolder
ZipContentInfo(ZipContentInfo &&)
rtl::Reference< ZipPackageEntry > xPackageEntry
ZipContentInfo(const ZipContentInfo &)
ZipContentInfo & operator=(ZipContentInfo &&)
ZipContentInfo & operator=(const ZipContentInfo &)
ZipContentInfo(ZipPackageStream *pNewStream)
ZipPackageStream * pStream