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

account-factory.h

    00001
    00023 #ifndef _TelepathyQt_account_factory_h_HEADER_GUARD_
    00024 #define _TelepathyQt_account_factory_h_HEADER_GUARD_
    00025
    00026 #ifndef IN_TP_QT_HEADER
    00027 #error IN_TP_QT_HEADER
    00028 #endif
    00029
    00030 #include <TelepathyQt/Global>
    00031 #include <TelepathyQt/SharedPtr>
    00032 #include <TelepathyQt/Types>
    00033
    00034 #include <TelepathyQt/Account>
    00035 #include <TelepathyQt/Feature>
    00036 #include <TelepathyQt/FixedFeatureFactory>
    00037
    00038 class QDBusConnection;
    00039
    00040 namespace Tp
    00041 {
    00042
    00043 class PendingReady;
    00044
    00045 class TP_QT_EXPORT AccountFactory : public FixedFeatureFactory
    00046 {
    00047     Q_OBJECT
    00048     Q_DISABLE_COPY(AccountFactory)
    00049
    00050 public:
    00051     static AccountFactoryPtr create(const QDBusConnection &bus,
    00052             const Features &features = Features());
    00053
    00054     virtual ~AccountFactory();
    00055
    00056     PendingReady *proxy(const QString &busName, const QString &objectPath,
    00057             const ConnectionFactoryConstPtr &connFactory,
    00058             const ChannelFactoryConstPtr &chanFactory,
    00059             const ContactFactoryConstPtr &contactFactory) const;
    00060
    00061 protected:
    00062     AccountFactory(const QDBusConnection &bus, const Features &features);
    00063
    00064     virtual AccountPtr construct(const QString &busName, const QString &objectPath,
    00065             const ConnectionFactoryConstPtr &connFactory,
    00066             const ChannelFactoryConstPtr &chanFactory,
    00067             const ContactFactoryConstPtr &contactFactory) const;
    00068     virtual QString finalBusNameFrom(const QString &uniqueOrWellKnown) const;
    00069     // Nothing we'd like to prepare()
    00070     // Fixed features
    00071
    00072 private:
    00073     struct Private;
    00074     Private *mPriv; // Currently unused, just for future-proofing
    00075 };
    00076
    00077 } // Tp
    00078
    00079 #endif