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;
CParameterPlugin * GetGlobalParameters()
Get CParameterPlugin
用户名与验证方式。此类仅在插件内有效。它的界面是 CParameterUserUI
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)
在设置参数时,如果有修改,则调用。