- Added daemon start functionality
[qtrapids] / src / engine / QTorrentHandle.h
index f4238c8..e0d797d 100644 (file)
 #ifndef QTORRENTHANDLE_H
 #define QTORRENTHANDLE_H
 
+#include <QtGlobal>
+
 #include <libtorrent/torrent_handle.hpp>
 
 
+typedef libtorrent::torrent_status TorrentStatus;
+typedef libtorrent::torrent_info TorrentInfo;
+typedef libtorrent::torrent_handle TorrentHandle;
+
 
 /**
        @author Lassi Väätämöinen <lassi.vaatamoinen@ixonos.com>
 */
-class QTorrentHandle 
+
+namespace qtrapids
+{
+
+class QTorrentHandle
 {
-       
-       public:
-               QTorrentHandle(libtorrent::torrent_handle handle);
-    ~QTorrentHandle();
-               
-               
-       private:
-               QTorrentHandle(); // Prevent default construct.
-               libtorrent::torrent_handle torrentHandle;
-               
+public:
+
+       enum State {
+               QUEUED_FOR_CHECKING = TorrentStatus::queued_for_checking,
+               CHECKING_FILES,
+               DOWNLOADING_METADATA,
+               DOWNLOADING,
+               FINISHED,
+               SEEDING,
+               ALLOCATING,
+               UNSPECIFIED
+       };
+
+       QTorrentHandle(libtorrent::torrent_handle handle);
+       ~QTorrentHandle();
+
+
+
+       TorrentInfo const& getTorrentInfo() const;
+
+       bool isValid() const;
+
+       QString name() const;
+       size_t getTotalSize() const;
+       QTorrentHandle::State state() const;
+       float progress() const;
+       float uploadRate() const;
+       float downloadRate() const;
+       qint32 numSeeds() const;
+       qint32 numLeeches() const;
+       qint32 ratio() const;
+
+       TorrentHandle getHandle() const;
+
+       bool operator==(QTorrentHandle const& h) const;
+       bool operator<(QTorrentHandle const& h) const;
+
+private:
+       QTorrentHandle(); // Prevent default construct.
+       TorrentHandle torrentHandle_;
+
+       TorrentStatus status() const;
+
 };
 
+} // namespace qtrapids
 #endif