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
No related branches found
No related tags found
No related merge requests found
...@@ -515,20 +515,27 @@ bool CredentialModel::performAction(const CredentialModel::EditAction action) ...@@ -515,20 +515,27 @@ bool CredentialModel::performAction(const CredentialModel::EditAction action)
return curState != d_ptr->m_EditState; 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) { switch(type) {
case Credential::Type::STUN: case Credential::Type::STUN:
if (d_ptr->m_pStunCat && d_ptr->m_pStunCat->m_lChildren.size()) if (!d_ptr->m_pStunCat || !d_ptr->m_pStunCat->m_lChildren.size())
return d_ptr->m_pStunCat->m_lChildren.first()->m_pCredential; addCredentials(Credential::Type::STUN);
return d_ptr->m_pStunCat->m_lChildren.first()->m_pCredential;
break; break;
case Credential::Type::TURN: case Credential::Type::TURN:
if (d_ptr->m_pTurnCat && d_ptr->m_pTurnCat->m_lChildren.size()) if (!d_ptr->m_pTurnCat || !d_ptr->m_pTurnCat->m_lChildren.size())
return d_ptr->m_pTurnCat->m_lChildren.first()->m_pCredential; addCredentials(Credential::Type::TURN);
return d_ptr->m_pTurnCat->m_lChildren.first()->m_pCredential;
break; break;
case Credential::Type::SIP: case Credential::Type::SIP:
if (d_ptr->m_pSipCat && d_ptr->m_pSipCat->m_lChildren.size()) if (!d_ptr->m_pSipCat || !d_ptr->m_pSipCat->m_lChildren.size())
return d_ptr->m_pSipCat->m_lChildren.first()->m_pCredential; addCredentials(Credential::Type::SIP);
return d_ptr->m_pSipCat->m_lChildren.first()->m_pCredential;
break; break;
case Credential::Type::COUNT__: case Credential::Type::COUNT__:
break; break;
......
...@@ -87,7 +87,7 @@ public: ...@@ -87,7 +87,7 @@ public:
CredentialModel::EditState editState() const; CredentialModel::EditState editState() const;
QAbstractItemModel* availableTypeModel() const; QAbstractItemModel* availableTypeModel() const;
QItemSelectionModel* availableTypeSelectionModel() const; QItemSelectionModel* availableTypeSelectionModel() const;
Credential* primaryCredential(Credential::Type type = Credential::Type::SIP) const; Credential* primaryCredential(Credential::Type type = Credential::Type::SIP);
//Operator //Operator
CredentialModel* operator<<(CredentialModel::EditAction& action); CredentialModel* operator<<(CredentialModel::EditAction& action);
...@@ -102,4 +102,3 @@ private: ...@@ -102,4 +102,3 @@ private:
Q_DECLARE_METATYPE(CredentialModel*) Q_DECLARE_METATYPE(CredentialModel*)
CredentialModel* LIB_EXPORT operator<<(CredentialModel* a, CredentialModel::EditAction action); 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