Skip to content
Snippets Groups Projects
Commit 7cf1b77a authored by Alexandre Lision's avatar Alexandre Lision
Browse files

credential: create credentials on demand

Tuleap: #342
Change-Id: Id28bb9a3248f7730e72001fe484ce0a224cd40ca
parent 7aadfa9e
Branches
Tags
No related merge requests found
......@@ -515,20 +515,27 @@ bool CredentialModel::performAction(const CredentialModel::EditAction action)
return curState != d_ptr->m_EditState;
}
Credential* CredentialModel::primaryCredential(Credential::Type type) const
/*
* Return the primary credential's set of specified type
* @return credential object, new empty one if none existed.
*/
Credential* CredentialModel::primaryCredential(Credential::Type type)
{
switch(type) {
case Credential::Type::STUN:
if (d_ptr->m_pStunCat && d_ptr->m_pStunCat->m_lChildren.size())
return d_ptr->m_pStunCat->m_lChildren.first()->m_pCredential;
if (!d_ptr->m_pStunCat || !d_ptr->m_pStunCat->m_lChildren.size())
addCredentials(Credential::Type::STUN);
return d_ptr->m_pStunCat->m_lChildren.first()->m_pCredential;
break;
case Credential::Type::TURN:
if (d_ptr->m_pTurnCat && d_ptr->m_pTurnCat->m_lChildren.size())
return d_ptr->m_pTurnCat->m_lChildren.first()->m_pCredential;
if (!d_ptr->m_pTurnCat || !d_ptr->m_pTurnCat->m_lChildren.size())
addCredentials(Credential::Type::TURN);
return d_ptr->m_pTurnCat->m_lChildren.first()->m_pCredential;
break;
case Credential::Type::SIP:
if (d_ptr->m_pSipCat && d_ptr->m_pSipCat->m_lChildren.size())
return d_ptr->m_pSipCat->m_lChildren.first()->m_pCredential;
if (!d_ptr->m_pSipCat || !d_ptr->m_pSipCat->m_lChildren.size())
addCredentials(Credential::Type::SIP);
return d_ptr->m_pSipCat->m_lChildren.first()->m_pCredential;
break;
case Credential::Type::COUNT__:
break;
......
......@@ -87,7 +87,7 @@ public:
CredentialModel::EditState editState() const;
QAbstractItemModel* availableTypeModel() const;
QItemSelectionModel* availableTypeSelectionModel() const;
Credential* primaryCredential(Credential::Type type = Credential::Type::SIP) const;
Credential* primaryCredential(Credential::Type type = Credential::Type::SIP);
//Operator
CredentialModel* operator<<(CredentialModel::EditAction& action);
......@@ -102,4 +102,3 @@ private:
Q_DECLARE_METATYPE(CredentialModel*)
CredentialModel* LIB_EXPORT operator<<(CredentialModel* a, CredentialModel::EditAction action);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment