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

connection-factory.h

    00001
    00023 #ifndef _TelepathyQt_connection_factory_h_HEADER_GUARD_
    00024 #define _TelepathyQt_connection_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/Feature>
    00035 #include <TelepathyQt/FixedFeatureFactory>
    00036
    00037 // For Q_DISABLE_COPY
    00038 #include <QtGlobal>
    00039
    00040 #include <QString>
    00041
    00042 class QDBusConnection;
    00043
    00044 namespace Tp
    00045 {
    00046
    00047 class PendingReady;
    00048
    00049 class TP_QT_EXPORT ConnectionFactory : public FixedFeatureFactory
    00050 {
    00051 public:
    00052     static ConnectionFactoryPtr create(const QDBusConnection &bus,
    00053             const Features &features = Features());
    00054
    00055     virtual ~ConnectionFactory();
    00056
    00057     PendingReady *proxy(const QString &busName, const QString &objectPath,
    00058             const ChannelFactoryConstPtr &chanFactory,
    00059             const ContactFactoryConstPtr &contactFactory) const;
    00060
    00061 protected:
    00062     ConnectionFactory(const QDBusConnection &bus, const Features &features);
    00063
    00064     virtual ConnectionPtr construct(const QString &busName, const QString &objectPath,
    00065             const ChannelFactoryConstPtr &chanFactory,
    00066             const ContactFactoryConstPtr &contactFactory) const;
    00067     virtual QString finalBusNameFrom(const QString &uniqueOrWellKnown) const;
    00068     // Nothing we'd like to prepare()
    00069     // Fixed features
    00070
    00071 private:
    00072     struct Private;
    00073     Private *mPriv; // Currently unused, just for future-proofing
    00074 };
    00075
    00076 } // Tp
    00077
    00078 #endif