+/***************************************************************************
+ * 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; 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 *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
#include "TorrentSession.hpp"
#include "TorrentHandle.hpp"
#include "AlertWaiterThread.hpp"
QDBusConnection dbus = QDBusConnection::sessionBus();
dbus.registerObject("/qtrapids", this);
dbus.registerService("com.ixonos.qtrapids");
-
+
alertWaiter_->allAlerts();
connect(alertWaiter_, SIGNAL(alert()), this, SLOT(on_alert()));
alertWaiter_->start();
}
+
+TorrentSession::~TorrentSession()
+{
+ alertWaiter_->stop();
+ alertWaiter_->wait();
+ emit sessionTerminated();
+}
+
+
void TorrentSession::loadState()
{
TorrentDownloadInfo info;
state.up_rate = handle.uploadRate();
state.seeds = handle.numSeeds();
state.leeches = handle.numLeeches();
-
+ state.total_size = handle.getTotalSize();
+ state.total_done = handle.getTotalDone();
+
ParamsMap_t params;
emit alert(state, params);
}
QDir::home().mkdir(settings_->getTorrentsSubDir());
if (!torrent_file.exists()) {
- qWarning() << "Torrent file " << path << "doesn't exist";
+ qWarning() << Q_FUNC_INFO << " Torrent file " << path << "doesn't exist";
return;
}
QString new_torrent_fname(QDir(settings_->getTorrentsDir())
.filePath(QFileInfo(path).fileName()));
#ifdef QTRAPIDS_DEBUG
- qDebug() << "copy to " << new_torrent_fname;
+ qDebug() << Q_FUNC_INFO << " copy to " << new_torrent_fname;
#endif
torrent_file.copy(new_torrent_fname);
#ifdef QTRAPIDS_DEBUG
- qDebug() << "addTorrent: " << path << " save to " << save_path;
+ qDebug() << Q_FUNC_INFO << path << " save to " << save_path;
#endif
boost::intrusive_ptr<libtorrent::torrent_info> tiTmp
if (p == torrents_.end()) {
#ifdef QTRAPIDS_DEBUG
- qDebug() << "Invalid request to remove torrent with hash " << hash;
+ qDebug() << Q_FUNC_INFO << " Invalid request to remove torrent with hash " << hash;
#endif
return;
}
}
+void TorrentSession::terminateSession()
+{
+ qDebug() << "Terminate called";
+ // Emiting terminate() here causes the server application to quit in main()
+ emit terminate();
+}
+
} // namespace qtrapids