mirror of
https://github.com/transmission/transmission.git
synced 2025-12-19 18:08:31 +00:00
refactor: make tr_sessionInit() config_dir arg a string_view (#7939)
This commit is contained in:
@@ -346,7 +346,7 @@ int tr_main(int argc, char* argv[])
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
auto* const h = tr_sessionInit(config_dir.c_str(), false, settings);
|
||||
auto* const h = tr_sessionInit(config_dir, false, settings);
|
||||
auto* const ctor = tr_ctorNew(h);
|
||||
|
||||
tr_ctorSetPaused(ctor, TR_FORCE, false);
|
||||
|
||||
@@ -783,9 +783,9 @@ int tr_daemon::start([[maybe_unused]] bool foreground)
|
||||
|
||||
/* start the session */
|
||||
auto const* const cdir = this->config_dir_.c_str();
|
||||
auto* session = tr_sessionInit(cdir, true, settings_);
|
||||
auto* session = tr_sessionInit(config_dir_, true, settings_);
|
||||
tr_sessionSetRPCCallback(session, on_rpc_callback, this);
|
||||
tr_logAddInfo(fmt::format(fmt::runtime(_("Loading settings from '{path}'")), fmt::arg("path", cdir)));
|
||||
tr_logAddInfo(fmt::format(fmt::runtime(_("Loading settings from '{path}'")), fmt::arg("path", config_dir_)));
|
||||
tr_sessionSaveSettings(session, cdir, settings_);
|
||||
|
||||
auto const* const settings_map = settings_.get_if<tr_variant::Map>();
|
||||
|
||||
@@ -614,7 +614,7 @@ void Application::Impl::on_startup()
|
||||
}
|
||||
|
||||
/* initialize the libtransmission session */
|
||||
session = tr_sessionInit(config_dir_.c_str(), true, gtr_pref_get_all());
|
||||
session = tr_sessionInit(config_dir_, true, gtr_pref_get_all());
|
||||
|
||||
gtr_pref_flag_set(TR_KEY_alt_speed_enabled, tr_sessionUsesAltSpeed(session));
|
||||
gtr_pref_int_set(TR_KEY_peer_port, tr_sessionGetPeerPort(session));
|
||||
|
||||
@@ -552,11 +552,10 @@ struct tr_session::init_data
|
||||
std::condition_variable_any done_cv;
|
||||
};
|
||||
|
||||
tr_session* tr_sessionInit(char const* config_dir, bool message_queueing_enabled, tr_variant const& client_settings)
|
||||
tr_session* tr_sessionInit(std::string_view const config_dir, bool message_queueing_enabled, tr_variant const& client_settings)
|
||||
{
|
||||
using namespace bandwidth_group_helpers;
|
||||
|
||||
TR_ASSERT(config_dir != nullptr);
|
||||
TR_ASSERT(client_settings.holds_alternative<tr_variant::Map>());
|
||||
|
||||
tr_timeUpdate(time(nullptr));
|
||||
|
||||
@@ -1213,7 +1213,10 @@ private:
|
||||
friend size_t tr_sessionGetAltSpeed_KBps(tr_session const* session, tr_direction dir);
|
||||
friend tr_port_forwarding_state tr_sessionGetPortForwarding(tr_session const* session);
|
||||
friend tr_sched_day tr_sessionGetAltSpeedDay(tr_session const* session);
|
||||
friend tr_session* tr_sessionInit(char const* config_dir, bool message_queueing_enabled, tr_variant const& client_settings);
|
||||
friend tr_session* tr_sessionInit(
|
||||
std::string_view config_dir,
|
||||
bool message_queueing_enabled,
|
||||
tr_variant const& client_settings);
|
||||
friend uint16_t tr_sessionGetPeerPort(tr_session const* session);
|
||||
friend uint16_t tr_sessionGetRPCPort(tr_session const* session);
|
||||
friend uint16_t tr_sessionSetPeerPortRandom(tr_session* session);
|
||||
|
||||
@@ -218,7 +218,7 @@ void tr_sessionSaveSettings(tr_session* session, char const* config_dir, tr_vari
|
||||
* @see `tr_sessionLoadSettings()`
|
||||
* @see `tr_getDefaultConfigDir()`
|
||||
*/
|
||||
tr_session* tr_sessionInit(char const* config_dir, bool message_queueing_enabled, tr_variant const& settings);
|
||||
tr_session* tr_sessionInit(std::string_view config_dir, bool message_queueing_enabled, tr_variant const& settings);
|
||||
|
||||
/** @brief Update a session's settings from a benc dictionary
|
||||
like to the one used in `tr_sessionInit()` */
|
||||
|
||||
@@ -561,7 +561,7 @@ void onTorrentCompletenessChanged(tr_torrent* tor, tr_completeness status, bool
|
||||
initUnits();
|
||||
|
||||
auto const default_config_dir = tr_getDefaultConfigDir("Transmission");
|
||||
_fLib = tr_sessionInit(default_config_dir.c_str(), YES, settings);
|
||||
_fLib = tr_sessionInit(default_config_dir, YES, settings);
|
||||
_fConfigDirectory = @(default_config_dir.c_str());
|
||||
|
||||
tr_sessionSetIdleLimitHitCallback(_fLib, onIdleLimitHit, (__bridge void*)(self));
|
||||
|
||||
@@ -371,8 +371,9 @@ void Session::start()
|
||||
}
|
||||
else
|
||||
{
|
||||
auto const settings = tr_sessionLoadSettings(config_dir_.toStdString());
|
||||
session_ = tr_sessionInit(config_dir_.toUtf8().constData(), true, settings);
|
||||
auto config_dir = config_dir_.toStdString();
|
||||
auto const settings = tr_sessionLoadSettings(config_dir);
|
||||
session_ = tr_sessionInit(config_dir, true, settings);
|
||||
|
||||
rpc_.start(session_);
|
||||
|
||||
|
||||
@@ -313,7 +313,7 @@ TEST_F(SessionTest, honorsSettings)
|
||||
{
|
||||
settings_map->insert_or_assign(key, true);
|
||||
}
|
||||
auto* session = tr_sessionInit(sandboxDir().data(), false, settings);
|
||||
auto* session = tr_sessionInit(sandboxDir(), false, settings);
|
||||
|
||||
// confirm that these settings were enabled
|
||||
EXPECT_TRUE(session->isPortRandom());
|
||||
|
||||
@@ -334,7 +334,7 @@ private:
|
||||
settings_map->try_emplace(TR_KEY_dht_enabled, false);
|
||||
settings_map->try_emplace(TR_KEY_message_level, verbose_ ? TR_LOG_DEBUG : TR_LOG_ERROR);
|
||||
|
||||
return tr_sessionInit(sandboxDir().data(), !verbose_, settings);
|
||||
return tr_sessionInit(sandboxDir(), !verbose_, settings);
|
||||
}
|
||||
|
||||
static void sessionClose(tr_session* session)
|
||||
|
||||
Reference in New Issue
Block a user