wut v1.9.1
Wii U Toolchain
Loading...
Searching...
No Matches
CacheManager.h
Go to the documentation of this file.
1#pragma once
2
3#include <wut.h>
4#include <nn/result.h>
5#include <nn/sl/ISerializer.h>
7#include <nn/sl/sl_cpp.h>
8
9#ifdef __cplusplus
10
11namespace nn::sl
12{
13namespace details
14{
21WUT_CHECK_SIZE(CacheManagerInternal, 0x0c);
22WUT_CHECK_OFFSET(CacheManagerInternal, 0x00, quickStartTitleInfoSerializer);
23WUT_CHECK_OFFSET(CacheManagerInternal, 0x04, killerNotificationSerializer);
24WUT_CHECK_OFFSET(CacheManagerInternal, 0x08, jumpTitleInfoSerializer);
25
26extern "C" CacheManagerInternal *
28extern "C" void
30extern "C" nn::Result
32extern "C" nn::Result
34extern "C" nn::Result
36extern "C" nn::Result
42} // namespace details
43
45{
46public:
48 mQuickStartTitleInfoSerializer(nullptr),
49 mKillerNotificationSerializer(nullptr),
50 mJumpTitleInfoSerializer(nullptr)
51 {
52 if (__ct__Q3_2nn2sl12CacheManagerFv(&mInstance) != nullptr) {
53 mQuickStartTitleInfoSerializer = details::SerializerFromPtr<TitleInfo>(mInstance.quickStartTitleInfoSerializer);
55 mJumpTitleInfoSerializer = details::SerializerFromPtr<TitleInfo>(mInstance.jumpTitleInfoSerializer);
56 }
57 }
58
61 {
62 return mQuickStartTitleInfoSerializer;
63 }
64
67 {
68 return mKillerNotificationSerializer;
69 }
70
73 {
74 return mJumpTitleInfoSerializer;
75 }
76
77 void
79 {
80 SetupInitialCache__Q3_2nn2sl12CacheManagerFv(&mInstance);
81 }
82
85 {
86 return GetKillerNotificationCache__Q3_2nn2sl12CacheManagerFPQ3_2nn2sl18KillerNotificationPQ3_2nn2sl9TitleInfo(&mInstance, u1, u2);
87 }
88
91 {
92 return GetQuickStartCache__Q3_2nn2sl12CacheManagerFPQ3_2nn2sl9TitleInfoi(&mInstance, u1, u2);
93 }
94
97 {
98 return Get__Q3_2nn2sl12CacheManagerFPQ3_2nn2sl9TitleInfoiPQ3_2nn2sl18KillerNotificationT1(&mInstance, u1, u2, u3, u4);
99 }
100
101 void
102 Initialize(details::ISerializerBase<TitleInfo> &quickStartTitleInfoSerializer, details::ISerializerBase<KillerNotification> &killerNotificationSerializer, details::ISerializerBase<TitleInfo> &jumpTitleInfoSerializer)
103 {
104 Initialize__Q3_2nn2sl12CacheManagerFRQ3_2nn2sl39ISerializer__tm__20_Q3_2nn2sl9TitleInfoRQ3_2nn2sl49ISerializer__tm__30_Q3_2nn2sl18KillerNotificationT1(&mInstance,
105 quickStartTitleInfoSerializer.GetInternal(),
106 killerNotificationSerializer.GetInternal(),
107 jumpTitleInfoSerializer.GetInternal());
108 mQuickStartTitleInfoSerializer = details::SerializerFromPtr<TitleInfo>(quickStartTitleInfoSerializer.GetInternal());
109 mKillerNotificationSerializer = details::SerializerFromPtr<KillerNotification>(killerNotificationSerializer.GetInternal());
110 mJumpTitleInfoSerializer = details::SerializerFromPtr<TitleInfo>(jumpTitleInfoSerializer.GetInternal());
111 }
112
113 ~CacheManager() = default;
114
115private:
117 details::SerializerFromPtr<TitleInfo> mQuickStartTitleInfoSerializer;
118 details::SerializerFromPtr<KillerNotification> mKillerNotificationSerializer;
119 details::SerializerFromPtr<TitleInfo> mJumpTitleInfoSerializer;
120};
121} // namespace nn::sl
122
123#endif
Result value type used by nn libraries.
Definition result.h:70
details::ISerializerBase< TitleInfo > & GetJumpTitleInfoSerializer()
void Initialize(details::ISerializerBase< TitleInfo > &quickStartTitleInfoSerializer, details::ISerializerBase< KillerNotification > &killerNotificationSerializer, details::ISerializerBase< TitleInfo > &jumpTitleInfoSerializer)
nn::Result Get(TitleInfo *u1, int u2, KillerNotification *u3, TitleInfo *u4)
nn::Result GetKillerNotificationCache(KillerNotification *u1, TitleInfo *u2)
nn::Result GetQuickStartCache(TitleInfo *u1, int u2)
details::ISerializerBase< KillerNotification > & GetKillerNotificationSerializer()
details::ISerializerBase< TitleInfo > & GetQuickStartTitleInfoSerializer()
nn::Result Get__Q3_2nn2sl12CacheManagerFPQ3_2nn2sl9TitleInfoiPQ3_2nn2sl18KillerNotificationT1(CacheManagerInternal *, TitleInfo *, int, KillerNotification *, TitleInfo *)
void SetupInitialCache__Q3_2nn2sl12CacheManagerFv(CacheManagerInternal *)
nn::Result GetKillerNotificationCache__Q3_2nn2sl12CacheManagerFPQ3_2nn2sl18KillerNotificationPQ3_2nn2sl9TitleInfo(CacheManagerInternal *, KillerNotification *, TitleInfo *)
ISerializerInternal * killerNotificationSerializer
ISerializerInternal * jumpTitleInfoSerializer
ISerializerInternal * quickStartTitleInfoSerializer
nn::Result Initialize__Q3_2nn2sl12CacheManagerFRQ3_2nn2sl39ISerializer__tm__20_Q3_2nn2sl9TitleInfoRQ3_2nn2sl49ISerializer__tm__30_Q3_2nn2sl18KillerNotificationT1(CacheManagerInternal *, ISerializerInternal *, ISerializerInternal *, ISerializerInternal *)
nn::Result GetQuickStartCache__Q3_2nn2sl12CacheManagerFPQ3_2nn2sl9TitleInfoi(CacheManagerInternal *, TitleInfo *, int)
CacheManagerInternal * __ct__Q3_2nn2sl12CacheManagerFv(CacheManagerInternal *)