Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/201911
  • release/releaseWindowsTestOne
  • release/windowsReleaseTest
  • release/releaseTest
  • release/releaseWindowsTest
  • release/201910
  • release/qt/201910
  • release/windows-test/201910
  • release/201908
  • release/201906
  • release/201905
  • release/201904
  • release/201903
  • release/201902
  • release/201901
  • release/201812
  • 4.0.0
  • 2.2.0
  • 2.1.0
  • 2.0.1
  • 2.0.0
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.0
  • 1.1.0
30 results

CallList.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    CallList.cpp 5.19 KiB
    /***************************************************************************
     *   Copyright (C) 2009 by Savoir-Faire Linux                              *
     *   Author : Jérémy Quentin                                               *
     *   jeremy.quentin@savoirfairelinux.com                                   *
     *                                                                         *
     *   This program is free software; you can redistribute it and/or modify  *
     *   it under the terms of the GNU General Public License as published by  *
     *   the Free Software Foundation; either version 3 of the License, or     *
     *   (at your option) any later version.                                   *
     *                                                                         *
     *   This program is distributed in the hope that it will be useful,       *
     *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
     *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
     *   GNU General Public License for more details.                          *
     *                                                                         *
     *   You should have received a copy of the GNU General Public License     *
     *   along with this program; if not, write to the                         *
     *   Free Software Foundation, Inc.,                                       *
     *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
     ***************************************************************************/ 
    
    #include "CallList.h"
    
    
    #include "callmanager_interface_singleton.h"
    #include "configurationmanager_interface_singleton.h"
    
    CallList::CallList(QObject * parent)
     : QObject(parent)
    {
    	CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
    	ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
    	QStringList callList = callManager.getCallList();
    	qDebug() << "Call List = " << callList;
    	calls = new QVector<Call *>();
    	for(int i = 0 ; i < callList.size() ; i++)
    	{
    		calls->append(Call::buildExistingCall(callList[i]));
    	}
    	MapStringString historyMap = configurationManager.getHistory().value();
    	qDebug() << "Call History = " << historyMap;
    	QMapIterator<QString, QString> i(historyMap);
    	while (i.hasNext()) {
    		i.next();
    		uint startTimeStamp = i.key().toUInt();
    		QStringList param = i.value().split("|");
    		QString type = param[0];
    		QString number = param[1];
    		QString name = param[2];
    		uint stopTimeStamp = param[3].toUInt();
    		QString account = param[4];
    		calls->insert(0, Call::buildHistoryCall(generateCallId(), startTimeStamp, stopTimeStamp, account, name, number, type));
    	}
    }
    
    MapStringString CallList::getHistoryMap()
    {
    	MapStringString res;
    	for(int i = 0 ; i < size() ; i++)
    	{
    		Call * call = (*calls)[i];
    		if(
    		     call->getState() == CALL_STATE_OVER && 
    		     call->getHistoryState() != NONE
    		  )
    		{
    			QString key = call->getStartTimeStamp();
    			QString val = Call::getTypeFromHistoryState(call->getHistoryState()) + "|" + call->getPeerPhoneNumber() + "|" + call->getPeerName() + "|" + call->getStopTimeStamp() + "|" + call->getAccountId();
    			res[key] = val;
    		}