Home · All Classes · All Namespaces · Modules · Functions · Files
file-transfer-channel.h
00001 
00023 #ifndef _TelepathyQt4_file_transfer_channel_h_HEADER_GUARD_
00024 #define _TelepathyQt4_file_transfer_channel_h_HEADER_GUARD_
00025 
00026 #ifndef IN_TELEPATHY_QT4_HEADER
00027 #error IN_TELEPATHY_QT4_HEADER
00028 #endif
00029 
00030 #include <TelepathyQt4/Channel>
00031 
00032 namespace Tp
00033 {
00034 
00035 class TELEPATHY_QT4_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 
00055     FileHashType contentHashType() const;
00056     QString contentHash() const;
00057 
00058     QString description() const;
00059 
00060     QDateTime lastModificationTime() const;
00061 
00062     qulonglong initialOffset() const;
00063 
00064     qulonglong transferredBytes() const;
00065 
00066     PendingOperation *cancel();
00067 
00068 Q_SIGNALS:
00069     void stateChanged(Tp::FileTransferState state,
00070             Tp::FileTransferStateChangeReason reason);
00071     void initialOffsetDefined(qulonglong initialOffset);
00072     void transferredBytesChanged(qulonglong count);
00073 
00074 protected:
00075     FileTransferChannel(const ConnectionPtr &connection, const QString &objectPath,
00076             const QVariantMap &immutableProperties,
00077             const Feature &coreFeature = FileTransferChannel::FeatureCore);
00078 
00079     SupportedSocketMap availableSocketTypes() const;
00080 
00081     virtual void connectToHost();
00082     bool isConnected() const;
00083     void setConnected();
00084 
00085     bool isFinished() const;
00086     virtual void setFinished();
00087 
00088 private Q_SLOTS:
00089     TELEPATHY_QT4_NO_EXPORT void gotProperties(QDBusPendingCallWatcher *watcher);
00090 
00091     TELEPATHY_QT4_NO_EXPORT void changeState();
00092     TELEPATHY_QT4_NO_EXPORT void onStateChanged(uint state, uint stateReason);
00093     TELEPATHY_QT4_NO_EXPORT void onInitialOffsetDefined(qulonglong initialOffset);
00094     TELEPATHY_QT4_NO_EXPORT void onTransferredBytesChanged(qulonglong count);
00095 
00096 private:
00097     struct Private;
00098     friend struct Private;
00099     Private *mPriv;
00100 };
00101 
00102 } // Tp
00103 
00104 #endif


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt4 0.6.0