refactor: add tr_torrent::renamePath (#2178)
This commit is contained in:
parent
e7a229e6c3
commit
a21594b0ce
|
@ -1421,15 +1421,15 @@ static char const* torrentRenamePath(
|
|||
{
|
||||
char const* errmsg = nullptr;
|
||||
|
||||
char const* oldpath = nullptr;
|
||||
(void)tr_variantDictFindStr(args_in, TR_KEY_path, &oldpath, nullptr);
|
||||
char const* newname = nullptr;
|
||||
(void)tr_variantDictFindStr(args_in, TR_KEY_name, &newname, nullptr);
|
||||
auto oldpath = std::string_view{};
|
||||
(void)tr_variantDictFindStrView(args_in, TR_KEY_path, &oldpath);
|
||||
auto newname = std::string_view{};
|
||||
(void)tr_variantDictFindStrView(args_in, TR_KEY_name, &newname);
|
||||
|
||||
auto const torrents = getTorrents(session, args_in);
|
||||
if (std::size(torrents) == 1)
|
||||
{
|
||||
tr_torrentRenamePath(torrents[0], oldpath, newname, torrentRenamePathDone, idle_data);
|
||||
torrents[0]->renamePath(oldpath, newname, torrentRenamePathDone, idle_data);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -784,7 +784,6 @@ static void sessionSetImpl(void* vdata)
|
|||
auto d = double{};
|
||||
auto i = int64_t{};
|
||||
auto sv = std::string_view{};
|
||||
char const* strVal = nullptr;
|
||||
tr_turtle_info* const turtle = &session->turtle;
|
||||
|
||||
if (tr_variantDictFindInt(settings, TR_KEY_message_level, &i))
|
||||
|
|
|
@ -3695,6 +3695,22 @@ static void torrentRenamePath(void* vdata)
|
|||
tr_free(data);
|
||||
}
|
||||
|
||||
void tr_torrent::renamePath(
|
||||
std::string_view oldpath,
|
||||
std::string_view newname,
|
||||
tr_torrent_rename_done_func callback,
|
||||
void* callback_user_data)
|
||||
{
|
||||
auto* const data = tr_new0(struct rename_data, 1);
|
||||
data->tor = this;
|
||||
data->oldpath = tr_strvDup(oldpath);
|
||||
data->newname = tr_strvDup(newname);
|
||||
data->callback = callback;
|
||||
data->callback_user_data = callback_user_data;
|
||||
|
||||
tr_runInEventThread(this->session, torrentRenamePath, data);
|
||||
}
|
||||
|
||||
void tr_torrentRenamePath(
|
||||
tr_torrent* tor,
|
||||
char const* oldpath,
|
||||
|
@ -3702,14 +3718,10 @@ void tr_torrentRenamePath(
|
|||
tr_torrent_rename_done_func callback,
|
||||
void* callback_user_data)
|
||||
{
|
||||
auto* const data = tr_new0(struct rename_data, 1);
|
||||
data->tor = tor;
|
||||
data->oldpath = tr_strdup(oldpath);
|
||||
data->newname = tr_strdup(newname);
|
||||
data->callback = callback;
|
||||
data->callback_user_data = callback_user_data;
|
||||
oldpath = oldpath != nullptr ? oldpath : "";
|
||||
newname = newname != nullptr ? newname : "";
|
||||
|
||||
tr_runInEventThread(tor->session, torrentRenamePath, data);
|
||||
tor->renamePath(oldpath, newname, callback, callback_user_data);
|
||||
}
|
||||
|
||||
void tr_torrent::takeMetainfo(tr_metainfo_parsed&& parsed)
|
||||
|
|
|
@ -143,6 +143,12 @@ public:
|
|||
double volatile* setme_progress,
|
||||
int volatile* setme_state);
|
||||
|
||||
void renamePath(
|
||||
std::string_view oldpath,
|
||||
std::string_view newname,
|
||||
tr_torrent_rename_done_func callback,
|
||||
void* callback_user_data);
|
||||
|
||||
tr_sha1_digest_t pieceHash(tr_piece_index_t i) const
|
||||
{
|
||||
TR_ASSERT(i < std::size(this->piece_checksums_));
|
||||
|
|
Loading…
Reference in New Issue