wut v1.8.0
Wii U Toolchain
Loading...
Searching...
No Matches
IIconInfoAccessorDetails.h
Go to the documentation of this file.
1#pragma once
2
3#include <nn/result.h>
4#include <nn/sl/sl_cpp.h>
5#include <wut.h>
6
7#ifdef __cplusplus
8
9namespace nn::sl {
10 class DataCreator;
11 class TitleIconCache;
12 namespace details {
13 class IIconInfoAccessorBase;
15
18
31 WUT_CHECK_OFFSET(IIconInfoAccessorInternalVTable, 0x14, GetTitleIconInfoFn);
33
37 WUT_CHECK_SIZE(IIconInfoAccessorInternal, 0x04);
38 WUT_CHECK_OFFSET(IIconInfoAccessorInternal, 0x00, vtable);
39
41 friend class nn::sl::DataCreator;
43
44 public:
46 virtual ~IIconInfoAccessorBase() = default;
47
49
50 virtual nn::Result GetMiiIcon(void *buffer, uint32_t buffer_size, uint32_t slot) const = 0;
51
52 private:
53 virtual details::IIconInfoAccessorInternal *GetInternal() = 0;
54 };
55
57 public:
59 }
60
62 if (!mInstancePtr) {
64 }
65 return mInstancePtr->vtable->GetTitleIconInfoFn(mInstancePtr, outIconInfo, titleInfo, language);
66 }
67
68 nn::Result GetMiiIcon(void *buffer, uint32_t buffer_size, uint32_t slot) const override {
69 if (!mInstancePtr) {
71 }
72 return mInstancePtr->vtable->GetMiiIconFn(mInstancePtr, buffer, buffer_size, slot);
73 }
74
75 private:
76 nn::sl::details::IIconInfoAccessorInternal *GetInternal() override {
77 return mInstancePtr;
78 }
79
81 };
82 } // namespace details
83
84} // namespace nn::sl
85
86#endif
Result value type used by nn libraries.
Definition result.h:68
@ LEVEL_FATAL
Definition result.h:73
@ RESULT_MODULE_NN_SL
Definition result.h:114
virtual nn::Result GetMiiIcon(void *buffer, uint32_t buffer_size, uint32_t slot) const =0
virtual nn::Result GetTitleIconInfo(nn::sl::IconInfo *outIconInfo, const nn::sl::TitleInfo &titleInfo, nn::sl::Language language) const =0
IconInfoAccessorFromPtr(details::IIconInfoAccessorInternal *ptr)
nn::Result GetMiiIcon(void *buffer, uint32_t buffer_size, uint32_t slot) const override
nn::Result GetTitleIconInfo(nn::sl::IconInfo *outIconInfo, const nn::sl::TitleInfo &titleInfo, nn::sl::Language language) const override
IconInfoAccessor_GetTitleIconInfoFn GetTitleIconInfoFn
struct nn::sl::details::IIconInfoAccessorInternal IIconInfoAccessorInternal
nn::Result(* IconInfoAccessor_GetTitleIconInfoFn)(IIconInfoAccessorInternal *, nn::sl::IconInfo *, const nn::sl::TitleInfo &, nn::sl::Language)
nn::Result(* IconInfoAccessor_GetMiiIconFn)(IIconInfoAccessorInternal *, void *buffer, uint32_t buffer_size, uint32_t slot)
Language
Definition sl_cpp.h:251