summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/SettingsTable.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'writerfilter/source/dmapper/SettingsTable.cxx')
-rw-r--r--writerfilter/source/dmapper/SettingsTable.cxx57
1 files changed, 56 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/SettingsTable.cxx b/writerfilter/source/dmapper/SettingsTable.cxx
index 07abc8bd2..d26159c02 100644
--- a/writerfilter/source/dmapper/SettingsTable.cxx
+++ b/writerfilter/source/dmapper/SettingsTable.cxx
@@ -28,6 +28,7 @@
*
************************************************************************/
+#include <resourcemodel/ResourceModelHelper.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <SettingsTable.hxx>
@@ -37,7 +38,15 @@
#include <ConversionHelper.hxx>
#include <rtl/ustring.hxx>
+#ifdef DEBUG_DOMAINMAPPER
+#include <resourcemodel/QNameToString.hxx>
+#include "dmapperLoggers.hxx"
+#endif
+
namespace writerfilter {
+
+using resourcemodel::resolveSprmProps;
+
namespace dmapper
{
@@ -56,6 +65,21 @@ struct SettingsTable_Impl
bool m_bNoPunctuationKerning;
bool m_doNotIncludeSubdocsInStats; // Do Not Include Content in Text Boxes, Footnotes, and Endnotes in Document Statistics)
bool m_bRecordChanges;
+ int m_nEdit;
+ bool m_bFormatting;
+ bool m_bEnforcement;
+ int m_nCryptProviderType;
+ int m_nCryptAlgorithmClass;
+ int m_nCryptAlgorithmType;
+ ::rtl::OUString m_sCryptAlgorithmSid;
+ int m_nCryptSpinCount;
+ ::rtl::OUString m_sCryptProvider;
+ ::rtl::OUString m_sAlgIdExt;
+ ::rtl::OUString m_sAlgIdExtSource;
+ ::rtl::OUString m_sCryptProviderTypeExt;
+ ::rtl::OUString m_sCryptProviderTypeExtSource;
+ ::rtl::OUString m_sHash;
+ ::rtl::OUString m_sSalt;
SettingsTable_Impl( DomainMapper& rDMapper, const uno::Reference< lang::XMultiServiceFactory > xTextFactory ) :
m_rDMapper( rDMapper )
@@ -65,6 +89,13 @@ struct SettingsTable_Impl
, m_bNoPunctuationKerning(false)
, m_doNotIncludeSubdocsInStats(false)
, m_bRecordChanges(false)
+ , m_nEdit(NS_ooxml::LN_Value_wordprocessingml_ST_DocProtect_none)
+ , m_bFormatting(false)
+ , m_bEnforcement(false)
+ , m_nCryptProviderType(NS_ooxml::LN_Value_wordprocessingml_ST_CryptProv_rsaAES)
+ , m_nCryptAlgorithmClass(NS_ooxml::LN_Value_wordprocessingml_ST_AlgClass_hash)
+ , m_nCryptAlgorithmType(NS_ooxml::LN_Value_wordprocessingml_ST_AlgType_typeAny)
+ , m_nCryptSpinCount(0)
{}
};
@@ -79,8 +110,15 @@ SettingsTable::~SettingsTable()
delete m_pImpl;
}
-void SettingsTable::attribute(Id /*Name*/, Value & val)
+void SettingsTable::attribute(Id nName, Value & val)
{
+#ifdef DEBUG_DOMAINMAPPER
+ dmapper_logger->startElement("SettingsTable.attribute");
+ dmapper_logger->attribute("name", (*QNameToString::Instance())(nName));
+ dmapper_logger->attribute("value", val.toString());
+#endif
+
+ (void) nName;
int nIntValue = val.getInt();
(void)nIntValue;
::rtl::OUString sValue = val.getString();
@@ -99,10 +137,18 @@ void SettingsTable::attribute(Id /*Name*/, Value & val)
}
}
#endif
+#ifdef DEBUG_DOMAINMAPPER
+ dmapper_logger->endElement("SettingsTable.attribute");
+#endif
}
void SettingsTable::sprm(Sprm& rSprm)
{
+#ifdef DEBUG_DOMAINMAPPER
+ dmapper_logger->startElement("SettingsTable.sprm");
+ dmapper_logger->chars(rSprm.toString());
+#endif
+
sal_uInt32 nSprmId = rSprm.getId();
Value::Pointer_t pValue = rSprm.getValue();
@@ -184,11 +230,20 @@ void SettingsTable::sprm(Sprm& rSprm)
m_pImpl->m_bRecordChanges = bool(rSprm.getValue( )->getInt( ) );
}
break;
+ case NS_ooxml::LN_CT_Settings_documentProtection:
+ {
+ resolveSprmProps(*this, rSprm);
+ }
+ break;
default:
{
OSL_ENSURE( false, "unknown sprmid in SettingsTable::sprm()");
}
}
+
+#ifdef DEBUG_DOMAINMAPPER
+ dmapper_logger->endElement("SettingsTable.sprm");
+#endif
}
void SettingsTable::entry(int /*pos*/, writerfilter::Reference<Properties>::Pointer_t ref)