wut v1.8.0
Wii U Toolchain
Loading...
Searching...
No Matches
ISettingAccessorDetails.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 TitleIconCache;
11 class DataCreator;
12 class Condition;
13 class DrcManager;
14 class KillerNotificationSelector;
15 class QuickStartApplicationSelector;
16 namespace details {
17 class ISettingAccessorBase;
19
21
33
37 WUT_CHECK_SIZE(ISettingAccessorInternal, 0x04);
38 WUT_CHECK_OFFSET(ISettingAccessorInternal, 0x00, vtable);
39
42 friend class nn::sl::DataCreator;
43 friend class nn::sl::Condition;
44 friend class nn::sl::DrcManager;
47
48 public:
50
51 virtual ~ISettingAccessorBase() = default;
52
53 virtual nn::Result Get(nn::sl::Setting *) const = 0;
54
55 private:
56 virtual details::ISettingAccessorInternal *GetInternal() = 0;
57 };
58
59
61 public:
62 explicit SettingAccessorFromPtr(details::ISettingAccessorInternal *ptr) : mInstancePtr(ptr) {
63 }
64
66 if (!mInstancePtr) {
68 }
69 return mInstancePtr->vtable->GetFn(mInstancePtr, outSetting);
70 }
71
72 private:
73 details::ISettingAccessorInternal *GetInternal() override {
74 return mInstancePtr;
75 }
76
78 };
79 } // namespace details
80} // namespace nn::sl
81
82#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 Get(nn::sl::Setting *) const =0
nn::Result Get(nn::sl::Setting *outSetting) const override
SettingAccessorFromPtr(details::ISettingAccessorInternal *ptr)
struct nn::sl::details::ISettingAccessorInternal ISettingAccessorInternal
nn::Result(* ISettingAccessor_GetFn)(ISettingAccessorInternal *, Setting *)