diff options
| author | joschiwald <joschiwald.trinity@gmail.com> | 2017-05-13 17:25:21 +0200 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-05-13 17:25:21 +0200 |
| commit | 229c78b5a38dc58e14f4912de49437b68341452b (patch) | |
| tree | c7091cb6eb5044865cb35659646df9bf0e691009 /src/server/shared/Realm | |
| parent | bd456342e2e2e63264c1884e417b2779c9dab019 (diff) | |
Core/Packets: Implemented CMSG_QUERY_REALM_NAME and SMSG_REALM_QUERY_RESPONSE
Diffstat (limited to 'src/server/shared/Realm')
| -rw-r--r-- | src/server/shared/Realm/Realm.cpp | 7 | ||||
| -rw-r--r-- | src/server/shared/Realm/Realm.h | 3 | ||||
| -rw-r--r-- | src/server/shared/Realm/RealmList.cpp | 3 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/server/shared/Realm/Realm.cpp b/src/server/shared/Realm/Realm.cpp index 45e5b445297..2754fa60581 100644 --- a/src/server/shared/Realm/Realm.cpp +++ b/src/server/shared/Realm/Realm.cpp @@ -19,6 +19,13 @@ #include "StringFormat.h" #include <boost/asio/ip/address.hpp> +void Realm::SetName(std::string name) +{ + Name = name; + NormalizedName = std::move(name); + NormalizedName.erase(std::remove_if(NormalizedName.begin(), NormalizedName.end(), ::isspace), NormalizedName.end()); +} + boost::asio::ip::address Realm::GetAddressForClient(boost::asio::ip::address const& clientAddr) const { boost::asio::ip::address realmIp; diff --git a/src/server/shared/Realm/Realm.h b/src/server/shared/Realm/Realm.h index 21675fe149b..bde0a47c7df 100644 --- a/src/server/shared/Realm/Realm.h +++ b/src/server/shared/Realm/Realm.h @@ -83,12 +83,15 @@ struct TC_SHARED_API Realm std::unique_ptr<boost::asio::ip::address> LocalSubnetMask; uint16 Port; std::string Name; + std::string NormalizedName; uint8 Type; RealmFlags Flags; uint8 Timezone; AccountTypes AllowedSecurityLevel; float PopulationLevel; + void SetName(std::string name); + boost::asio::ip::address GetAddressForClient(boost::asio::ip::address const& clientAddr) const; uint32 GetConfigId() const; diff --git a/src/server/shared/Realm/RealmList.cpp b/src/server/shared/Realm/RealmList.cpp index 93bb4fc98ff..c579b741d8e 100644 --- a/src/server/shared/Realm/RealmList.cpp +++ b/src/server/shared/Realm/RealmList.cpp @@ -71,7 +71,8 @@ void RealmList::UpdateRealm(Battlenet::RealmHandle const& id, uint32 build, std: realm.Id = id; realm.Build = build; - realm.Name = name; + if (realm.Name != name) + realm.SetName(name); realm.Type = icon; realm.Flags = flag; realm.Timezone = timezone; |
