-
Jérémy Quentin authoredJérémy Quentin authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
AccountList.cpp 2.21 KiB
#include "AccountList.h"
#include "sflphone_const.h"
//Constructors
/*
AccountList::AccountList(VectorString & _accountIds)
{
accounts = new QVector<Account *>(1);
(*accounts) += new Account(*(new QListWidgetItem()), "alias");
for (int i = 0; i < _accountIds.size(); ++i){
(*accounts) += new Account(_accountIds[i]);
}
}
*/
AccountList::AccountList(QStringList & _accountIds)
{
accounts = new QVector<Account *>();
for (int i = 0; i < _accountIds.size(); ++i){
(*accounts) += Account::buildExistingAccountFromId(_accountIds[i]);
}
}
AccountList::~AccountList()
{
delete accounts;
}
//Getters
QVector<Account *> & AccountList::getAccounts()
{
return *accounts;
}
Account * AccountList::getAccountById(QString & id)
{
qDebug() << "for ";
for (int i = 0; i < accounts->size(); ++i){
qDebug() << "account " << i << " (*accounts)[i]->getAccountId() " << (*accounts)[i]->getAccountId();
if ((*accounts)[i]->getAccountId() == id)
return (*accounts)[i];
}
return NULL;
}
QVector<Account *> AccountList::getAccountByState(QString & state)
{
QVector<Account *> v;
for (int i = 0; i < accounts->size(); ++i){
if ((*accounts)[i]->getAccountDetail(*(new QString(ACCOUNT_STATUS))) == state)
v += (*accounts)[i];
}
return v;
}
/*
Account AccountList::getAccountByRow(int row)
{
}
*/
Account * AccountList::getAccountByItem(QListWidgetItem * item)
{
for (int i = 0; i < accounts->size(); ++i){
if ( (*accounts)[i]->getItem() == item)
return (*accounts)[i];
}
return NULL;
}
int AccountList::size()
{
return accounts->size();
}
//Setters
/*
void AccountList::addAccount(Account & account)
{
accounts->add(account);
}
*/
Account * AccountList::addAccount(QString & alias)
{
Account * a = Account::buildNewAccountFromAlias(alias);
(*accounts) += a;
return a;
}
void AccountList::removeAccount(QListWidgetItem * item)
{
if(!item) {qDebug() << "Attempting to remove an account from a NULL item."; return; }
Account * a = getAccountByItem(item);
if(!a) {qDebug() << "Attempting to remove an unexisting account."; return; }
accounts->remove(accounts->indexOf(a));
}
const Account & AccountList::operator[] (int i) const
{
return *((*accounts)[i]);
}
Account & AccountList::operator[] (int i)
{
return *((*accounts)[i]);
}