| Home · All Classes · All Namespaces · Modules · Functions · Files

account-set.h

    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 } // Tp
    00078
    00079 #endif