wut  v1.7.0
Wii U Toolchain
IKillerNotificationTransferRecordManagerDetails.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <nn/result.h>
4 #include <nn/sl/FileStream.h>
5 #include <wut.h>
6 
7 #ifdef __cplusplus
8 
9 namespace nn::sl {
10  class KillerNotificationSelector;
11  namespace details {
12  class IKillerNotificationTransferRecordManagerBase;
13  struct IKillerNotificationTransferRecordManagerInternal;
22 
25  WUT_UNKNOWN_BYTES(0x10);
27  WUT_UNKNOWN_BYTES(0x4);
29  WUT_UNKNOWN_BYTES(0x4);
31  WUT_UNKNOWN_BYTES(0x4);
33  WUT_UNKNOWN_BYTES(0x4);
35  WUT_UNKNOWN_BYTES(0x4);
37  WUT_UNKNOWN_BYTES(0x4);
39  WUT_UNKNOWN_BYTES(0x4);
43  WUT_CHECK_OFFSET(IKillerNotificationTransferRecordManagerInternalVTable, 0x14, LoadFn);
44  WUT_CHECK_OFFSET(IKillerNotificationTransferRecordManagerInternalVTable, 0x1C, LoadInitialFn);
45  WUT_CHECK_OFFSET(IKillerNotificationTransferRecordManagerInternalVTable, 0x24, StoreFn);
46  WUT_CHECK_OFFSET(IKillerNotificationTransferRecordManagerInternalVTable, 0x2C, FinalizeFn);
47  WUT_CHECK_OFFSET(IKillerNotificationTransferRecordManagerInternalVTable, 0x34, GetRecordCountFn);
48  WUT_CHECK_OFFSET(IKillerNotificationTransferRecordManagerInternalVTable, 0x3C, GetRecordsFn);
49  WUT_CHECK_OFFSET(IKillerNotificationTransferRecordManagerInternalVTable, 0x44, RegisterRecordsFn);
50  WUT_CHECK_OFFSET(IKillerNotificationTransferRecordManagerInternalVTable, 0x4C, RegisterRecordsOtherFn);
51 
55  WUT_CHECK_SIZE(IKillerNotificationTransferRecordManagerInternal, 0x4);
56  WUT_CHECK_OFFSET(IKillerNotificationTransferRecordManagerInternal, 0x00, vtable);
57 
63  WUT_CHECK_OFFSET(KillerNotificationTransferRecordManagerInternalInternal, 0x00, vtable);
64  WUT_CHECK_OFFSET(KillerNotificationTransferRecordManagerInternalInternal, 0x04, killerNotificationTransferRecordManagerImpl);
65 
75 
76 
79 
82 
83  public:
85 
87 
88  virtual nn::Result LoadInitial() = 0;
89 
91 
92  virtual void Finalize() = 0;
93 
94  virtual uint32_t GetRecordCount() const = 0;
95 
96  virtual uint32_t GetRecords(KillerNotificationTransferRecord *outTransferRecords, uint32_t maxTransferRecords) const = 0;
97 
98  virtual void RegisterRecords(const KillerNotificationTransferRecord *transferRecords, uint32_t numTransferRecords) = 0;
99 
100  virtual nn::Result RegisterRecords(const uint32_t *u1, uint32_t u2) = 0;
101 
102  private:
104  };
105 
107  public:
109  }
110 
112 
113  void Finalize() override {
114  if (!mInstancePtr) {
115  return;
116  }
117  mInstancePtr->vtable->FinalizeFn(mInstancePtr);
118  }
119 
121  if (!mInstancePtr) {
123  }
124  return mInstancePtr->vtable->LoadFn(mInstancePtr, stream.GetInternal());
125  }
126 
127  nn::Result LoadInitial() override {
128  if (!mInstancePtr) {
130  }
131  return mInstancePtr->vtable->LoadInitialFn(mInstancePtr);
132  }
133 
135  if (!mInstancePtr) {
137  }
138  return mInstancePtr->vtable->StoreFn(mInstancePtr, stream.GetInternal());
139  }
140 
141  uint32_t GetRecordCount() const override {
142  if (!mInstancePtr) {
143  return 0;
144  }
145  return mInstancePtr->vtable->GetRecordCountFn(mInstancePtr);
146  }
147 
148  uint32_t GetRecords(KillerNotificationTransferRecord *outTransferRecords, uint32_t maxTransferRecords) const override {
149  if (!mInstancePtr) {
150  return 0;
151  }
152  return mInstancePtr->vtable->GetRecordsFn(mInstancePtr, outTransferRecords, maxTransferRecords);
153  }
154 
155  void RegisterRecords(const KillerNotificationTransferRecord *transferRecords, uint32_t numTransferRecords) override {
156  if (!mInstancePtr) {
157  return;
158  }
159  mInstancePtr->vtable->RegisterRecordsFn(mInstancePtr, transferRecords, numTransferRecords);
160  }
161 
162  nn::Result RegisterRecords(const uint32_t *u1, uint32_t u2) override {
163  if (!mInstancePtr) {
165  }
166  return mInstancePtr->vtable->RegisterRecordsOtherFn(mInstancePtr, u1, u2);
167  }
168 
169  private:
171  return mInstancePtr;
172  }
174  };
175  } // namespace details
176 } // namespace nn::sl
177 
178 #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 uint32_t GetRecords(KillerNotificationTransferRecord *outTransferRecords, uint32_t maxTransferRecords) const =0
virtual void RegisterRecords(const KillerNotificationTransferRecord *transferRecords, uint32_t numTransferRecords)=0
virtual nn::Result Load(nn::sl::details::IStreamBase &stream)=0
virtual nn::Result RegisterRecords(const uint32_t *u1, uint32_t u2)=0
virtual nn::Result Store(nn::sl::details::IStreamBase &stream)=0
void RegisterRecords(const KillerNotificationTransferRecord *transferRecords, uint32_t numTransferRecords) override
uint32_t GetRecords(KillerNotificationTransferRecord *outTransferRecords, uint32_t maxTransferRecords) const override
KillerNotificationTransferRecordManagerFromPtr(details::IKillerNotificationTransferRecordManagerInternal *instance)
void RegisterRecords__Q3_2nn2sl39KillerNotificationTransferRecordManagerFPCQ3_2nn2sl32KillerNotificationTransferRecordUi(IKillerNotificationTransferRecordManagerInternal *, const KillerNotificationTransferRecord *, uint32_t)
IKillerNotificationTransferRecordManagerInternVTable_RegisterRecordsFn RegisterRecordsFn
void(* IKillerNotificationTransferRecordManagerInternVTable_FinalizeFn)(IKillerNotificationTransferRecordManagerInternal *)
uint32_t(* IKillerNotificationTransferRecordManagerInternVTable_GetRecordCountFn)(IKillerNotificationTransferRecordManagerInternal *)
nn::Result(* IKillerNotificationTransferRecordManagerInternVTable_LoadFn)(IKillerNotificationTransferRecordManagerInternal *, nn::sl::details::IStreamInternal *)
IKillerNotificationTransferRecordManagerInternVTable_GetRecordCountFn GetRecordCountFn
nn::Result Store__Q3_2nn2sl39KillerNotificationTransferRecordManagerCFRQ3_2nn2sl7IStream(IKillerNotificationTransferRecordManagerInternal *, details::IStreamInternal *)
uint32_t GetRecordCount__Q3_2nn2sl39KillerNotificationTransferRecordManagerCFv(IKillerNotificationTransferRecordManagerInternal *)
IKillerNotificationTransferRecordManagerInternVTable_LoadInitialFn LoadInitialFn
nn::Result LoadInitial__Q3_2nn2sl39KillerNotificationTransferRecordManagerFv(IKillerNotificationTransferRecordManagerInternal *)
nn::Result(* IKillerNotificationTransferRecordManagerInternVTable_RegisterRecordsOtherFn)(IKillerNotificationTransferRecordManagerInternal *, const uint32_t *, uint32_t)
uint32_t GetRecords__Q3_2nn2sl39KillerNotificationTransferRecordManagerCFPQ3_2nn2sl32KillerNotificationTransferRecordUi(IKillerNotificationTransferRecordManagerInternal *, KillerNotificationTransferRecord *, uint32_t)
struct nn::sl::details::IKillerNotificationTransferRecordManagerInternal IKillerNotificationTransferRecordManagerIntern
KillerNotificationTransferRecordManagerInternalInternal * __ct__Q3_2nn2sl47KillerNotificationTransferRecordManagerInternalFv(KillerNotificationTransferRecordManagerInternalInternal *)
struct nn::sl::details::KillerNotificationTransferRecordManagerInternalInternal KillerNotificationTransferRecordManagerInternalInternal
void(* IKillerNotificationTransferRecordManagerInternVTable_RegisterRecordsFn)(IKillerNotificationTransferRecordManagerInternal *, const KillerNotificationTransferRecord *, uint32_t)
void Finalize__Q3_2nn2sl39KillerNotificationTransferRecordManagerFv(IKillerNotificationTransferRecordManagerInternal *)
void * __dt__Q3_2nn2sl47KillerNotificationTransferRecordManagerInternalFv(KillerNotificationTransferRecordManagerInternalInternal *, int)
IKillerNotificationTransferRecordManagerInternVTable_RegisterRecordsOtherFn RegisterRecordsOtherFn
nn::Result(* IKillerNotificationTransferRecordManagerInternVTable_LoadInitialFn)(IKillerNotificationTransferRecordManagerInternal *)
uint32_t(* IKillerNotificationTransferRecordManagerInternVTable_GetRecordsFn)(IKillerNotificationTransferRecordManagerInternal *, KillerNotificationTransferRecord *, uint32_t)
nn::Result(* IKillerNotificationTransferRecordManagerInternVTable_StoreFn)(IKillerNotificationTransferRecordManagerInternal *, nn::sl::details::IStreamInternal *)
void * __dt__Q3_2nn2sl39KillerNotificationTransferRecordManagerFv(IKillerNotificationTransferRecordManagerInternal *, int)
nn::Result Load__Q3_2nn2sl39KillerNotificationTransferRecordManagerFRQ3_2nn2sl7IStream(IKillerNotificationTransferRecordManagerInternal *, details::IStreamInternal *)
struct nn::sl::details::IKillerNotificationTransferRecordManagerInternalVTable IKillerNotificationTransferRecordManagerInternalVTable
IKillerNotificationTransferRecordManagerIntern * __ct__Q3_2nn2sl39KillerNotificationTransferRecordManagerFv(IKillerNotificationTransferRecordManagerInternal *)