ns: address review comments
This commit is contained in:
		| @@ -441,12 +441,13 @@ Result IApplicationManagerInterface::GetApplicationRightsOnClient( | ||||
|                 flags, application_id, account_id.FormattedString()); | ||||
|  | ||||
|     if (!out_rights.empty()) { | ||||
|         out_rights[0] = { | ||||
|             .application_id = application_id, | ||||
|             .uid = account_id, | ||||
|             .flags = 0, | ||||
|             .flags2 = 0, | ||||
|         }; | ||||
|         ApplicationRightsOnClient rights{}; | ||||
|         rights.application_id = application_id; | ||||
|         rights.uid = account_id; | ||||
|         rights.flags = 0; | ||||
|         rights.flags2 = 0; | ||||
|  | ||||
|         out_rights[0] = rights; | ||||
|         *out_count = 1; | ||||
|     } else { | ||||
|         *out_count = 0; | ||||
|   | ||||
| @@ -13,8 +13,8 @@ enum class ApplicationRecordType : u8 { | ||||
|     Installing = 2, | ||||
|     Installed = 3, | ||||
|     GameCardNotInserted = 5, | ||||
|     Archived = 0xB, | ||||
|     GameCard = 0x10, | ||||
|     Archived = 11, | ||||
|     GameCard = 16, | ||||
| }; | ||||
|  | ||||
| enum class ApplicationControlSource : u8 { | ||||
| @@ -37,31 +37,34 @@ struct ApplicationRecord { | ||||
|     u8 unknown2; | ||||
|     INSERT_PADDING_BYTES_NOINIT(0x7); | ||||
| }; | ||||
| static_assert(sizeof(ApplicationRecord) == 0x18, "ApplicationRecord is an invalid size"); | ||||
| static_assert(sizeof(ApplicationRecord) == 0x18, "ApplicationRecord has incorrect size."); | ||||
|  | ||||
| /// ApplicationView | ||||
| struct ApplicationView { | ||||
|     u64 application_id; ///< ApplicationId. | ||||
|     u32 unk;            ///< Unknown. | ||||
|     u32 flags;          ///< Flags. | ||||
|     u8 unk_x10[0x10];   ///< Unknown. | ||||
|     u32 unk_x20;        ///< Unknown. | ||||
|     u16 unk_x24;        ///< Unknown. | ||||
|     u8 unk_x26[0x2];    ///< Unknown. | ||||
|     u8 unk_x28[0x8];    ///< Unknown. | ||||
|     u8 unk_x30[0x10];   ///< Unknown. | ||||
|     u32 unk_x40;        ///< Unknown. | ||||
|     u8 unk_x44;         ///< Unknown. | ||||
|     u8 unk_x45[0xb];    ///< Unknown. | ||||
|     u64 application_id;           ///< ApplicationId. | ||||
|     u32 unk;                      ///< Unknown. | ||||
|     u32 flags;                    ///< Flags. | ||||
|     std::array<u8, 0x10> unk_x10; ///< Unknown. | ||||
|     u32 unk_x20;                  ///< Unknown. | ||||
|     u16 unk_x24;                  ///< Unknown. | ||||
|     std::array<u8, 0x2> unk_x26;  ///< Unknown. | ||||
|     std::array<u8, 0x8> unk_x28;  ///< Unknown. | ||||
|     std::array<u8, 0x10> unk_x30; ///< Unknown. | ||||
|     u32 unk_x40;                  ///< Unknown. | ||||
|     u8 unk_x44;                   ///< Unknown. | ||||
|     std::array<u8, 0xb> unk_x45;  ///< Unknown. | ||||
| }; | ||||
| static_assert(sizeof(ApplicationView) == 0x50, "ApplicationView has incorrect size."); | ||||
|  | ||||
| struct ApplicationRightsOnClient { | ||||
|     u64 application_id; | ||||
|     Common::UUID uid; | ||||
|     u8 flags; | ||||
|     u8 flags2; | ||||
|     INSERT_PADDING_BYTES(0x6); | ||||
|     INSERT_PADDING_BYTES_NOINIT(0x6); | ||||
| }; | ||||
| static_assert(sizeof(ApplicationRightsOnClient) == 0x20, | ||||
|               "ApplicationRightsOnClient has incorrect size."); | ||||
|  | ||||
| /// NsPromotionInfo | ||||
| struct PromotionInfo { | ||||
| @@ -74,12 +77,15 @@ struct PromotionInfo { | ||||
|               ///< remaining_time is set. | ||||
|     INSERT_PADDING_BYTES_NOINIT(0x3); | ||||
| }; | ||||
| static_assert(sizeof(PromotionInfo) == 0x20, "PromotionInfo has incorrect size."); | ||||
|  | ||||
| /// NsApplicationViewWithPromotionInfo | ||||
| struct ApplicationViewWithPromotionInfo { | ||||
|     ApplicationView view;    ///< \ref NsApplicationView | ||||
|     PromotionInfo promotion; ///< \ref NsPromotionInfo | ||||
| }; | ||||
| static_assert(sizeof(ApplicationViewWithPromotionInfo) == 0x70, | ||||
|               "ApplicationViewWithPromotionInfo has incorrect size."); | ||||
|  | ||||
| struct ApplicationOccupiedSizeEntity { | ||||
|     FileSys::StorageId storage_id; | ||||
| @@ -93,10 +99,13 @@ static_assert(sizeof(ApplicationOccupiedSizeEntity) == 0x20, | ||||
| struct ApplicationOccupiedSize { | ||||
|     std::array<ApplicationOccupiedSizeEntity, 4> entities; | ||||
| }; | ||||
| static_assert(sizeof(ApplicationOccupiedSize) == 0x80, | ||||
|               "ApplicationOccupiedSize has incorrect size."); | ||||
|  | ||||
| struct ContentPath { | ||||
|     u8 file_system_proxy_type; | ||||
|     u64 program_id; | ||||
| }; | ||||
| static_assert(sizeof(ContentPath) == 0x10, "ContentPath has incorrect size."); | ||||
|  | ||||
| } // namespace Service::NS | ||||
|   | ||||
| @@ -43,7 +43,7 @@ Result IReadOnlyApplicationControlDataInterface::GetApplicationControlData( | ||||
|     const auto size = out_buffer.size(); | ||||
|  | ||||
|     const auto icon_size = control.second ? control.second->GetSize() : 0; | ||||
|     const auto total_size = 0x4000 + icon_size; | ||||
|     const auto total_size = sizeof(FileSys::RawNACP) + icon_size; | ||||
|  | ||||
|     if (size < total_size) { | ||||
|         LOG_ERROR(Service_NS, "output buffer is too small! (actual={:016X}, expected_min=0x4000)", | ||||
| @@ -57,11 +57,11 @@ Result IReadOnlyApplicationControlDataInterface::GetApplicationControlData( | ||||
|     } else { | ||||
|         LOG_WARNING(Service_NS, "missing NACP data for application_id={:016X}, defaulting to zero", | ||||
|                     application_id); | ||||
|         std::memset(out_buffer.data(), 0, 0x4000); | ||||
|         std::memset(out_buffer.data(), 0, sizeof(FileSys::RawNACP)); | ||||
|     } | ||||
|  | ||||
|     if (control.second != nullptr) { | ||||
|         control.second->Read(out_buffer.data() + 0x4000, icon_size); | ||||
|         control.second->Read(out_buffer.data() + sizeof(FileSys::RawNACP), icon_size); | ||||
|     } else { | ||||
|         LOG_WARNING(Service_NS, "missing icon data for application_id={:016X}", application_id); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user