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 FeatureCore;
00041
00042 static const Feature FeatureTube;
00043
00044 static TubeChannelPtr create(const ConnectionPtr &connection,
00045 const QString &objectPath, const QVariantMap &immutableProperties);
00046
00047 virtual ~TubeChannel();
00048
00049 TubeChannelState state() const;
00050 TELEPATHY_QT4_DEPRECATED TubeChannelState tubeState() const;
00051
00052 QVariantMap parameters() const;
00053
00054 Q_SIGNALS:
00055 void stateChanged(Tp::TubeChannelState state);
00056 void tubeStateChanged(Tp::TubeChannelState state);
00057
00058 protected:
00059 TubeChannel(const ConnectionPtr &connection, const QString &objectPath,
00060 const QVariantMap &immutableProperties,
00061 const Feature &coreFeature = TubeChannel::FeatureCore);
00062
00063 void setParameters(const QVariantMap ¶meters);
00064
00065
00066 void connectNotify(const char *);
00067
00068 private Q_SLOTS:
00069 TELEPATHY_QT4_NO_EXPORT void onTubeChannelStateChanged(uint newstate);
00070 TELEPATHY_QT4_NO_EXPORT void gotTubeProperties(Tp::PendingOperation *op);
00071
00072 private:
00073 struct Private;
00074 friend struct Private;
00075 Private *mPriv;
00076 };
00077
00078 }
00079
00080 #endif