mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
Simplify signaling by making Matching2 a layer over normal signaling. Implements UPNP port forwarding Implement sceNpMatching2AbortRequest Fix reported bw in sceNpUtil Hack for Fat Princess binding udp on 3658 Reenable CB for sceNpBasicAddPlayersHistoryAsync Misc fixes
60 lines
1.2 KiB
C++
60 lines
1.2 KiB
C++
#include "stdafx.h"
|
|
#include "upnp_config.h"
|
|
#include "Utilities/File.h"
|
|
|
|
LOG_CHANNEL(upnp_cfg_log, "UPNP_CFG");
|
|
|
|
void cfg_upnp::load()
|
|
{
|
|
const std::string path = cfg_upnp::get_path();
|
|
|
|
fs::file cfg_file(path, fs::read);
|
|
if (cfg_file)
|
|
{
|
|
upnp_cfg_log.notice("Loading UPNP config. Path: %s", path);
|
|
from_string(cfg_file.to_string());
|
|
}
|
|
else
|
|
{
|
|
upnp_cfg_log.notice("UPNP config missing. Using default settings. Path: %s", path);
|
|
from_default();
|
|
}
|
|
}
|
|
|
|
void cfg_upnp::save() const
|
|
{
|
|
#ifdef _WIN32
|
|
const std::string path_to_cfg = fs::get_config_dir() + "config/";
|
|
if (!fs::create_path(path_to_cfg))
|
|
{
|
|
upnp_cfg_log.error("Could not create path: %s", path_to_cfg);
|
|
}
|
|
#endif
|
|
|
|
fs::pending_file cfg_file(cfg_upnp::get_path());
|
|
|
|
if (!cfg_file.file || (cfg_file.file.write(to_string()), !cfg_file.commit()))
|
|
{
|
|
upnp_cfg_log.error("Could not save config: %s (error=%s)", cfg_upnp::get_path(), fs::g_tls_error);
|
|
}
|
|
}
|
|
|
|
std::string cfg_upnp::get_device_url() const
|
|
{
|
|
return device_url.to_string();
|
|
}
|
|
|
|
void cfg_upnp::set_device_url(std::string_view url)
|
|
{
|
|
device_url.from_string(url);
|
|
}
|
|
|
|
std::string cfg_upnp::get_path()
|
|
{
|
|
#ifdef _WIN32
|
|
return fs::get_config_dir() + "config/upnp.yml";
|
|
#else
|
|
return fs::get_config_dir() + "upnp.yml";
|
|
#endif
|
|
}
|