haze: abstract firmware version and serial number fetch

This commit is contained in:
Liam authored and SciresM committed 2023-04-18 22:15:48 -07:00
1 parent 9f83b3c838
commit 8e2eca2004
6 files changed
+83 -21

No files matched your search

+2 -12
View File
@@ -304,16 +304,6 @@ namespace haze {
Result PtpResponder::GetDeviceInfo(PtpDataParser &dp) {
PtpDataBuilder db(g_bulk_write_buffer, std::addressof(m_usb_server));
/* Initialize set:sys, ensuring we clean up on exit. */
R_TRY(setsysInitialize());
ON_SCOPE_EXIT { setsysExit(); };
/* Get the device version and serial number. */
SetSysFirmwareVersion version;
SetSysSerialNumber serial;
R_TRY(setsysGetFirmwareVersion(std::addressof(version)));
R_TRY(setsysGetSerialNumber(std::addressof(serial)));
/* Write the device info data. */
R_TRY(db.WriteVariableLengthData(m_request_header, [&] () {
R_TRY(db.Add(MtpStandardVersion));
@@ -328,8 +318,8 @@ namespace haze {
R_TRY(db.AddArray(SupportedPlaybackFormats, util::size(SupportedPlaybackFormats)));
R_TRY(db.AddString(MtpDeviceManufacturer));
R_TRY(db.AddString(MtpDeviceModel));
R_TRY(db.AddString(version.display_version));
R_TRY(db.AddString(serial.number));
R_TRY(db.AddString(GetFirmwareVersion()));
R_TRY(db.AddString(GetSerialNumber()));
R_SUCCEED();
}));