service: nifm: Populate fields in GetCurrentNetworkProfile

Populates the current_address, subnet_mask, and gateway fields from the selected network interface.
This commit is contained in:
Morph 2021-08-21 11:09:08 -04:00
parent 878d0225c5
commit c1e2063c0d

View file

@ -277,13 +277,20 @@ private:
void GetCurrentNetworkProfile(Kernel::HLERequestContext& ctx) { void GetCurrentNetworkProfile(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_NIFM, "(STUBBED) called"); LOG_WARNING(Service_NIFM, "(STUBBED) called");
const SfNetworkProfileData network_profile_data{ const auto net_iface = Network::GetSelectedNetworkInterface();
const SfNetworkProfileData network_profile_data = [&net_iface] {
if (!net_iface) {
return SfNetworkProfileData{};
}
return SfNetworkProfileData{
.ip_setting_data{ .ip_setting_data{
.ip_address_setting{ .ip_address_setting{
.is_automatic{true}, .is_automatic{true},
.current_address{192, 168, 1, 100}, .current_address{Network::TranslateIPv4(net_iface->ip_address)},
.subnet_mask{255, 255, 255, 0}, .subnet_mask{Network::TranslateIPv4(net_iface->subnet_mask)},
.gateway{192, 168, 1, 1}, .gateway{Network::TranslateIPv4(net_iface->gateway)},
}, },
.dns_setting{ .dns_setting{
.is_automatic{true}, .is_automatic{true},
@ -308,6 +315,7 @@ private:
.passphrase{"yuzupassword"}, .passphrase{"yuzupassword"},
}, },
}; };
}();
ctx.WriteBuffer(network_profile_data); ctx.WriteBuffer(network_profile_data);