00001
00022 #ifndef _TelepathyQt4_tube_channel_h_HEADER_GUARD_
00023 #define _TelepathyQt4_tube_channel_h_HEADER_GUARD_
00024
00025 #ifndef IN_TELEPATHY_QT4_HEADER
00026 #error IN_TELEPATHY_QT4_HEADER
00027 #endif
00028
00029 #include <TelepathyQt4/Channel>
00030
00031 namespace Tp
00032 {
00033
00034 class TELEPATHY_QT4_EXPORT TubeChannel : public Channel
00035 {
00036 Q_OBJECT
00037 Q_DISABLE_COPY(TubeChannel)
00038
00039 public:
00040 static const Feature FeatureTube;
00041
00042 static TubeChannelPtr create(const ConnectionPtr &connection,
00043 const QString &objectPath, const QVariantMap &immutableProperties);
00044
00045 virtual ~TubeChannel();
00046
00047 TubeChannelState tubeState() const;
00048
00049 QVariantMap parameters() const;
00050
00051 Q_SIGNALS:
00052 void tubeStateChanged(Tp::TubeChannelState newstate);
00053
00054 protected:
00055 TubeChannel(const ConnectionPtr &connection, const QString &objectPath,
00056 const QVariantMap &immutableProperties,
00057 const Feature &coreFeature = TubeChannel::FeatureCore);
00058
00059 void setParameters(const QVariantMap ¶meters);
00060
00061 private Q_SLOTS:
00062 TELEPATHY_QT4_NO_EXPORT void onTubeChannelStateChanged(uint newstate);
00063 TELEPATHY_QT4_NO_EXPORT void gotTubeProperties(QDBusPendingCallWatcher *watcher);
00064
00065 private:
00066 struct Private;
00067 friend struct Private;
00068 Private *mPriv;
00069 };
00070
00071 }
00072
00073 #endif