summaryrefslogtreecommitdiff
path: root/unotools
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2017-12-14 13:14:02 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2017-12-19 01:25:48 +0100
commit5c66c0711286bcfa9d3ab4a87777c2af9e1c25d9 (patch)
treefa8a93602c18c60984f9e4aee7afb06fc15d4148 /unotools
parentdf4fac1dbce087bbd01bbec242b93c72edcef74b (diff)
Read/write 'encrypt to self' bit
use some template functions to avoid duplicate code Change-Id: Ia178ea3a0561e34e0431749262f5f8f1f49b4fe7 Reviewed-on: https://gerrit.libreoffice.org/46693 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'unotools')
-rw-r--r--unotools/source/config/useroptions.cxx50
1 files changed, 46 insertions, 4 deletions
diff --git a/unotools/source/config/useroptions.cxx b/unotools/source/config/useroptions.cxx
index e19168da2885..adf58180204a 100644
--- a/unotools/source/config/useroptions.cxx
+++ b/unotools/source/config/useroptions.cxx
@@ -67,7 +67,8 @@ static o3tl::enumarray<UserOptToken, char const *> vOptionNames = {
"fathersname", // UserOptToken::FathersName
"apartment", // UserOptToken::Apartment
"signingkey", // UserOptToken::SigningKey
- "encryptionkey" // UserOptToken::EncryptionKey
+ "encryptionkey", // UserOptToken::EncryptionKey
+ "encrypttoself" // UserOptToken::EncryptToSelf
};
std::weak_ptr<SvtUserOptions::Impl> SvtUserOptions::xSharedImpl;
@@ -96,12 +97,19 @@ public:
bool IsTokenReadonly (UserOptToken nToken) const;
OUString GetToken (UserOptToken nToken) const;
void SetToken (UserOptToken nToken, OUString const& rNewToken);
+ bool GetBoolValue (UserOptToken nToken) const;
+ void SetBoolValue (UserOptToken nToken, bool& bNewValue);
void Notify ();
private:
uno::Reference<util::XChangesListener> m_xChangeListener;
uno::Reference<container::XNameAccess> m_xCfg;
uno::Reference<beans::XPropertySet> m_xData;
+
+ template < typename ValueType >
+ ValueType GetValue_Impl( UserOptToken nToken ) const;
+ template < typename ValueType >
+ void SetValue_Impl( UserOptToken nToken, ValueType const& rNewValue );
};
void SvtUserOptions::ChangeListener::changesOccurred (util::ChangesEvent const& rEvent)
@@ -153,9 +161,10 @@ SvtUserOptions::Impl::Impl() :
}
}
-OUString SvtUserOptions::Impl::GetToken (UserOptToken nToken) const
+template < typename ValueType >
+ValueType SvtUserOptions::Impl::GetValue_Impl (UserOptToken nToken) const
{
- OUString sToken;
+ ValueType sToken = ValueType();
try
{
if (m_xData.is())
@@ -168,7 +177,8 @@ OUString SvtUserOptions::Impl::GetToken (UserOptToken nToken) const
return sToken;
}
-void SvtUserOptions::Impl::SetToken (UserOptToken nToken, OUString const& sToken)
+template < typename ValueType >
+void SvtUserOptions::Impl::SetValue_Impl (UserOptToken nToken, ValueType const& sToken)
{
try
{
@@ -182,6 +192,26 @@ void SvtUserOptions::Impl::SetToken (UserOptToken nToken, OUString const& sToken
}
}
+OUString SvtUserOptions::Impl::GetToken (UserOptToken nToken) const
+{
+ return GetValue_Impl<OUString>( nToken );
+}
+
+void SvtUserOptions::Impl::SetToken (UserOptToken nToken, OUString const& sToken)
+{
+ SetValue_Impl<OUString>( nToken, sToken );
+}
+
+bool SvtUserOptions::Impl::GetBoolValue (UserOptToken nToken) const
+{
+ return GetValue_Impl<bool>( nToken );
+}
+
+void SvtUserOptions::Impl::SetBoolValue (UserOptToken nToken, bool& bNewValue)
+{
+ SetValue_Impl<bool>( nToken, bNewValue );
+}
+
OUString SvtUserOptions::Impl::GetFullName () const
{
OUString sFullName;
@@ -299,6 +329,18 @@ void SvtUserOptions::SetToken (UserOptToken nToken, OUString const& rNewToken)
xImpl->SetToken(nToken, rNewToken);
}
+void SvtUserOptions::SetBoolValue (UserOptToken nToken, bool bNewValue)
+{
+ osl::MutexGuard aGuard(GetInitMutex());
+ xImpl->SetBoolValue(nToken, bNewValue);
+}
+
+bool SvtUserOptions::GetEncryptToSelf() const
+{
+ osl::MutexGuard aGuard(GetInitMutex());
+ return xImpl->GetBoolValue(UserOptToken::EncryptToSelf);
+}
+
OUString SvtUserOptions::GetFullName () const
{
osl::MutexGuard aGuard(GetInitMutex());