[Telepathy-commits] [telepathy-qt4/master] Account: improve code reuse

Simon McVittie simon.mcvittie at collabora.co.uk
Wed Jan 21 10:56:38 PST 2009


---
 TelepathyQt4/Client/account.cpp |   18 +++++-------------
 1 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/TelepathyQt4/Client/account.cpp b/TelepathyQt4/Client/account.cpp
index e013540..c5e1f1c 100644
--- a/TelepathyQt4/Client/account.cpp
+++ b/TelepathyQt4/Client/account.cpp
@@ -380,16 +380,14 @@ const Telepathy::Avatar &Account::avatar() const
  */
 PendingOperation *Account::setAvatar(const Telepathy::Avatar &avatar)
 {
-    AccountInterfaceAvatarInterface *iface = avatarInterface();
-    if (!iface) {
+    if (!avatarInterface()) {
         return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
                 "Unimplemented");
     }
 
-    DBus::PropertiesInterface *propertiesIface =
-        OptionalInterfaceFactory::interface<DBus::PropertiesInterface>(*iface);
     return new PendingVoidMethodCall(this,
-            propertiesIface->Set(TELEPATHY_INTERFACE_ACCOUNT_INTERFACE_AVATAR,
+            propertiesInterface()->Set(
+                TELEPATHY_INTERFACE_ACCOUNT_INTERFACE_AVATAR,
                 "Avatar", QDBusVariant(QVariant::fromValue(avatar))));
 }
 
@@ -901,15 +899,9 @@ void Account::updateProperties(const QVariantMap &props)
 
 void Account::retrieveAvatar()
 {
-    // we already checked if avatar interface exists, so bypass avatar interface
-    // checking
-    AccountInterfaceAvatarInterface *iface =
-        avatarInterface(BypassInterfaceCheck);
-
-    DBus::PropertiesInterface *propertiesIface =
-        interface<DBus::PropertiesInterface>(*iface);
     QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(
-            propertiesIface->Get(TELEPATHY_INTERFACE_ACCOUNT_INTERFACE_AVATAR,
+            propertiesInterface()->Get(
+                TELEPATHY_INTERFACE_ACCOUNT_INTERFACE_AVATAR,
                 "Avatar"), this);
     connect(watcher,
             SIGNAL(finished(QDBusPendingCallWatcher *)),
-- 
1.5.6.5



More information about the Telepathy-commits mailing list