Reconstruct readable C++ and organize cohesive source subsystems
Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.
Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
This commit is contained in:
parent
35d2a8cb36
commit
a47d20f8be
890 changed files with 11796 additions and 16664 deletions
258
Source/Contents/Async/AsyncWorkMgr.cpp
Normal file
258
Source/Contents/Async/AsyncWorkMgr.cpp
Normal file
|
|
@ -0,0 +1,258 @@
|
|||
#include "Contents/UserData/AccountLinkedUserDataLoadAsyncWork.h"
|
||||
#include "Contents/UserData/AccountLinkedUserDataSaveAsyncWork.h"
|
||||
#include "Contents/Async/AsyncWorkMgr.h"
|
||||
#include "Contents/Async/AsyncWorkRecycleObjectPoolMgr.h"
|
||||
#include "Contents/Party/ChangePartyMasterAsyncWork.h"
|
||||
#include "Contents/UserData/CharacterLinkedUserDataLoadAsyncWork.h"
|
||||
#include "Contents/UserData/CharacterLinkedUserDataSaveAsyncWork.h"
|
||||
#include "Contents/Emblems/EmblemDataDownloadAsyncWork.h"
|
||||
#include "Contents/Emblems/EmblemDataUploadAsyncWork.h"
|
||||
#include "Contents/Party/LoadMyPartyAsyncWork.h"
|
||||
#include "Contents/Party/LoadPartyInfoAsyncWork.h"
|
||||
#include "Contents/Party/LoadPartyListAsyncWork.h"
|
||||
#include "Contents/Store/MCStoreInfoBackupAsyncWork.h"
|
||||
#include "Contents/Party/RegisterPartyAsyncWork.h"
|
||||
#include "Contents/Party/StopRecruitingAsyncWork.h"
|
||||
|
||||
#include <new>
|
||||
|
||||
// STATIC: 0x0138968C
|
||||
// GLOBAL: gl_24349
|
||||
CAsyncWorkMgr* g_asyncWorkMgr;
|
||||
|
||||
// OFFSET: 0x00573C50
|
||||
// FUNCTION: fn_02497
|
||||
CAsyncWorkMgr::CAsyncWorkMgr(std::uint32_t workers) : NAsyncWorkMgr(workers), m_ready(false), m_pools(nullptr) {
|
||||
this->m_pools = new (std::nothrow) CAsyncWorkRecycleObjectPoolMgr;
|
||||
|
||||
if (this->m_pools) {
|
||||
if (this->m_pools->Ready()) {
|
||||
this->m_ready = true;
|
||||
} else {
|
||||
delete this->m_pools;
|
||||
this->m_pools = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00573B20
|
||||
// FUNCTION: fn_02496
|
||||
CAsyncWorkMgr::~CAsyncWorkMgr() {
|
||||
this->DestroyQueues();
|
||||
delete this->m_pools;
|
||||
this->m_pools = nullptr;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00573C50
|
||||
// FUNCTION: fn_02497
|
||||
bool CAsyncWorkMgr::Initialize(std::uint32_t workers) {
|
||||
if (g_asyncWorkMgr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
g_asyncWorkMgr = new (std::nothrow) CAsyncWorkMgr(workers);
|
||||
|
||||
if (!g_asyncWorkMgr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!g_asyncWorkMgr->m_ready) {
|
||||
delete g_asyncWorkMgr;
|
||||
g_asyncWorkMgr = nullptr;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00573D90
|
||||
// FUNCTION: fn_02498
|
||||
void CAsyncWorkMgr::Shutdown() {
|
||||
if (g_asyncWorkMgr) {
|
||||
delete g_asyncWorkMgr;
|
||||
g_asyncWorkMgr = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00573DB0
|
||||
// FUNCTION: fn_02499
|
||||
void CAsyncWorkMgr::LoadAccount(std::uint32_t accountId, std::string world, std::string url, AccountConfigLoad& context) {
|
||||
NAsyncWorkPtr work(this->m_pools, "AccountLinkedUserData_Load");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CAccountLinkedUserDataLoadAsyncWork*>(work.Get())->Bind(accountId, world, url, context);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00573EC0
|
||||
// FUNCTION: fn_02500
|
||||
void CAsyncWorkMgr::SaveAccount(std::uint32_t accountId, std::string world, std::string url, std::string token, std::string data) {
|
||||
NAsyncWorkPtr work(this->m_pools, "AccountLinkedUserData_Save");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CAccountLinkedUserDataSaveAsyncWork*>(work.Get())->Bind(accountId, world, url, token, data);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00574010
|
||||
// FUNCTION: fn_02501
|
||||
void CAsyncWorkMgr::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
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "Change_PartyMaster");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CChangePartyMasterAsyncWork*>(work.Get())
|
||||
->Bind(accountId, characterId, characterName, targetAccountId, targetCharacterId, targetName, world, url, token, windows);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00574190
|
||||
// FUNCTION: fn_02502
|
||||
void CAsyncWorkMgr::LoadCharacter(
|
||||
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, CharacterConfigLoad& context
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "CharacterLinkedUserData_Load");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CCharacterLinkedUserDataLoadAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, context);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x005742D0
|
||||
// FUNCTION: fn_02503
|
||||
void CAsyncWorkMgr::SaveCharacter(std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, std::string data) {
|
||||
NAsyncWorkPtr work(this->m_pools, "CharacterLinkedUserData_Save");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CCharacterLinkedUserDataSaveAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, data);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00574430
|
||||
// FUNCTION: fn_02504
|
||||
void CAsyncWorkMgr::DownloadEmblem(
|
||||
std::string url, std::uint32_t accountId, std::string token, std::string world, std::uint32_t guildId, std::uint32_t version, CConnection& connection
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "Emblem_Download");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CEmblemDataDownloadAsyncWork*>(work.Get())->Bind(url, accountId, token, world, guildId, version, connection);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00574570
|
||||
// FUNCTION: fn_02505
|
||||
void CAsyncWorkMgr::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
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "Emblem_Upload");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CEmblemDataUploadAsyncWork*>(work.Get())->Bind(url, accountId, token, world, guildId, path, owner, context);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x005746D0
|
||||
// FUNCTION: fn_02506
|
||||
void CAsyncWorkMgr::LoadMyParty(
|
||||
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, WindowManagerWindows& windows
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "MyParty_Load");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CLoadMyPartyAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, windows);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00574810
|
||||
// FUNCTION: fn_02507
|
||||
void CAsyncWorkMgr::LoadPartyInfo(
|
||||
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, std::uint32_t queryAccountId,
|
||||
PartyInfoContext& context
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "PartyInfo_Load");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CLoadPartyInfoAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, queryAccountId, context);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00574950
|
||||
// FUNCTION: fn_02508
|
||||
void CAsyncWorkMgr::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
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "PartyList_Load");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CLoadPartyListAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, filter, search, page, windows);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00574B30
|
||||
// FUNCTION: fn_02509
|
||||
void CAsyncWorkMgr::LoadStore(
|
||||
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, int type, CMCStoreInfoBackup& owner,
|
||||
StoreBackupContext& context
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "MerchantStoreInformation_Load");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CMCStoreInfoBackupLoadAsyncWork*>(work.Get())->Bind(url, accountId, characterId, world, token, type, owner, context);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00574C70
|
||||
// FUNCTION: fn_02510
|
||||
void CAsyncWorkMgr::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
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "MerchantStoreInformation_Save");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CMCStoreInfoBackupSaveAsyncWork*>(work.Get())->Bind(url, accountId, characterId, world, token, data, type, owner, context);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00574DD0
|
||||
// FUNCTION: fn_02511
|
||||
void CAsyncWorkMgr::RegisterParty(
|
||||
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, CAdvenPartyInfo info, RegisterPartyContext& context
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "Register_Party");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CRegisterPartyAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, info, context);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00574F40
|
||||
// FUNCTION: fn_02512
|
||||
void CAsyncWorkMgr::StopRecruiting(
|
||||
std::uint32_t accountId, std::string world, std::string url, std::string token, std::uint32_t masterAccountId, StopRecruitingContext& context
|
||||
) {
|
||||
NAsyncWorkPtr work(this->m_pools, "Stop_Recruiting");
|
||||
|
||||
if (work.Get()) {
|
||||
static_cast<CStopRecruitingAsyncWork*>(work.Get())->Bind(accountId, world, url, token, masterAccountId, context);
|
||||
this->Submit(work);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue