54 static nn::Result GetCountWrapper(details::ISerializerInternal *instance, uint32_t *outCount) {
55 return details::ISerializerBase<T>::instance->vtable->instance->GetCount(outCount);
58 details::ISerializerInternal *GetInternal()
override {
62 void InitInternalVtable() {
64 .SerializeFn = &SerializeWrapper,
65 .DeserializeFn = &DeserializeWrapper,
66 .GetCountFn = &GetCountWrapper};
67 mInstance.
vtable = &mVTable;
70 details::ISerializerInternal mInstance{};
71 details::ISerializerInternalVTable mVTable{};
Result value type used by nn libraries.
ISerializer(ISerializer &src)
nn::Result Deserialize(T *buffer, uint32_t num)
ISerializer & operator=(const ISerializer &other)
nn::Result Serialize(T *buffer, uint32_t num)
~ISerializer() override=default
ISerializer & operator=(ISerializer &&src) noexcept
virtual nn::Result Serialize(void *buffer, uint32_t size) const =0
virtual nn::Result Deserialize(void *buffer, uint32_t size) const =0
ISerializerBase< uint8_t > * instance
ISerializerInternalVTable * vtable
details::ISerializerBase< nn::sl::TitleInfo > & GetDefaultJumpTitleInfoSerializer()
details::ISerializerBase< OSTime > & GetDefaultPreviousSendingTimeSerializer()
details::ISerializerBase< nn::sl::IconInfo > & GetDefaultIconInfoSerializer()
details::ISerializerBase< nn::sl::KillerNotification > & GetDefaultKillerNotificationSerializer()
details::ISerializerBase< nn::sl::TitleInfo > & GetDefaultQuickStartTitleInfoSerializer()