[SCM] ktp-common-internals packaging branch, master, updated. debian/15.12.1-2-1839-gf0635e9

Maximiliano Curia maxy at moszumanska.debian.org
Mon May 9 09:05:53 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-common-internals.git;a=commitdiff;h=9d40153

The following commit has been merged in the master branch:
commit 9d401532e959ffaa8b679055fc04c12a927bcb65
Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Wed Nov 21 18:17:36 2012 +0900

    Remove AccountContact class
    
    In practice this didn't really work. It becomes difficult to track the changes of a contact without rendering this uesless.
    Instead expose AccountForContact as public API.
    
    REVIEW: 107400
---
 KTp/global-contact-manager.cpp | 64 +++++++-----------------------------------
 KTp/global-contact-manager.h   | 24 ++++------------
 2 files changed, 15 insertions(+), 73 deletions(-)

diff --git a/KTp/global-contact-manager.cpp b/KTp/global-contact-manager.cpp
index 57de505..1f55d13 100644
--- a/KTp/global-contact-manager.cpp
+++ b/KTp/global-contact-manager.cpp
@@ -26,7 +26,6 @@
 
 #include <KDebug>
 
-using namespace KTp;
 
 namespace KTp {
 class GlobalContactManagerPrivate {
@@ -35,32 +34,12 @@ public:
 };
 }
 
-AccountContact::AccountContact(const Tp::AccountPtr &account, const Tp::ContactPtr &contact)
-{
-    m_account = account;
-    m_contact = contact;
-}
-
-Tp::AccountPtr AccountContact::account() const
-{
-    return m_account;
-}
-
-Tp::ContactPtr AccountContact::contact() const
-{
-    return m_contact;
-}
-
+using namespace KTp;
 
 GlobalContactManager::GlobalContactManager(const Tp::AccountManagerPtr &accountManager, QObject *parent) :
     QObject(parent),
     d(new GlobalContactManagerPrivate())
 {
-    if (! d->accountManager.isNull()) {
-        kWarning() << "account manager already set";
-        return;
-    }
-
     d->accountManager = accountManager;
 
     Q_FOREACH(const Tp::AccountPtr &account, accountManager->allAccounts()) {
@@ -74,19 +53,16 @@ GlobalContactManager::~GlobalContactManager()
     delete d;
 }
 
-AccountContactList GlobalContactManager::allKnownContacts()
+Tp::Contacts GlobalContactManager::allKnownContacts() const
 {
-    AccountContactList allContacts;
-
+    Tp::Contacts allContacts;
     if (d->accountManager.isNull()) {
         return allContacts;
     }
 
     Q_FOREACH(const Tp::AccountPtr &account, d->accountManager->allAccounts()) {
         if (!account->connection().isNull() && account->connection()->contactManager()->state() == Tp::ContactListStateSuccess) {
-            Q_FOREACH(const Tp::ContactPtr &contact, account->connection()->contactManager()->allKnownContacts()) {
-                allContacts.append(AccountContact(account, contact));
-            }
+            allContacts.unite(account->connection()->contactManager()->allKnownContacts());
         }
     }
     return allContacts;
@@ -122,39 +98,19 @@ void GlobalContactManager::onContactManagerStateChanged(const Tp::ContactManager
         return;
     }
 
-    onAllKnownContactsChanged(contactManager, contactManager->allKnownContacts(), Tp::Contacts(), Tp::Channel::GroupMemberChangeDetails());
-    connect(contactManager.data(), SIGNAL(allKnownContactsChanged(Tp::Contacts,Tp::Contacts,Tp::Channel::GroupMemberChangeDetails)), SLOT(onAllKnownContactsChanged(Tp::Contacts,Tp::Contacts,Tp::Channel::GroupMemberChangeDetails)));
-}
+    //contact manager connected, inform everyone of potential new contacts
+    Q_EMIT allKnownContactsChanged(contactManager->allKnownContacts(), Tp::Contacts());
 
-void GlobalContactManager::onAllKnownContactsChanged(const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved, const Tp::Channel::GroupMemberChangeDetails &details)
-{
-    Tp::ContactManager* contactManager = qobject_cast<Tp::ContactManager*>(sender());
-    Q_ASSERT(contactManager);
-    onAllKnownContactsChanged(Tp::ContactManagerPtr(contactManager), contactsAdded, contactsRemoved, details);
+    connect(contactManager.data(), SIGNAL(allKnownContactsChanged(Tp::Contacts,Tp::Contacts,Tp::Channel::GroupMemberChangeDetails)), SIGNAL(allKnownContactsChanged(Tp::Contacts,Tp::Contacts)));
 }
 
-void GlobalContactManager::onAllKnownContactsChanged(const Tp::ContactManagerPtr &contactManager, const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved, const Tp::Channel::GroupMemberChangeDetails &details)
+Tp::AccountPtr GlobalContactManager::accountForContact(const Tp::ContactPtr &contact) const
 {
-    Q_UNUSED(details);
-    const Tp::AccountPtr account = accountForContactManager(contactManager);
-
-    AccountContactList contactsToAdd;
-    AccountContactList contactsToRemove;
-
-    Q_FOREACH (const Tp::ContactPtr &contact, contactsAdded) {
-        contactsToAdd << AccountContact(account, contact);
-    }
-    Q_FOREACH (const Tp::ContactPtr &contact, contactsRemoved) {
-        contactsToRemove << AccountContact(account, contact);
-    }
-
-    Q_EMIT allKnownContactsChanged(contactsToAdd, contactsToRemove);
+    return accountForConnection(contact->manager()->connection());
 }
 
-Tp::AccountPtr GlobalContactManager::accountForContactManager(const Tp::ContactManagerPtr &contactManager) const
+Tp::AccountPtr GlobalContactManager::accountForConnection(const Tp::ConnectionPtr &connection) const
 {
-    Tp::ConnectionPtr connection = contactManager->connection();
-
     //loop through all accounts looking for a matching connection.
     //arguably inneficient, but no. of accounts is normally very low, and it's not called very often.
     Q_FOREACH(const Tp::AccountPtr &account, d->accountManager->allAccounts()) {
diff --git a/KTp/global-contact-manager.h b/KTp/global-contact-manager.h
index 4cfa58c..889d45e 100644
--- a/KTp/global-contact-manager.h
+++ b/KTp/global-contact-manager.h
@@ -30,18 +30,6 @@
 
 namespace KTp {
 
-class KTP_EXPORT AccountContact {
-public:
-    AccountContact(const Tp::AccountPtr &account, const Tp::ContactPtr &contact);
-    Tp::AccountPtr account() const;
-    Tp::ContactPtr contact() const;
-private:
-    Tp::AccountPtr m_account;
-    Tp::ContactPtr m_contact;
-};
-
-typedef QList<AccountContact> AccountContactList;
-
 class GlobalContactManagerPrivate;
 
 class KTP_EXPORT GlobalContactManager : public QObject
@@ -51,23 +39,21 @@ public:
     explicit GlobalContactManager(const Tp::AccountManagerPtr &accountManager, QObject *parent = 0);
     virtual ~GlobalContactManager();
 
-    AccountContactList allKnownContacts();
+    Tp::Contacts allKnownContacts() const;
+    Tp::AccountPtr accountForConnection(const Tp::ConnectionPtr &connection) const;
+    Tp::AccountPtr accountForContact(const Tp::ContactPtr &contact) const;
 
 Q_SIGNALS:
-    void allKnownContactsChanged(const KTp::AccountContactList &contactsAdded, const KTp::AccountContactList &contactsRemoved);
-    void presencePublicationRequested(const KTp::AccountContactList &contacts);
+    void allKnownContactsChanged(const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved);
+    void presencePublicationRequested(const Tp::Contacts);
 
 private Q_SLOTS:
     void onNewAccount(const Tp::AccountPtr &account);
     void onConnectionChanged(const Tp::ConnectionPtr &connection);
     void onContactManagerStateChanged(Tp::ContactListState state);
-    void onAllKnownContactsChanged (const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved, const Tp::Channel::GroupMemberChangeDetails &details);
 
 private:
     void onContactManagerStateChanged(const Tp::ContactManagerPtr &contactManager, Tp::ContactListState state);
-    void onAllKnownContactsChanged (const Tp::ContactManagerPtr &contactManager, const Tp::Contacts &contactsAdded, const Tp::Contacts &contactsRemoved, const Tp::Channel::GroupMemberChangeDetails &details);
-
-    Tp::AccountPtr accountForContactManager(const Tp::ContactManagerPtr &contactManager) const;
 
     GlobalContactManagerPrivate *d;
 };

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list