Index: source/lobby/XmppClient.cpp =================================================================== --- source/lobby/XmppClient.cpp +++ source/lobby/XmppClient.cpp @@ -46,7 +46,7 @@ { std::string ret; glooxwrapper::Tag* tag = iq.tag(); - ret = tag->xml().to_string(); + ret = tag->xml(); glooxwrapper::Tag::free(tag); return ret; } @@ -56,7 +56,7 @@ { std::string ret; glooxwrapper::Tag* tag = iq.tag(); - ret = tag->name().to_string(); + ret = tag->name(); glooxwrapper::Tag::free(tag); return ret; } @@ -868,13 +868,13 @@ const LobbyAuth* lobbyAuth = iq.findExtension(EXTLOBBYAUTH); if (lobbyAuth) { - LOGMESSAGE("XmppClient: Received lobby auth: %s from %s", lobbyAuth->m_Token.to_string(), iq.from().username()); + LOGMESSAGE("XmppClient: Received lobby auth: %s from %s", lobbyAuth->m_Token.c_str(), iq.from().username()); glooxwrapper::IQ response(gloox::IQ::Result, iq.from(), iq.id()); m_client->send(response); if (g_NetServer) - g_NetServer->OnLobbyAuth(iq.from().username(), lobbyAuth->m_Token.to_string()); + g_NetServer->OnLobbyAuth(iq.from().username(), lobbyAuth->m_Token); else LOGERROR("Received lobby authentication request, but not hosting currently!"); } @@ -1014,7 +1014,7 @@ */ void XmppClient::handleMUCSubject(glooxwrapper::MUCRoom& UNUSED(room), const glooxwrapper::string& nick, const glooxwrapper::string& subject) { - m_Subject = wstring_from_utf8(subject.to_string()); + m_Subject = wstring_from_utf8(subject); CreateGUIMessage( "chat", @@ -1049,7 +1049,7 @@ */ void XmppClient::GetNick(std::string& nick) { - nick = m_mucRoom->nick().to_string(); + nick = m_mucRoom->nick(); } /** @@ -1129,7 +1129,7 @@ if (it == m_PlayerMap.end()) return std::wstring(); - return wstring_from_utf8(it->second.m_Rating.to_string()); + return wstring_from_utf8(it->second.m_Rating); } /***************************************************** @@ -1152,7 +1152,7 @@ // The locale is irrelevant, because the XMPP date format doesn't contain written month names for (const std::string& format : std::vector{ "Y-M-d'T'H:m:sZ", "Y-M-d'T'H:m:s.SZ" }) { - UDate dateTime = g_L10n.ParseDateTime(msg.when()->stamp().to_string(), format, icu::Locale::getUS()); + UDate dateTime = g_L10n.ParseDateTime(msg.when()->stamp(), format, icu::Locale::getUS()); if (dateTime) return dateTime / 1000.0; } @@ -1377,5 +1377,5 @@ return; } - g_NetServer->SendHolePunchingMessage(candidate.ip.to_string(), candidate.port); + g_NetServer->SendHolePunchingMessage(candidate.ip, candidate.port); } Index: source/lobby/glooxwrapper/glooxwrapper.h =================================================================== --- source/lobby/glooxwrapper/glooxwrapper.h +++ source/lobby/glooxwrapper/glooxwrapper.h @@ -110,95 +110,7 @@ GLOOXWRAPPER_API void* glooxwrapper_alloc(size_t size); GLOOXWRAPPER_API void glooxwrapper_free(void* p); - class string - { - private: - size_t m_Size; - char* m_Data; - public: - string() - { - m_Size = 0; - m_Data = (char*)glooxwrapper_alloc(1); - m_Data[0] = '\0'; - } - - string(const string& str) - { - m_Size = str.m_Size; - m_Data = (char*)glooxwrapper_alloc(m_Size + 1); - memcpy(m_Data, str.m_Data, m_Size + 1); - } - - string(const std::string& str) : m_Data(NULL) - { - m_Size = str.size(); - m_Data = (char*)glooxwrapper_alloc(m_Size + 1); - memcpy(m_Data, str.c_str(), m_Size + 1); - } - - string(const char* str) - { - m_Size = strlen(str); - m_Data = (char*)glooxwrapper_alloc(m_Size + 1); - memcpy(m_Data, str, m_Size + 1); - } - - string& operator=(const string& str) - { - if (this != &str) - { - glooxwrapper_free(m_Data); - m_Size = str.m_Size; - m_Data = (char*)glooxwrapper_alloc(m_Size + 1); - memcpy(m_Data, str.m_Data, m_Size + 1); - } - return *this; - } - - ~string() - { - glooxwrapper_free(m_Data); - } - - /** - * Gloox strings are UTF encoded, so don't forget to decode it before passing it to the GUI! - */ - std::string to_string() const - { - return std::string(m_Data, m_Size); - } - - const char* c_str() const - { - return m_Data; - } - - bool empty() const - { - return m_Size == 0; - } - - bool operator==(const char* str) const - { - return strcmp(m_Data, str) == 0; - } - - bool operator!=(const char* str) const - { - return strcmp(m_Data, str) != 0; - } - - bool operator==(const string& str) const - { - return strcmp(m_Data, str.m_Data) == 0; - } - - bool operator<(const string& str) const - { - return strcmp(m_Data, str.m_Data) < 0; - } - }; + using string = std::string; static inline std::ostream& operator<<(std::ostream& stream, const string& string) { @@ -494,8 +406,7 @@ JID(const gloox::JID& jid) : m_Wrapped(const_cast(&jid)), m_Owned(false) { } JID(); - JID(const string& jid); - JID(const std::string& jid) { init(jid.c_str(), jid.size()); } + JID(const std::string& jid); ~JID(); string username() const; Index: source/lobby/glooxwrapper/glooxwrapper.cpp =================================================================== --- source/lobby/glooxwrapper/glooxwrapper.cpp +++ source/lobby/glooxwrapper/glooxwrapper.cpp @@ -236,7 +236,7 @@ StanzaExtensionWrapper(const glooxwrapper::StanzaExtension* wrapped, bool owned) : gloox::StanzaExtension(wrapped->extensionType()), m_Wrapped(wrapped), m_Owned(owned) { - m_FilterString = m_Wrapped->filterString().to_string(); + m_FilterString = m_Wrapped->filterString(); } ~StanzaExtensionWrapper() @@ -320,14 +320,14 @@ glooxwrapper::Client::Client(const string& server) { - m_Wrapped = new gloox::Client(server.to_string()); + m_Wrapped = new gloox::Client(server); m_DiscoWrapper = new glooxwrapper::Disco(m_Wrapped->disco()); m_Impl = new ClientImpl; } glooxwrapper::Client::Client(const JID& jid, const string& password, int port) { - m_Wrapped = new gloox::Client(jid.getWrapped(), password.to_string(), port); + m_Wrapped = new gloox::Client(jid.getWrapped(), password, port); m_DiscoWrapper = new glooxwrapper::Disco(m_Wrapped->disco()); m_Impl = new ClientImpl; } @@ -413,7 +413,7 @@ void glooxwrapper::Client::setPresence(gloox::Presence::PresenceType pres, int priority, const string& status) { - m_Wrapped->setPresence(pres, priority, status.to_string()); + m_Wrapped->setPresence(pres, priority, status); } @@ -435,18 +435,18 @@ void glooxwrapper::Disco::setVersion(const string& name, const string& version, const string& os) { - m_Wrapped->setVersion(name.to_string(), version.to_string(), os.to_string()); + m_Wrapped->setVersion(name, version, os); } void glooxwrapper::Disco::setIdentity(const string& category, const string& type, const string& name) { - m_Wrapped->setIdentity(category.to_string(), type.to_string(), name.to_string()); + m_Wrapped->setIdentity(category, type, name); } glooxwrapper::IQ::IQ(gloox::IQ::IqType type, const JID& to, const string& id) { - m_Wrapped = new gloox::IQ(type, to.getWrapped(), id.to_string()); + m_Wrapped = new gloox::IQ(type, to.getWrapped(), id); m_Owned = true; } @@ -505,7 +505,7 @@ glooxwrapper::JID::JID(const glooxwrapper::string& jid) { - m_Wrapped = new gloox::JID(jid.to_string()); + m_Wrapped = new gloox::JID(jid); m_Owned = true; } @@ -564,7 +564,7 @@ glooxwrapper::string glooxwrapper::Message::subject(const string& lang) const { - return m_Wrapped->subject(lang.to_string()); + return m_Wrapped->subject(lang); } glooxwrapper::string glooxwrapper::Message::thread() const @@ -614,27 +614,27 @@ void glooxwrapper::MUCRoom::join(gloox::Presence::PresenceType type, const string& status, int priority) { - m_Wrapped->join(type, status.to_string(), priority); + m_Wrapped->join(type, status, priority); } void glooxwrapper::MUCRoom::leave(const string& msg) { - m_Wrapped->leave(msg.to_string()); + m_Wrapped->leave(msg); } void glooxwrapper::MUCRoom::send(const string& message) { - m_Wrapped->send(message.to_string()); + m_Wrapped->send(message); } void glooxwrapper::MUCRoom::setNick(const string& nick) { - m_Wrapped->setNick(nick.to_string()); + m_Wrapped->setNick(nick); } void glooxwrapper::MUCRoom::setPresence(gloox::Presence::PresenceType presence, const string& msg) { - m_Wrapped->setPresence(presence, msg.to_string()); + m_Wrapped->setPresence(presence, msg); } void glooxwrapper::MUCRoom::setRequestHistory(int value, gloox::MUCRoom::HistoryRequestType type) @@ -644,12 +644,12 @@ void glooxwrapper::MUCRoom::kick(const string& nick, const string& reason) { - m_Wrapped->kick(nick.to_string(), reason.to_string()); + m_Wrapped->kick(nick, reason); } void glooxwrapper::MUCRoom::ban(const string& nick, const string& reason) { - m_Wrapped->ban(nick.to_string(), reason.to_string()); + m_Wrapped->ban(nick, reason); } @@ -671,7 +671,7 @@ bool glooxwrapper::Registration::createAccount(int fields, const glooxwrapper::RegistrationFields& values) { gloox::RegistrationFields valuesUnwrapped; -#define COPY(n) valuesUnwrapped.n = values.n.to_string() +#define COPY(n) valuesUnwrapped.n = values.n COPY(username); COPY(nick); COPY(password); @@ -702,13 +702,13 @@ glooxwrapper::Tag::Tag(const string& name) { - m_Wrapped = new gloox::Tag(name.to_string()); + m_Wrapped = new gloox::Tag(name); m_Owned = true; } glooxwrapper::Tag::Tag(const string& name, const string& cdata) { - m_Wrapped = new gloox::Tag(name.to_string(), cdata.to_string()); + m_Wrapped = new gloox::Tag(name, cdata); m_Owned = true; } @@ -740,12 +740,12 @@ bool glooxwrapper::Tag::addAttribute(const string& name, const string& value) { - return m_Wrapped->addAttribute(name.to_string(), value.to_string()); + return m_Wrapped->addAttribute(name, value); } glooxwrapper::string glooxwrapper::Tag::findAttribute(const string& name) const { - return m_Wrapped->findAttribute(name.to_string()); + return m_Wrapped->findAttribute(name); } glooxwrapper::Tag* glooxwrapper::Tag::clone() const @@ -760,7 +760,7 @@ bool glooxwrapper::Tag::setXmlns(const string& xmlns) { - return m_Wrapped->setXmlns(xmlns.to_string()); + return m_Wrapped->setXmlns(xmlns); } glooxwrapper::string glooxwrapper::Tag::xml() const @@ -786,7 +786,7 @@ const glooxwrapper::Tag* glooxwrapper::Tag::findTag_clone(const string& expression) const { - const gloox::Tag* tag = m_Wrapped->findTag(expression.to_string()); + const gloox::Tag* tag = m_Wrapped->findTag(expression); if (!tag) return NULL; return new glooxwrapper::Tag(const_cast(tag), false); @@ -795,7 +795,7 @@ glooxwrapper::ConstTagList glooxwrapper::Tag::findTagList_clone(const string& expression) const { glooxwrapper::ConstTagList tagListWrapper; - for (const gloox::Tag* const& t : m_Wrapped->findTagList(expression.to_string())) + for (const gloox::Tag* const& t : m_Wrapped->findTagList(expression)) tagListWrapper.push_back(new glooxwrapper::Tag(const_cast(t), false)); return tagListWrapper; } Index: source/lobby/scripting/GlooxScriptConversions.cpp =================================================================== --- source/lobby/scripting/GlooxScriptConversions.cpp +++ source/lobby/scripting/GlooxScriptConversions.cpp @@ -23,11 +23,6 @@ #include "lobby/XmppClient.h" #include "scriptinterface/ScriptInterface.h" -template<> void ScriptInterface::ToJSVal(JSContext* cx, JS::MutableHandleValue ret, const glooxwrapper::string& val) -{ - ToJSVal(cx, ret, wstring_from_utf8(val.to_string())); -} - template<> void ScriptInterface::ToJSVal(JSContext* cx, JS::MutableHandleValue ret, const gloox::Presence::PresenceType& val) { ToJSVal(cx, ret, XmppClient::GetPresenceString(val));