00001
00002
00003
00004
00005
00006
00007
00008 #ifndef IN_TP_QT_HEADER
00009 #error IN_TP_QT_HEADER
00010 #endif
00011
00012 #include <TelepathyQt/Types>
00013
00014 #include <QtGlobal>
00015
00016 #include <QString>
00017 #include <QObject>
00018 #include <QVariant>
00019
00020 #include <QDBusPendingReply>
00021
00022 #include <TelepathyQt/AbstractInterface>
00023 #include <TelepathyQt/DBusProxy>
00024 #include <TelepathyQt/Global>
00025
00026 namespace Tp
00027 {
00028 class PendingVariant;
00029 class PendingOperation;
00030 }
00031
00032 namespace Tp
00033 {
00034 namespace Client
00035 {
00036
00044 class TP_QT_EXPORT DebugInterface : public Tp::AbstractInterface
00045 {
00046 Q_OBJECT
00047
00048 public:
00055 static inline QLatin1String staticInterfaceName()
00056 {
00057 return QLatin1String("org.freedesktop.Telepathy.Debug");
00058 }
00059
00067 DebugInterface(
00068 const QString& busName,
00069 const QString& objectPath,
00070 QObject* parent = 0
00071 );
00072
00081 DebugInterface(
00082 const QDBusConnection& connection,
00083 const QString& busName,
00084 const QString& objectPath,
00085 QObject* parent = 0
00086 );
00087
00094 DebugInterface(Tp::DBusProxy *proxy);
00095
00106 inline Tp::PendingVariant *requestPropertyEnabled() const
00107 {
00108 return internalRequestProperty(QLatin1String("Enabled"));
00109 }
00110
00121 inline Tp::PendingOperation *setPropertyEnabled(bool newValue)
00122 {
00123 return internalSetProperty(QLatin1String("Enabled"), QVariant::fromValue(newValue));
00124 }
00125
00132 Tp::PendingVariantMap *requestAllProperties() const
00133 {
00134 return internalRequestAllProperties();
00135 }
00136
00137 public Q_SLOTS:
00155 inline QDBusPendingReply<Tp::DebugMessageList> GetMessages(int timeout = -1)
00156 {
00157 if (!invalidationReason().isEmpty()) {
00158 return QDBusPendingReply<Tp::DebugMessageList>(QDBusMessage::createError(
00159 invalidationReason(),
00160 invalidationMessage()
00161 ));
00162 }
00163
00164 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00165 this->staticInterfaceName(), QLatin1String("GetMessages"));
00166 return this->connection().asyncCall(callMessage, timeout);
00167 }
00168
00169 Q_SIGNALS:
00193 void NewDebugMessage(double time, const QString& domain, uint level, const QString& message);
00194
00195 protected:
00196 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
00197 };
00198 }
00199 }
00200 Q_DECLARE_METATYPE(Tp::Client::DebugInterface*)