Home · All Classes · All Namespaces · Modules · Functions · Files
account-factory.h
00001 
00023 #ifndef _TelepathyQt4_account_factory_h_HEADER_GUARD_
00024 #define _TelepathyQt4_account_factory_h_HEADER_GUARD_
00025 
00026 #ifndef IN_TELEPATHY_QT4_HEADER
00027 #error IN_TELEPATHY_QT4_HEADER
00028 #endif
00029 
00030 #include <TelepathyQt4/Global>
00031 #include <TelepathyQt4/SharedPtr>
00032 #include <TelepathyQt4/Types>
00033 
00034 #include <TelepathyQt4/Account>
00035 #include <TelepathyQt4/Feature>
00036 #include <TelepathyQt4/FixedFeatureFactory>
00037 
00038 class QDBusConnection;
00039 
00040 namespace Tp
00041 {
00042 
00043 class PendingReady;
00044 
00045 class TELEPATHY_QT4_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


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt4 0.8.0