wut v1.8.0
Wii U Toolchain
Loading...
Searching...
No Matches
CacheManager.h
Go to the documentation of this file.
1#pragma once
2
3#include <nn/result.h>
4#include <nn/sl/ISerializer.h>
6#include <nn/sl/sl_cpp.h>
7#include <wut.h>
8
9#ifdef __cplusplus
10
11namespace nn::sl {
12 namespace details {
18 WUT_CHECK_SIZE(CacheManagerInternal, 0x0c);
19 WUT_CHECK_OFFSET(CacheManagerInternal, 0x00, quickStartTitleInfoSerializer);
20 WUT_CHECK_OFFSET(CacheManagerInternal, 0x04, killerNotificationSerializer);
21 WUT_CHECK_OFFSET(CacheManagerInternal, 0x08, jumpTitleInfoSerializer);
22
33 } // namespace details
34
36 public:
37 CacheManager() : mQuickStartTitleInfoSerializer(nullptr),
38 mKillerNotificationSerializer(nullptr),
39 mJumpTitleInfoSerializer(nullptr) {
40 if (__ct__Q3_2nn2sl12CacheManagerFv(&mInstance) != nullptr) {
41 mQuickStartTitleInfoSerializer = details::SerializerFromPtr<TitleInfo>(mInstance.quickStartTitleInfoSerializer);
43 mJumpTitleInfoSerializer = details::SerializerFromPtr<TitleInfo>(mInstance.jumpTitleInfoSerializer);
44 }
45 }
46
48 return mQuickStartTitleInfoSerializer;
49 }
50
52 return mKillerNotificationSerializer;
53 }
54
56 return mJumpTitleInfoSerializer;
57 }
58
60 SetupInitialCache__Q3_2nn2sl12CacheManagerFv(&mInstance);
61 }
62
64 return GetKillerNotificationCache__Q3_2nn2sl12CacheManagerFPQ3_2nn2sl18KillerNotificationPQ3_2nn2sl9TitleInfo(&mInstance, u1, u2);
65 }
66
68 return GetQuickStartCache__Q3_2nn2sl12CacheManagerFPQ3_2nn2sl9TitleInfoi(&mInstance, u1, u2);
69 }
70
72 return Get__Q3_2nn2sl12CacheManagerFPQ3_2nn2sl9TitleInfoiPQ3_2nn2sl18KillerNotificationT1(&mInstance, u1, u2, u3, u4);
73 }
74
75 void Initialize(details::ISerializerBase<TitleInfo> &quickStartTitleInfoSerializer, details::ISerializerBase<KillerNotification> &killerNotificationSerializer, details::ISerializerBase<TitleInfo> &jumpTitleInfoSerializer) {
76 Initialize__Q3_2nn2sl12CacheManagerFRQ3_2nn2sl39ISerializer__tm__20_Q3_2nn2sl9TitleInfoRQ3_2nn2sl49ISerializer__tm__30_Q3_2nn2sl18KillerNotificationT1(&mInstance,
77 quickStartTitleInfoSerializer.GetInternal(),
78 killerNotificationSerializer.GetInternal(),
79 jumpTitleInfoSerializer.GetInternal());
80 mQuickStartTitleInfoSerializer = details::SerializerFromPtr<TitleInfo>(quickStartTitleInfoSerializer.GetInternal());
81 mKillerNotificationSerializer = details::SerializerFromPtr<KillerNotification>(killerNotificationSerializer.GetInternal());
82 mJumpTitleInfoSerializer = details::SerializerFromPtr<TitleInfo>(jumpTitleInfoSerializer.GetInternal());
83 }
84
85 ~CacheManager() = default;
86
87 private:
89 details::SerializerFromPtr<TitleInfo> mQuickStartTitleInfoSerializer;
90 details::SerializerFromPtr<KillerNotification> mKillerNotificationSerializer;
91 details::SerializerFromPtr<TitleInfo> mJumpTitleInfoSerializer;
92 };
93} // namespace nn::sl
94
95#endif
Result value type used by nn libraries.
Definition result.h:68
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 *)