00001
00022 #ifndef _TelepathyQt_tube_channel_h_HEADER_GUARD_
00023 #define _TelepathyQt_tube_channel_h_HEADER_GUARD_
00024
00025 #ifndef IN_TP_QT_HEADER
00026 #error IN_TP_QT_HEADER
00027 #endif
00028
00029 #include <TelepathyQt/Channel>
00030
00031 namespace Tp
00032 {
00033
00034 class TP_QT_EXPORT TubeChannel : public Channel
00035 {
00036 Q_OBJECT
00037 Q_DISABLE_COPY(TubeChannel)
00038
00039 public:
00040 static const Feature FeatureCore;
00041
00042 static TubeChannelPtr create(const ConnectionPtr &connection,
00043 const QString &objectPath, const QVariantMap &immutableProperties);
00044
00045 virtual ~TubeChannel();
00046
00047 TubeChannelState state() const;
00048
00049 QVariantMap parameters() const;
00050
00051 Q_SIGNALS:
00052 void stateChanged(Tp::TubeChannelState state);
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 TP_QT_NO_EXPORT void onTubeChannelStateChanged(uint newstate);
00063 TP_QT_NO_EXPORT void gotTubeProperties(Tp::PendingOperation *op);
00064
00065 private:
00066 struct Private;
00067 friend struct Private;
00068 Private *mPriv;
00069 };
00070
00071 }
00072
00073 #endif