X-Git-Url: http://git.maemo.org/git/?p=qtrapids;a=blobdiff_plain;f=src%2Fengine%2FQBittorrentSession.h;h=5dcc7bb67cc058bf7d9a0c7bec9eacef644198e2;hp=19de9d79ce8362042ad8638a5021c40a24cdc4e8;hb=1d97c0a567b80cf9fc67791669debfe3aa9c4c84;hpb=afa034e0adbbeaf337e34671efd44f5e487c17ba diff --git a/src/engine/QBittorrentSession.h b/src/engine/QBittorrentSession.h index 19de9d7..5dcc7bb 100644 --- a/src/engine/QBittorrentSession.h +++ b/src/engine/QBittorrentSession.h @@ -1,11 +1,9 @@ /*************************************************************************** - * Copyright (C) 2009 by Lassi Väätämöinen * - * lassi.vaatamoinen@ixonos.com * + * Copyright (C) 2010 by Ixonos Plc * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * + * the Free Software Foundation; version 2 of the License. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * @@ -20,20 +18,62 @@ #ifndef QBITTORRENTSESSION_H #define QBITTORRENTSESSION_H +#include + +#include + +#include +#include +#include + +#include "QTorrentHandle.h" + + +// Forward declarations and typedefs +class AlertWaiterThread; +typedef libtorrent::session TorrentSession; +typedef libtorrent::session_settings SessionSettings; +typedef libtorrent::add_torrent_params AddTorrentParams; +typedef libtorrent::alert Alert; +typedef libtorrent::torrent_alert TorrentAlert; +typedef libtorrent::sha1_hash Sha1Hash; + + +namespace qtrapids +{ + /** @author Lassi Väätämöinen */ -class QBittorrentSession { +class QBittorrentSession : public QObject +{ + Q_OBJECT +// class BitTorrentSession; + +public: + QBittorrentSession(QObject *parent = 0); + ~QBittorrentSession(); + + /// @brief Add torrent to session. + qtrapids::QTorrentHandle addTorrent(AddTorrentParams const& params); + void removeTorrent(qtrapids::QTorrentHandle const& handle); + + void setUploadRateLimit(int rate); + void setDownloadRateLimit(int rate); + int getUploadRateLimt() const; + int getDownloadRateLimit() const; + +signals: + void alert(std::auto_ptr al); - public: - QBittorrentSession(); +private slots: + void on_alert(Alert const *al); - ~QBittorrentSession(); - public slots: - private slots: - private: - +private: + TorrentSession btSession_; + AlertWaiterThread *alertWaiter_; }; +} //namespace qtrapids #endif