From 1439b8e8bf4ab114d1a5440daf590d2a6b76a341 Mon Sep 17 00:00:00 2001 From: Emmanuel Lepage <emmanuel.lepage@savoirfairelinux.com> Date: Thu, 14 Jun 2012 14:15:34 -0400 Subject: [PATCH] [ #12352 ] Improve model code quality --- kde/src/lib/CallModel.cpp | 78 ++++++++++++++++++++++++++++----------- kde/src/lib/CallModel.h | 19 +++++----- 2 files changed, 66 insertions(+), 31 deletions(-) diff --git a/kde/src/lib/CallModel.cpp b/kde/src/lib/CallModel.cpp index 622d6efa8d..93afb27574 100644 --- a/kde/src/lib/CallModel.cpp +++ b/kde/src/lib/CallModel.cpp @@ -26,20 +26,21 @@ bool CallModelBase::dbusInit = false; CallMap CallModelBase::m_sActiveCalls; AccountList* CallModelBase::m_spAccountList=NULL; +///Constructor CallModelBase::CallModelBase(QObject* parent) : QObject(parent) { if (!dbusInit) { CallManagerInterface& callManager = CallManagerInterfaceSingleton::getInstance(); - + //SLOTS // SENDER SIGNAL RECEIVER SLOT / - /**/connect(&callManager, SIGNAL( callStateChanged (const QString &, const QString & ) ), this , SLOT( on1_callStateChanged ( const QString &, const QString & ) ) ); - /**/connect(&callManager, SIGNAL( incomingCall (const QString &, const QString &, const QString & ) ), this , SLOT( on1_incomingCall ( const QString &, const QString & ) ) ); - /**/connect(&callManager, SIGNAL( conferenceCreated (const QString & ) ), this , SLOT( on1_incomingConference( const QString & ) ) ); - /**/connect(&callManager, SIGNAL( conferenceChanged (const QString &, const QString & ) ), this , SLOT( on1_changingConference( const QString &, const QString & ) ) ); - /**/connect(&callManager, SIGNAL( conferenceRemoved (const QString & ) ), this , SLOT( on1_conferenceRemoved ( const QString & ) ) ); - /**/connect(&callManager, SIGNAL( voiceMailNotify (const QString &, int ) ), this , SLOT( on1_voiceMailNotify ( const QString &, int ) ) ); - /**/connect(&callManager, SIGNAL( volumeChanged (const QString &, double ) ), this , SLOT( on1_volumeChanged ( const QString &, double ) ) ); + /**/connect(&callManager, SIGNAL( callStateChanged (const QString &, const QString & ) ), this , SLOT( callStateChanged ( const QString &, const QString & ) ) ); + /**/connect(&callManager, SIGNAL( incomingCall (const QString &, const QString &, const QString & ) ), this , SLOT( incomingCall ( const QString &, const QString & ) ) ); + /**/connect(&callManager, SIGNAL( conferenceCreated (const QString & ) ), this , SLOT( incomingConference( const QString & ) ) ); + /**/connect(&callManager, SIGNAL( conferenceChanged (const QString &, const QString & ) ), this , SLOT( changingConference( const QString &, const QString & ) ) ); + /**/connect(&callManager, SIGNAL( conferenceRemoved (const QString & ) ), this , SLOT( conferenceRemoved ( const QString & ) ) ); + /**/connect(&callManager, SIGNAL( voiceMailNotify (const QString &, int ) ), this , SLOT( voiceMailNotify ( const QString &, int ) ) ); + /**/connect(&callManager, SIGNAL( volumeChanged (const QString &, double ) ), this , SLOT( volumeChanged ( const QString &, double ) ) ); /* */ connect(HistoryModel::self(),SIGNAL(newHistoryCall(Call*)),this,SLOT(addPrivateCall(Call*))); @@ -53,13 +54,15 @@ CallModelBase::CallModelBase(QObject* parent) : QObject(parent) } } +///Destructor CallModelBase::~CallModelBase() { if (m_spAccountList) delete m_spAccountList; m_spAccountList = NULL; } -void CallModelBase::on1_callStateChanged(const QString &callID, const QString &state) +///When a call state change +void CallModelBase::callStateChanged(const QString &callID, const QString &state) { //This code is part of the CallModel iterface too qDebug() << "Call State Changed for call " << callID << " . New state : " << state; @@ -87,7 +90,15 @@ void CallModelBase::on1_callStateChanged(const QString &callID, const QString &s } -void CallModelBase::on1_incomingCall(const QString & accountID, const QString & callID) + +/***************************************************************************** + * * + * Slots * + * * + ****************************************************************************/ + +///When a new call is incoming +void CallModelBase::incomingCall(const QString & accountID, const QString & callID) { Q_UNUSED(accountID) qDebug() << "Signal : Incoming Call ! ID = " << callID; @@ -96,14 +107,16 @@ void CallModelBase::on1_incomingCall(const QString & accountID, const QString & emit incomingCall(call); } -void CallModelBase::on1_incomingConference(const QString &confID) +///When a new conference is incoming +void CallModelBase::incomingConference(const QString &confID) { Call* conf = addConference(confID); qDebug() << "---------------Adding conference" << conf << confID << "---------------"; emit conferenceCreated(conf); } -void CallModelBase::on1_changingConference(const QString &confID, const QString &state) +///When a conference change +void CallModelBase::changingConference(const QString &confID, const QString &state) { Call* conf = getCall(confID); qDebug() << "Changing conference state" << conf << confID; @@ -117,7 +130,8 @@ void CallModelBase::on1_changingConference(const QString &confID, const QString } } -void CallModelBase::on1_conferenceRemoved(const QString &confId) +///When a conference is removed +void CallModelBase::conferenceRemoved(const QString &confId) { Call* conf = getCall(confId); emit aboutToRemoveConference(conf); @@ -125,17 +139,20 @@ void CallModelBase::on1_conferenceRemoved(const QString &confId) emit conferenceRemoved(confId); } -void CallModelBase::on1_voiceMailNotify(const QString &accountID, int count) +///When a new voice mail is available +void CallModelBase::voiceMailNotify(const QString &accountID, int count) { qDebug() << "Signal : VoiceMail Notify ! " << count << " new voice mails for account " << accountID; emit voiceMailNotify(accountID,count); } -void CallModelBase::on1_volumeChanged(const QString & device, double value) +///When the daemon change the volume +void CallModelBase::volumeChanged(const QString & device, double value) { emit volumeChanged(device,value); } +///Add a call to the model (reimplemented in .hpp) Call* CallModelBase::addCall(Call* call, Call* parent) { if (call->getCurrentState() != CALL_STATE_OVER) @@ -145,12 +162,14 @@ Call* CallModelBase::addCall(Call* call, Call* parent) return call; } +///Emit conference created signal Call* CallModelBase::addConferenceS(Call* conf) { emit conferenceCreated(conf); return conf; } +///Account status changed void CallModelBase::accountChanged(const QString& account,const QString& state, int code) { Q_UNUSED(code) @@ -160,6 +179,21 @@ void CallModelBase::accountChanged(const QString& account,const QString& state, } } +///Remove it from active calls +void CallModelBase::removeActiveCall(Call* call) +{ + Q_UNUSED(call); + //There is a race condition + //m_sActiveCalls[call->getCallId()] = nullptr; +} + + +/***************************************************************************** + * * + * Getter * + * * + ****************************************************************************/ + ///Return a list of registered accounts AccountList* CallModelBase::getAccountList() { @@ -169,14 +203,14 @@ AccountList* CallModelBase::getAccountList() return m_spAccountList; } -///Remove it from active calls -void CallModelBase::removeActiveCall(Call* call) -{ - Q_UNUSED(call); - //There is a race condition - //m_sActiveCalls[call->getCallId()] = nullptr; -} +/***************************************************************************** + * * + * Setters * + * * + ****************************************************************************/ + +///Add call slot void CallModelBase::addPrivateCall(Call* call) { addCall(call,0); } diff --git a/kde/src/lib/CallModel.h b/kde/src/lib/CallModel.h index a2527a5043..d6c67d9870 100644 --- a/kde/src/lib/CallModel.h +++ b/kde/src/lib/CallModel.h @@ -40,6 +40,7 @@ class Account; class ContactBackend; class HistoryModel; +//Typedef typedef QMap<QString, Call*> CallMap; typedef QList<Call*> CallList; @@ -64,13 +65,13 @@ public: static AccountList* getAccountList ( ); public slots: - void on1_callStateChanged ( const QString& callID , const QString &state ); - void on1_incomingCall ( const QString& accountID , const QString & callID ); - void on1_incomingConference ( const QString& confID ); - void on1_changingConference ( const QString& confID , const QString &state ); - void on1_conferenceRemoved ( const QString& confId ); - void on1_voiceMailNotify ( const QString& accountID , int count ); - void on1_volumeChanged ( const QString& device , double value ); + void callStateChanged ( const QString& callID , const QString &state ); + void incomingCall ( const QString& accountID , const QString & callID ); + void incomingConference ( const QString& confID ); + void changingConference ( const QString& confID , const QString &state ); + void conferenceRemoved ( const QString& confId ); + void voiceMailNotify ( const QString& accountID , int count ); + void volumeChanged ( const QString& device , double value ); protected: static CallMap m_sActiveCalls; @@ -209,8 +210,8 @@ class LIB_EXPORT CallModel : public CallModelBase { static CallMap m_lConfList; - static QString m_sPriorAccountId; - static bool m_sCallInit ; + static QString m_sPriorAccountId; + static bool m_sCallInit ; private: static bool m_sInstanceInit; -- GitLab