rodecomp/Source/Contents/LoadPartyInfoAsyncWork.h
2026-10-24 00:35:19 +00:00

57 lines
1.5 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_LOADPARTYINFOASYNCWORK_H
#define RAGNAROK_SOURCE_CONTENTS_LOADPARTYINFOASYNCWORK_H
#include "Utility/AsyncDiagnostic.h"
#include "Utility/NAsyncWork.h"
class WindowManagerWindows;
class ResourceMessages;
class ModeEvents;
struct WindowOrdering;
struct PartyInfoContext {
WindowManagerWindows& windows;
WindowOrdering& ordering;
ResourceMessages& messages;
ModeEvents*& mode;
const int& playerLevel;
const int& partyCount;
const bool& languagePrefix;
const int& service;
const unsigned short& language;
};
// RTTI CLoadPartyInfoAsyncWork, original x86 allocation 208.
class alignas(8) CLoadPartyInfoAsyncWork : public NAsyncWork {
public:
CLoadPartyInfoAsyncWork();
~CLoadPartyInfoAsyncWork() override;
void Reset() override;
bool Execute() override;
void Complete() override;
void Bind(
std::uint32_t accountId,
std::uint32_t characterId,
std::string world,
std::string url,
std::string token,
std::uint32_t queryAccountId,
PartyInfoContext& context
);
protected:
/* 0028 */ std::uint32_t m_accountId;
/* 002C */ std::uint32_t m_characterId;
/* 0030 */ std::string m_world;
/* 0048 */ std::string m_url;
/* 0060 */ std::string m_response;
/* 0078 */ std::string m_token;
/* 0090 */ std::uint32_t m_queryAccountId;
/* 0094 */ AsyncDiagnostic m_diagnostic;
PartyInfoContext* m_context;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CLoadPartyInfoAsyncWork) == 208);
#endif
#endif