83 lines
3.5 KiB
C++
83 lines
3.5 KiB
C++
#ifndef RAGNAROK_SOURCE_CONTENTS_ASYNC_ASYNCWORKMGR_H
|
|
#define RAGNAROK_SOURCE_CONTENTS_ASYNC_ASYNCWORKMGR_H
|
|
|
|
#include "Contents/Party/AdvenPartyInfo.h"
|
|
#include "Utility/Async/NAsyncWorkMgr.h"
|
|
|
|
class CAsyncWorkRecycleObjectPoolMgr;
|
|
class CConnection;
|
|
class CEmblemDataMgr;
|
|
class CMCStoreInfoBackup;
|
|
class WindowManagerWindows;
|
|
struct AccountConfigLoad;
|
|
struct CharacterConfigLoad;
|
|
struct EmblemUploadContext;
|
|
struct StoreBackupContext;
|
|
struct RegisterPartyContext;
|
|
struct StopRecruitingContext;
|
|
struct PartyInfoContext;
|
|
|
|
class CAsyncWorkMgr : public NAsyncWorkMgr {
|
|
public:
|
|
explicit CAsyncWorkMgr(std::uint32_t workers);
|
|
~CAsyncWorkMgr() override;
|
|
|
|
static bool Initialize(std::uint32_t workers);
|
|
static void Shutdown();
|
|
|
|
void LoadAccount(std::uint32_t accountId, std::string world, std::string url, AccountConfigLoad& context);
|
|
void SaveAccount(std::uint32_t accountId, std::string world, std::string url, std::string token, std::string data);
|
|
void ChangePartyMaster(
|
|
std::uint32_t accountId, std::uint32_t characterId, std::string characterName, std::uint32_t targetAccountId, std::uint32_t targetCharacterId,
|
|
std::string targetName, std::string world, std::string url, std::string token, WindowManagerWindows& windows
|
|
);
|
|
void LoadCharacter(std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, CharacterConfigLoad& context);
|
|
void SaveCharacter(std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, std::string data);
|
|
void DownloadEmblem(
|
|
std::string url, std::uint32_t accountId, std::string token, std::string world, std::uint32_t guildId, std::uint32_t version, CConnection& connection
|
|
);
|
|
void UploadEmblem(
|
|
std::string url, std::uint32_t accountId, std::string token, std::string world, std::uint32_t guildId, std::string path, CEmblemDataMgr& owner,
|
|
EmblemUploadContext& context
|
|
);
|
|
void LoadMyParty(std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, WindowManagerWindows& windows);
|
|
void LoadPartyInfo(
|
|
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, std::uint32_t queryAccountId,
|
|
PartyInfoContext& context
|
|
);
|
|
void LoadPartyList(
|
|
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, int search, CAdvenPartyInfo filter, int page,
|
|
WindowManagerWindows& windows
|
|
);
|
|
void LoadStore(
|
|
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, int type, CMCStoreInfoBackup& owner,
|
|
StoreBackupContext& context
|
|
);
|
|
void SaveStore(
|
|
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, std::string data, int type,
|
|
CMCStoreInfoBackup& owner, StoreBackupContext& context
|
|
);
|
|
void RegisterParty(
|
|
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, CAdvenPartyInfo info,
|
|
RegisterPartyContext& context
|
|
);
|
|
void
|
|
StopRecruiting(std::uint32_t accountId, std::string world, std::string url, std::string token, std::uint32_t masterAccountId, StopRecruitingContext& context);
|
|
|
|
// INLINED
|
|
CAsyncWorkRecycleObjectPoolMgr& Pools() {
|
|
return *this->m_pools;
|
|
}
|
|
|
|
private:
|
|
/* 0020 */ bool m_ready;
|
|
/* 0024 */ CAsyncWorkRecycleObjectPoolMgr* m_pools;
|
|
};
|
|
|
|
extern CAsyncWorkMgr* g_asyncWorkMgr;
|
|
|
|
#if defined(_WIN32) && !defined(_WIN64)
|
|
static_assert(sizeof(CAsyncWorkMgr) == 40);
|
|
#endif
|
|
|
|
#endif
|