2#include "ParameterUser.h"
3#include "RabbitCommonTools.h"
4#include <QLoggingCategory>
6static Q_LOGGING_CATEGORY(log,
"Client.Parameter.User")
10 , m_Type(QList<TYPE>() << TYPE::UserPassword)
11 , m_UsedType(TYPE::UserPassword)
12 , m_bSavePassword(false)
13 , m_bUseSystemFile(true)
14 , m_bSavePassphrase(false)
16 m_TypeName = {{TYPE::None, tr(
"None")},
17 {TYPE::OnlyPassword, tr(
"Password")},
18 {TYPE::UserPassword, tr(
"Username and password")},
19 {TYPE::PublicKey, tr(
"Public key")},
20 {TYPE::OnlyPasswordX509None, tr(
"Password with X509 none")},
21 {TYPE::OnlyPasswordX509, tr(
"Password with X509")},
22 {TYPE::UserPasswordX509None, tr(
"Username and password with X509 none")},
23 {TYPE::UserPasswordX509, tr(
"Username and password with X509")}
27int CParameterUser::OnLoad(QSettings &set)
29 set.beginGroup(
"User");
30 SetUser(set.value(
"Name", GetUser()).toString());
32 set.beginGroup(
"Authentication");
34 foreach(
auto t, GetType()) {
35 type.push_back(QString::number((
int)t));
38 vType = set.value(
"Type", type).toStringList();
40 foreach(
auto s, vType)
42 lstType.push_back((
TYPE)s.toInt());
45 SetUsedType((
TYPE)set.value(
"Type/Used", (
int)GetUsedType()).toInt());
51 if(!LoadPassword(tr(
"Password"),
"Password", szPassword, set))
52 SetPassword(szPassword);
55 set.beginGroup(
"PublicKey");
56 set.beginGroup(
"File");
58 SetPublicKeyFile(set.value(
"PublicKey",
59 GetPublicKeyFile()).toString());
60 SetPrivateKeyFile(set.value(
"PrivateKey",
61 GetPrivateKeyFile()).toString());
62 SetSavePassphrase(set.value(
"SavePassphrase", GetSavePassphrase()).toBool());
63 if(GetSavePassphrase()) {
65 if(!LoadPassword(tr(
"Passphrase"),
"Passphrase", szPassword, set))
66 SetPassphrase(szPassword);
69 SetCAFile(set.value(
"CA", GetCAFile()).toString());
70 SetCRLFile(set.value(
"CRL", GetCRLFile()).toString());
80int CParameterUser::OnSave(QSettings &set)
82 set.beginGroup(
"User");
83 set.setValue(
"Name", GetUser());
85 set.beginGroup(
"Authentication");
87 foreach(
auto t, GetType()) {
88 type.push_back(QString::number((
int)t));
90 set.setValue(
"Type", type);
91 set.setValue(
"Type/Used", (
int)GetUsedType());
93 set.setValue(
"SavePassword", GetSavePassword());
94 SavePassword(
"Password", GetPassword(), set, GetSavePassword());
96 set.beginGroup(
"PublicKey");
97 set.beginGroup(
"File");
99 set.setValue(
"PublicKey", GetPublicKeyFile());
100 set.setValue(
"PrivateKey", GetPrivateKeyFile());
101 set.setValue(
"SavePassphrase", GetSavePassphrase());
102 SavePassword(
"Passphrase", GetPassphrase(), set, GetSavePassphrase());
104 set.setValue(
"CA", GetCAFile());
105 set.setValue(
"CRL", GetCRLFile());
115QList<CParameterUser::TYPE> CParameterUser::GetType()
const
120int CParameterUser::SetType(QList<TYPE> type)
134int CParameterUser::SetUsedType(TYPE type)
136 if(m_UsedType == type)
143const QString CParameterUser::GetUser()
const
148void CParameterUser::SetUser(
const QString &szUser)
150 if (m_szUser == szUser)
156const QString CParameterUser::GetPassword()
const
161void CParameterUser::SetPassword(
const QString &szPassword)
163 if(m_szPassword == szPassword)
165 m_szPassword = szPassword;
169const bool CParameterUser::GetSavePassword()
const
171 return m_bSavePassword;
176 if (m_bSavePassword == save)
178 m_bSavePassword = save;
186 QString szErr =
"The CParameterClient is null";
187 qCritical(log) << szErr;
188 Q_ASSERT_X(
false,
"CParameterUser", szErr.toStdString().c_str());
195 SetUser(RabbitCommon::CTools::GetCurrentUser());
207 return m_bUseSystemFile;
210int CParameterUser::SetUseSystemFile(
bool use)
212 if(m_bUseSystemFile == use)
214 m_bUseSystemFile = use;
219QString CParameterUser::GetPassphrase()
const
221 return m_szPassphrase;
224int CParameterUser::SetPassphrase(
const QString passphrase)
226 if(m_szPassphrase == passphrase)
228 m_szPassphrase = passphrase;
233bool CParameterUser::GetSavePassphrase()
const
235 return m_bSavePassphrase;
238int CParameterUser::SetSavePassphrase(
bool bSave)
240 if(m_bSavePassphrase == bSave)
242 m_bSavePassphrase = bSave;
247QString CParameterUser::GetPublicKeyFile()
const
249 return m_szPublicKeyFile;
252int CParameterUser::SetPublicKeyFile(
const QString szFile)
254 if(m_szPublicKeyFile == szFile)
256 m_szPublicKeyFile = szFile;
261QString CParameterUser::GetPrivateKeyFile()
const
263 return m_szPrivateKeyFile;
266int CParameterUser::SetPrivateKeyFile(
const QString szFile)
268 if(m_szPrivateKeyFile == szFile)
270 m_szPrivateKeyFile = szFile;
275QString CParameterUser::GetCAFile()
const
280int CParameterUser::SetCAFile(
const QString &ca)
289QString CParameterUser::GetCRLFile()
const
294int CParameterUser::SetCRLFile(
const QString &crl)
296 if(m_szCRLFile == crl)
303QString CParameterUser::ConvertTypeToName(TYPE t)
305 return m_TypeName[t];
308int CParameterUser::SetTypeName(TYPE t,
const QString& szName)
310 m_TypeName[t] = szName;
Operational parameter interface.
CParameterPlugin * GetGlobalParameters()
Get CParameterPlugin.
It contains user and password It only valid in plugin.
virtual void slotSetGlobalParameters() override
Initialize this parameter based on the global parameter.
void SetSavePassword(bool save)
Set save password.
bool GetUseSystemFile() const
[Initialize parameter after set CParameterPlugin]
int SetModified(bool bModified=true)
When setting parameters, if there is a modification, it is called.