00001
00023 #ifndef _TelepathyQt_account_set_h_HEADER_GUARD_
00024 #define _TelepathyQt_account_set_h_HEADER_GUARD_
00025
00026 #ifndef IN_TP_QT_HEADER
00027 #error IN_TP_QT_HEADER
00028 #endif
00029
00030 #include <TelepathyQt/Filter>
00031 #include <TelepathyQt/Object>
00032 #include <TelepathyQt/Types>
00033
00034 #include <QList>
00035 #include <QString>
00036 #include <QVariantMap>
00037
00038 namespace Tp
00039 {
00040
00041 class TP_QT_EXPORT AccountSet : public Object
00042 {
00043 Q_OBJECT
00044 Q_DISABLE_COPY(AccountSet)
00045 Q_PROPERTY(AccountManagerPtr accountManager READ accountManager)
00046 Q_PROPERTY(AccountFilterConstPtr filter READ filter)
00047 Q_PROPERTY(QList<AccountPtr> accounts READ accounts)
00048
00049 public:
00050 AccountSet(const AccountManagerPtr &accountManager,
00051 const AccountFilterConstPtr &filter);
00052 AccountSet(const AccountManagerPtr &accountManager,
00053 const QVariantMap &filter);
00054 virtual ~AccountSet();
00055
00056 AccountManagerPtr accountManager() const;
00057
00058 AccountFilterConstPtr filter() const;
00059
00060 QList<AccountPtr> accounts() const;
00061
00062 Q_SIGNALS:
00063 void accountAdded(const Tp::AccountPtr &account);
00064 void accountRemoved(const Tp::AccountPtr &account);
00065
00066 private Q_SLOTS:
00067 TP_QT_NO_EXPORT void onNewAccount(const Tp::AccountPtr &account);
00068 TP_QT_NO_EXPORT void onAccountRemoved(const Tp::AccountPtr &account);
00069 TP_QT_NO_EXPORT void onAccountChanged(const Tp::AccountPtr &account);
00070
00071 private:
00072 struct Private;
00073 friend struct Private;
00074 Private *mPriv;
00075 };
00076
00077 }
00078
00079 #endif