#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; #include "UI/Window/WindowManagerWindows.h" 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); 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); 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); 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 ); 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 ); void SaveStore(std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, std::string data, int type); void RegisterParty(std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, CAdvenPartyInfo info); void StopRecruiting(std::uint32_t accountId, std::string world, std::string url, std::string token, std::uint32_t masterAccountId); // 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