29#include <shared_mutex>
30#include <unordered_set>
36class GetAllValuesForAttributeResponse;
48 typedef std::map<Battlenet::RealmHandle, std::shared_ptr<Realm>>
RealmMap;
65 std::shared_ptr<Realm const> GetCurrentRealm()
const;
69 std::vector<uint8> GetRealmList(
uint32 build,
AccountTypes accountSecurityLevel, std::string
const& subRegion)
const;
71 std::array<uint8, 32>
const& clientSecret,
LocaleConstant locale, std::string
const& os,
Minutes timezoneOffset, std::string
const& accountName,
79 std::vector<boost::asio::ip::address>&& addresses,
93#define sRealmList RealmList::Instance()
std::chrono::minutes Minutes
Minutes shorthand typedef.
std::optional< T > Optional
Optional helper class to wrap optional values within.
Storage object for the list of realms on the server.
RealmList(RealmList const &)=delete
std::map< Battlenet::RealmHandle, std::shared_ptr< Realm > > RealmMap
std::map< Battlenet::RealmHandle, std::string > _removedRealms
RealmList(RealmList &&)=delete
RealmList & operator=(RealmList const &)=delete
RealmList & operator=(RealmList &&)=delete
std::unordered_set< std::string > _subRegions
Optional< Battlenet::RealmHandle > _currentRealmId
std::shared_mutex _realmsMutex
std::unique_ptr< Trinity::Net::Resolver > _resolver
std::unique_ptr< Trinity::Asio::DeadlineTimer > _updateTimer