[Telepathy-commits] [telepathy-qt4/master] AccountManager: Use QExplicitlySharedDataPointer for accounts.
Andre Moreira Magalhaes (andrunko)
andre.magalhaes at collabora.co.uk
Wed Mar 18 09:34:11 PDT 2009
---
TelepathyQt4/Client/account-manager.cpp | 19 +++++++++----------
TelepathyQt4/Client/account-manager.h | 13 ++++++-------
TelepathyQt4/Client/account.h | 3 +++
tests/dbus/account-basics.cpp | 2 +-
4 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/TelepathyQt4/Client/account-manager.cpp b/TelepathyQt4/Client/account-manager.cpp
index 25ec1a2..899e5ee 100644
--- a/TelepathyQt4/Client/account-manager.cpp
+++ b/TelepathyQt4/Client/account-manager.cpp
@@ -27,7 +27,6 @@
#include "TelepathyQt4/debug-internal.h"
-#include <TelepathyQt4/Client/Account>
#include <TelepathyQt4/Client/PendingAccount>
#include <TelepathyQt4/Client/PendingReady>
#include <TelepathyQt4/Constants>
@@ -83,7 +82,7 @@ struct AccountManager::Private
QStringList interfaces;
QSet<QString> validAccountPaths;
QSet<QString> invalidAccountPaths;
- QMap<QString, QSharedPointer<Account> > accounts;
+ QMap<QString, AccountPtr> accounts;
};
AccountManager::Private::Private(AccountManager *parent)
@@ -250,7 +249,7 @@ QStringList AccountManager::allAccountPaths() const
* \return A list of Account objects
* \sa invalidAccounts(), allAccounts(), accountsForPaths()
*/
-QList<QSharedPointer<Account> > AccountManager::validAccounts()
+QList<AccountPtr> AccountManager::validAccounts()
{
return accountsForPaths(validAccountPaths());
}
@@ -267,7 +266,7 @@ QList<QSharedPointer<Account> > AccountManager::validAccounts()
* \return A list of Account objects
* \sa validAccounts(), allAccounts(), accountsForPaths()
*/
-QList<QSharedPointer<Account> > AccountManager::invalidAccounts()
+QList<AccountPtr> AccountManager::invalidAccounts()
{
return accountsForPaths(invalidAccountPaths());
}
@@ -284,7 +283,7 @@ QList<QSharedPointer<Account> > AccountManager::invalidAccounts()
* \return A list of Account objects
* \sa validAccounts(), invalidAccounts(), accountsForPaths()
*/
-QList<QSharedPointer<Account> > AccountManager::allAccounts()
+QList<AccountPtr> AccountManager::allAccounts()
{
return accountsForPaths(allAccountPaths());
}
@@ -302,7 +301,7 @@ QList<QSharedPointer<Account> > AccountManager::allAccounts()
* \return A list of Account objects
* \sa validAccounts(), invalidAccounts(), accountsForPaths()
*/
-QSharedPointer<Account> AccountManager::accountForPath(const QString &path)
+AccountPtr AccountManager::accountForPath(const QString &path)
{
if (mPriv->accounts.contains(path)) {
return mPriv->accounts[path];
@@ -310,10 +309,10 @@ QSharedPointer<Account> AccountManager::accountForPath(const QString &path)
if (!mPriv->validAccountPaths.contains(path) &&
!mPriv->invalidAccountPaths.contains(path)) {
- return QSharedPointer<Account>();
+ return AccountPtr();
}
- QSharedPointer<Account> account = QSharedPointer<Account>(
+ AccountPtr account = AccountPtr(
new Account(this, path));
mPriv->accounts[path] = account;
return account;
@@ -332,9 +331,9 @@ QSharedPointer<Account> AccountManager::accountForPath(const QString &path)
* \return A list of Account objects
* \sa validAccounts(), invalidAccounts(), allAccounts()
*/
-QList<QSharedPointer<Account> > AccountManager::accountsForPaths(const QStringList &paths)
+QList<AccountPtr> AccountManager::accountsForPaths(const QStringList &paths)
{
- QList<QSharedPointer<Account> > result;
+ QList<AccountPtr> result;
foreach (const QString &path, paths) {
result << accountForPath(path);
}
diff --git a/TelepathyQt4/Client/account-manager.h b/TelepathyQt4/Client/account-manager.h
index ce639a1..100745b 100644
--- a/TelepathyQt4/Client/account-manager.h
+++ b/TelepathyQt4/Client/account-manager.h
@@ -28,6 +28,7 @@
#include <TelepathyQt4/_gen/cli-account-manager.h>
+#include <TelepathyQt4/Client/Account>
#include <TelepathyQt4/Client/DBus>
#include <TelepathyQt4/Client/DBusProxy>
#include <TelepathyQt4/Client/OptionalInterfaceFactory>
@@ -36,7 +37,6 @@
#include <QDBusObjectPath>
#include <QSet>
-#include <QSharedPointer>
#include <QString>
#include <QVariantMap>
@@ -45,7 +45,6 @@ namespace Telepathy
namespace Client
{
-class Account;
class AccountManager;
class PendingAccount;
class PendingReady;
@@ -76,12 +75,12 @@ public:
QStringList invalidAccountPaths() const;
QStringList allAccountPaths() const;
- QList<QSharedPointer<Account> > validAccounts();
- QList<QSharedPointer<Account> > invalidAccounts();
- QList<QSharedPointer<Account> > allAccounts();
+ QList<AccountPtr> validAccounts();
+ QList<AccountPtr> invalidAccounts();
+ QList<AccountPtr> allAccounts();
- QSharedPointer<Account> accountForPath(const QString &path);
- QList<QSharedPointer<Account> > accountsForPaths(const QStringList &paths);
+ AccountPtr accountForPath(const QString &path);
+ QList<AccountPtr> accountsForPaths(const QStringList &paths);
PendingAccount *createAccount(const QString &connectionManager,
const QString &protocol, const QString &displayName,
diff --git a/TelepathyQt4/Client/account.h b/TelepathyQt4/Client/account.h
index 302cc44..b7231f6 100644
--- a/TelepathyQt4/Client/account.h
+++ b/TelepathyQt4/Client/account.h
@@ -35,6 +35,7 @@
#include <TelepathyQt4/Client/ReadyObject>
#include <TelepathyQt4/Constants>
+#include <QExplicitlySharedDataPointer>
#include <QSet>
#include <QSharedPointer>
#include <QString>
@@ -190,6 +191,8 @@ private:
Private *mPriv;
};
+typedef QExplicitlySharedDataPointer<Account> AccountPtr;
+
} // Telepathy::Client
} // Telepathy
diff --git a/tests/dbus/account-basics.cpp b/tests/dbus/account-basics.cpp
index 30491dd..353e8c5 100644
--- a/tests/dbus/account-basics.cpp
+++ b/tests/dbus/account-basics.cpp
@@ -89,7 +89,7 @@ void TestAccountBasics::testBasics()
QStringList() <<
"/org/freedesktop/Telepathy/Account/foo/bar/Account0");
- QSharedPointer<Account> acc = mAM->accountForPath(
+ AccountPtr acc = mAM->accountForPath(
"/org/freedesktop/Telepathy/Account/foo/bar/Account0");
QVERIFY(connect(acc->becomeReady(),
SIGNAL(finished(Telepathy::Client::PendingOperation *)),
--
1.5.6.5
More information about the telepathy-commits
mailing list