Home · All Classes · All Namespaces · Modules · Functions · Files
pending-operation.h
00001 
00023 #ifndef _TelepathyQt_pending_operation_h_HEADER_GUARD_
00024 #define _TelepathyQt_pending_operation_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/RefCounted>
00032 #include <TelepathyQt/SharedPtr>
00033 
00034 #include <QObject>
00035 
00036 class QDBusError;
00037 class QDBusPendingCall;
00038 class QDBusPendingCallWatcher;
00039 
00040 namespace Tp
00041 {
00042 
00043 class ReadinessHelper;
00044 
00045 class TP_QT_EXPORT PendingOperation : public QObject
00046 {
00047     Q_OBJECT
00048     Q_DISABLE_COPY(PendingOperation)
00049 
00050 public:
00051     virtual ~PendingOperation();
00052 
00053     bool isFinished() const;
00054 
00055     bool isValid() const;
00056 
00057     bool isError() const;
00058     QString errorName() const;
00059     QString errorMessage() const;
00060 
00061 Q_SIGNALS:
00062     void finished(Tp::PendingOperation *operation);
00063 
00064 protected:
00065     PendingOperation(const SharedPtr<RefCounted> &object);
00066     SharedPtr<RefCounted> object() const;
00067 
00068 protected Q_SLOTS:
00069     void setFinished();
00070     void setFinishedWithError(const QString &name, const QString &message);
00071     void setFinishedWithError(const QDBusError &error);
00072 
00073 private Q_SLOTS:
00074     TP_QT_NO_EXPORT void emitFinished();
00075 
00076 private:
00077     friend class ContactManager;
00078     friend class ReadinessHelper;
00079 
00080     struct Private;
00081     friend struct Private;
00082     Private *mPriv;
00083 };
00084 
00085 } // Tp
00086 
00087 #endif


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt 0.9.3