mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-08-13 05:32:31 +00:00
Added "-d" to change the default root dir.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@388 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
@@ -48,7 +48,15 @@ Download::release_download() {
|
||||
|
||||
void
|
||||
Download::receive_tracker_msg(std::string msg) {
|
||||
m_trackerMsg = msg;
|
||||
if (msg.empty())
|
||||
m_message = "";
|
||||
else
|
||||
m_message = "Tracker: [" + msg + "]";
|
||||
}
|
||||
|
||||
void
|
||||
Download::receive_storage_error(std::string msg) {
|
||||
m_message = "Storage error: [" + msg + "]";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+3
-2
@@ -39,7 +39,7 @@ public:
|
||||
torrent::Download& get_download() { return m_download; }
|
||||
std::string get_hash() { return m_download.get_hash(); }
|
||||
|
||||
const std::string& get_tracker_msg() { return m_trackerMsg; }
|
||||
const std::string& get_message() { return m_message; }
|
||||
|
||||
void start() { m_download.start(); }
|
||||
void stop() { m_download.stop(); }
|
||||
@@ -51,10 +51,11 @@ public:
|
||||
|
||||
private:
|
||||
void receive_tracker_msg(std::string msg);
|
||||
void receive_storage_error(std::string msg);
|
||||
|
||||
torrent::Download m_download;
|
||||
|
||||
std::string m_trackerMsg;
|
||||
std::string m_message;
|
||||
|
||||
sigc::connection m_connTrackerSucceded;
|
||||
sigc::connection m_connTrackerFailed;
|
||||
|
||||
@@ -170,6 +170,9 @@ Manager::create_final(std::istream* s) {
|
||||
|
||||
(*itr)->get_download().set_ip(m_dns);
|
||||
|
||||
if (!m_defaultRoot.empty())
|
||||
(*itr)->get_download().set_root_dir(m_defaultRoot + ((*itr)->get_download().get_entry_size() ? (*itr)->get_download().get_name() : ""));
|
||||
|
||||
start(*itr);
|
||||
m_downloadStore.save(*itr);
|
||||
|
||||
|
||||
@@ -68,6 +68,8 @@ public:
|
||||
void set_port_range(int a, int b) { m_portFirst = a; m_portLast = b; }
|
||||
void set_listen_ip(const std::string& ip) { m_listenIp = ip; }
|
||||
|
||||
void set_default_root(const std::string& path);
|
||||
|
||||
void debug_tracker() { m_debugTracker = 0; }
|
||||
|
||||
private:
|
||||
@@ -95,9 +97,19 @@ private:
|
||||
int m_portLast;
|
||||
std::string m_listenIp;
|
||||
|
||||
std::string m_defaultRoot;
|
||||
|
||||
int m_debugTracker;
|
||||
};
|
||||
|
||||
inline void
|
||||
Manager::set_default_root(const std::string& path) {
|
||||
m_defaultRoot = path;
|
||||
|
||||
if (!m_defaultRoot.empty() && *m_defaultRoot.rbegin() != '/')
|
||||
m_defaultRoot.push_back('/');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user