| Home · All Classes · All Namespaces · Modules · Functions · Files

file-transfer-channel.h

    00001
    00023 #ifndef _TelepathyQt_file_transfer_channel_h_HEADER_GUARD_
    00024 #define _TelepathyQt_file_transfer_channel_h_HEADER_GUARD_
    00025
    00026 #ifndef IN_TP_QT_HEADER
    00027 #error IN_TP_QT_HEADER
    00028 #endif
    00029
    00030 #include <TelepathyQt/Channel>
    00031
    00032 namespace Tp
    00033 {
    00034
    00035 class TP_QT_EXPORT FileTransferChannel : public Channel
    00036 {
    00037     Q_OBJECT
    00038     Q_DISABLE_COPY(FileTransferChannel)
    00039
    00040 public:
    00041     static const Feature FeatureCore;
    00042
    00043     static FileTransferChannelPtr create(const ConnectionPtr &connection,
    00044             const QString &objectPath, const QVariantMap &immutableProperties);
    00045
    00046     virtual ~FileTransferChannel();
    00047
    00048     FileTransferState state() const;
    00049     FileTransferStateChangeReason stateReason() const;
    00050
    00051     QString fileName() const;
    00052     QString contentType() const;
    00053     qulonglong size() const;
    00054     QString uri() const;
    00055
    00056     FileHashType contentHashType() const;
    00057     QString contentHash() const;
    00058
    00059     QString description() const;
    00060
    00061     QDateTime lastModificationTime() const;
    00062
    00063     qulonglong initialOffset() const;
    00064
    00065     qulonglong transferredBytes() const;
    00066
    00067     PendingOperation *cancel();
    00068
    00069 Q_SIGNALS:
    00070     void stateChanged(Tp::FileTransferState state,
    00071             Tp::FileTransferStateChangeReason reason);
    00072     void initialOffsetDefined(qulonglong initialOffset);
    00073     void transferredBytesChanged(qulonglong count);
    00074
    00075 protected:
    00076     FileTransferChannel(const ConnectionPtr &connection, const QString &objectPath,
    00077             const QVariantMap &immutableProperties,
    00078             const Feature &coreFeature = FileTransferChannel::FeatureCore);
    00079
    00080     SupportedSocketMap availableSocketTypes() const;
    00081
    00082     virtual void connectToHost();
    00083     bool isConnected() const;
    00084     void setConnected();
    00085
    00086     bool isFinished() const;
    00087     virtual void setFinished();
    00088
    00089 private Q_SLOTS:
    00090     TP_QT_NO_EXPORT void gotProperties(QDBusPendingCallWatcher *watcher);
    00091
    00092     TP_QT_NO_EXPORT void changeState();
    00093     TP_QT_NO_EXPORT void onStateChanged(uint state, uint stateReason);
    00094     TP_QT_NO_EXPORT void onInitialOffsetDefined(qulonglong initialOffset);
    00095     TP_QT_NO_EXPORT void onTransferredBytesChanged(qulonglong count);
    00096
    00097 protected Q_SLOTS:
    00098     TP_QT_NO_EXPORT void onUriDefined(const QString &uri);
    00099
    00100 private:
    00101     struct Private;
    00102     friend struct Private;
    00103     Private *mPriv;
    00104 };
    00105
    00106 } // Tp
    00107
    00108 #endif