summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/JID')
-rw-r--r--Swiften/JID/JID.cpp43
-rw-r--r--Swiften/JID/JID.h30
-rw-r--r--Swiften/JID/UnitTest/JIDTest.cpp58
3 files changed, 66 insertions, 65 deletions
diff --git a/Swiften/JID/JID.cpp b/Swiften/JID/JID.cpp
index 3ecd881..e4611b3 100644
--- a/Swiften/JID/JID.cpp
+++ b/Swiften/JID/JID.cpp
@@ -9,17 +9,18 @@
#include <vector>
#include <iostream>
-#include <Swiften/Base/String.h>
+#include <string>
#ifdef SWIFTEN_CACHE_JID_PREP
#include <boost/unordered_map.hpp>
#endif
#include <stringprep.h>
+#include <Swiften/Base/String.h>
#include "Swiften/JID/JID.h"
#include "Swiften/IDN/StringPrep.h"
#ifdef SWIFTEN_CACHE_JID_PREP
-typedef boost::unordered_map<std::string, Swift::String> PrepCache;
+typedef boost::unordered_map<std::string, std::string> PrepCache;
static PrepCache nodePrepCache;
static PrepCache domainPrepCache;
@@ -29,39 +30,39 @@ static PrepCache resourcePrepCache;
namespace Swift {
JID::JID(const char* jid) {
- initializeFromString(String(jid));
+ initializeFromString(std::string(jid));
}
-JID::JID(const String& jid) {
+JID::JID(const std::string& jid) {
initializeFromString(jid);
}
-JID::JID(const String& node, const String& domain) : hasResource_(false) {
+JID::JID(const std::string& node, const std::string& domain) : hasResource_(false) {
nameprepAndSetComponents(node, domain, "");
}
-JID::JID(const String& node, const String& domain, const String& resource) : hasResource_(true) {
+JID::JID(const std::string& node, const std::string& domain, const std::string& resource) : hasResource_(true) {
nameprepAndSetComponents(node, domain, resource);
}
-void JID::initializeFromString(const String& jid) {
- if (jid.beginsWith('@')) {
+void JID::initializeFromString(const std::string& jid) {
+ if (String::beginsWith(jid, '@')) {
return;
}
- String bare, resource;
+ std::string bare, resource;
size_t slashIndex = jid.find('/');
- if (slashIndex != jid.npos()) {
+ if (slashIndex != jid.npos) {
hasResource_ = true;
- bare = jid.getSubstring(0, slashIndex);
- resource = jid.getSubstring(slashIndex + 1, jid.npos());
+ bare = jid.substr(0, slashIndex);
+ resource = jid.substr(slashIndex + 1, jid.npos);
}
else {
hasResource_ = false;
bare = jid;
}
- std::pair<String,String> nodeAndDomain = bare.getSplittedAtFirst('@');
- if (nodeAndDomain.second.isEmpty()) {
+ std::pair<std::string,std::string> nodeAndDomain = String::getSplittedAtFirst(bare, '@');
+ if (nodeAndDomain.second.empty()) {
nameprepAndSetComponents("", nodeAndDomain.first, resource);
}
else {
@@ -70,7 +71,7 @@ void JID::initializeFromString(const String& jid) {
}
-void JID::nameprepAndSetComponents(const String& node, const String& domain, const String& resource) {
+void JID::nameprepAndSetComponents(const std::string& node, const std::string& domain, const std::string& resource) {
#ifndef SWIFTEN_CACHE_JID_PREP
node_ = StringPrep::getPrepared(node, StringPrep::NamePrep);
domain_ = StringPrep::getPrepared(domain, StringPrep::XMPPNodePrep);
@@ -78,19 +79,19 @@ void JID::nameprepAndSetComponents(const String& node, const String& domain, con
#else
std::pair<PrepCache::iterator, bool> r;
- r = nodePrepCache.insert(std::make_pair(node.getUTF8String(), String()));
+ r = nodePrepCache.insert(std::make_pair(node, std::string()));
if (r.second) {
r.first->second = StringPrep::getPrepared(node, StringPrep::NamePrep);
}
node_ = r.first->second;
- r = domainPrepCache.insert(std::make_pair(domain.getUTF8String(), String()));
+ r = domainPrepCache.insert(std::make_pair(domain, std::string()));
if (r.second) {
r.first->second = StringPrep::getPrepared(domain, StringPrep::XMPPNodePrep);
}
domain_ = r.first->second;
- r = resourcePrepCache.insert(std::make_pair(resource.getUTF8String(), String()));
+ r = resourcePrepCache.insert(std::make_pair(resource, std::string()));
if (r.second) {
r.first->second = StringPrep::getPrepared(resource, StringPrep::XMPPResourcePrep);
}
@@ -98,9 +99,9 @@ void JID::nameprepAndSetComponents(const String& node, const String& domain, con
#endif
}
-String JID::toString() const {
- String string;
- if (!node_.isEmpty()) {
+std::string JID::toString() const {
+ std::string string;
+ if (!node_.empty()) {
string += node_ + "@";
}
string += domain_;
diff --git a/Swiften/JID/JID.h b/Swiften/JID/JID.h
index 76c2606..78136ff 100644
--- a/Swiften/JID/JID.h
+++ b/Swiften/JID/JID.h
@@ -6,7 +6,7 @@
#pragma once
-#include "Swiften/Base/String.h"
+#include <string>
namespace Swift {
class JID {
@@ -15,22 +15,22 @@ namespace Swift {
WithResource, WithoutResource
};
- explicit JID(const String& = String());
+ explicit JID(const std::string& = std::string());
explicit JID(const char*);
- JID(const String& node, const String& domain);
- JID(const String& node, const String& domain, const String& resource);
+ JID(const std::string& node, const std::string& domain);
+ JID(const std::string& node, const std::string& domain, const std::string& resource);
bool isValid() const {
- return !domain_.isEmpty(); /* FIXME */
+ return !domain_.empty(); /* FIXME */
}
- const String& getNode() const {
+ const std::string& getNode() const {
return node_;
}
- const String& getDomain() const {
+ const std::string& getDomain() const {
return domain_;
}
- const String& getResource() const {
+ const std::string& getResource() const {
return resource_;
}
bool isBare() const {
@@ -44,7 +44,7 @@ namespace Swift {
return result;
}
- String toString() const;
+ std::string toString() const;
bool equals(const JID& o, CompareType compareType) const {
return compare(o, compareType) == 0;
@@ -52,7 +52,7 @@ namespace Swift {
int compare(const JID& o, CompareType compareType) const;
- operator String() const {
+ operator std::string() const {
return toString();
}
@@ -74,13 +74,13 @@ namespace Swift {
}
private:
- void nameprepAndSetComponents(const String& node, const String& domain, const String& resource);
- void initializeFromString(const String&);
+ void nameprepAndSetComponents(const std::string& node, const std::string& domain, const std::string& resource);
+ void initializeFromString(const std::string&);
private:
- String node_;
- String domain_;
+ std::string node_;
+ std::string domain_;
bool hasResource_;
- String resource_;
+ std::string resource_;
};
}
diff --git a/Swiften/JID/UnitTest/JIDTest.cpp b/Swiften/JID/UnitTest/JIDTest.cpp
index 51e6d2c..0f22e15 100644
--- a/Swiften/JID/UnitTest/JIDTest.cpp
+++ b/Swiften/JID/UnitTest/JIDTest.cpp
@@ -59,18 +59,18 @@ class JIDTest : public CppUnit::TestFixture
void testConstructorWithString() {
JID testling("foo@bar/baz");
- CPPUNIT_ASSERT_EQUAL(String("foo"), testling.getNode());
- CPPUNIT_ASSERT_EQUAL(String("bar"), testling.getDomain());
- CPPUNIT_ASSERT_EQUAL(String("baz"), testling.getResource());
+ CPPUNIT_ASSERT_EQUAL(std::string("foo"), testling.getNode());
+ CPPUNIT_ASSERT_EQUAL(std::string("bar"), testling.getDomain());
+ CPPUNIT_ASSERT_EQUAL(std::string("baz"), testling.getResource());
CPPUNIT_ASSERT(!testling.isBare());
}
void testConstructorWithString_NoResource() {
JID testling("foo@bar");
- CPPUNIT_ASSERT_EQUAL(String("foo"), testling.getNode());
- CPPUNIT_ASSERT_EQUAL(String("bar"), testling.getDomain());
- CPPUNIT_ASSERT_EQUAL(String(""), testling.getResource());
+ CPPUNIT_ASSERT_EQUAL(std::string("foo"), testling.getNode());
+ CPPUNIT_ASSERT_EQUAL(std::string("bar"), testling.getDomain());
+ CPPUNIT_ASSERT_EQUAL(std::string(""), testling.getResource());
CPPUNIT_ASSERT(testling.isBare());
}
@@ -84,38 +84,38 @@ class JIDTest : public CppUnit::TestFixture
void testConstructorWithString_NoNode() {
JID testling("bar/baz");
- CPPUNIT_ASSERT_EQUAL(String(""), testling.getNode());
- CPPUNIT_ASSERT_EQUAL(String("bar"), testling.getDomain());
- CPPUNIT_ASSERT_EQUAL(String("baz"), testling.getResource());
+ CPPUNIT_ASSERT_EQUAL(std::string(""), testling.getNode());
+ CPPUNIT_ASSERT_EQUAL(std::string("bar"), testling.getDomain());
+ CPPUNIT_ASSERT_EQUAL(std::string("baz"), testling.getResource());
CPPUNIT_ASSERT(!testling.isBare());
}
void testConstructorWithString_OnlyDomain() {
JID testling("bar");
- CPPUNIT_ASSERT_EQUAL(String(""), testling.getNode());
- CPPUNIT_ASSERT_EQUAL(String("bar"), testling.getDomain());
- CPPUNIT_ASSERT_EQUAL(String(""), testling.getResource());
+ CPPUNIT_ASSERT_EQUAL(std::string(""), testling.getNode());
+ CPPUNIT_ASSERT_EQUAL(std::string("bar"), testling.getDomain());
+ CPPUNIT_ASSERT_EQUAL(std::string(""), testling.getResource());
CPPUNIT_ASSERT(testling.isBare());
}
void testConstructorWithString_UpperCaseNode() {
JID testling("Fo\xCE\xA9@bar");
- CPPUNIT_ASSERT_EQUAL(String("fo\xCF\x89"), testling.getNode());
- CPPUNIT_ASSERT_EQUAL(String("bar"), testling.getDomain());
+ CPPUNIT_ASSERT_EQUAL(std::string("fo\xCF\x89"), testling.getNode());
+ CPPUNIT_ASSERT_EQUAL(std::string("bar"), testling.getDomain());
}
void testConstructorWithString_UpperCaseDomain() {
JID testling("Fo\xCE\xA9");
- CPPUNIT_ASSERT_EQUAL(String("fo\xCF\x89"), testling.getDomain());
+ CPPUNIT_ASSERT_EQUAL(std::string("fo\xCF\x89"), testling.getDomain());
}
void testConstructorWithString_UpperCaseResource() {
JID testling("bar/Fo\xCE\xA9");
- CPPUNIT_ASSERT_EQUAL(testling.getResource(), String("Fo\xCE\xA9"));
+ CPPUNIT_ASSERT_EQUAL(testling.getResource(), std::string("Fo\xCE\xA9"));
}
void testConstructorWithString_EmptyNode() {
@@ -127,9 +127,9 @@ class JIDTest : public CppUnit::TestFixture
void testConstructorWithStrings() {
JID testling("foo", "bar", "baz");
- CPPUNIT_ASSERT_EQUAL(String("foo"), testling.getNode());
- CPPUNIT_ASSERT_EQUAL(String("bar"), testling.getDomain());
- CPPUNIT_ASSERT_EQUAL(String("baz"), testling.getResource());
+ CPPUNIT_ASSERT_EQUAL(std::string("foo"), testling.getNode());
+ CPPUNIT_ASSERT_EQUAL(std::string("bar"), testling.getDomain());
+ CPPUNIT_ASSERT_EQUAL(std::string("baz"), testling.getResource());
}
void testIsBare() {
@@ -143,49 +143,49 @@ class JIDTest : public CppUnit::TestFixture
void testToBare() {
JID testling("foo@bar/baz");
- CPPUNIT_ASSERT_EQUAL(String("foo"), testling.toBare().getNode());
- CPPUNIT_ASSERT_EQUAL(String("bar"), testling.toBare().getDomain());
+ CPPUNIT_ASSERT_EQUAL(std::string("foo"), testling.toBare().getNode());
+ CPPUNIT_ASSERT_EQUAL(std::string("bar"), testling.toBare().getDomain());
CPPUNIT_ASSERT(testling.toBare().isBare());
}
void testToBare_EmptyNode() {
JID testling("bar/baz");
- CPPUNIT_ASSERT_EQUAL(String(""), testling.toBare().getNode());
- CPPUNIT_ASSERT_EQUAL(String("bar"), testling.toBare().getDomain());
+ CPPUNIT_ASSERT_EQUAL(std::string(""), testling.toBare().getNode());
+ CPPUNIT_ASSERT_EQUAL(std::string("bar"), testling.toBare().getDomain());
CPPUNIT_ASSERT(testling.toBare().isBare());
}
void testToBare_EmptyResource() {
JID testling("bar/");
- CPPUNIT_ASSERT_EQUAL(String(""), testling.toBare().getNode());
- CPPUNIT_ASSERT_EQUAL(String("bar"), testling.toBare().getDomain());
+ CPPUNIT_ASSERT_EQUAL(std::string(""), testling.toBare().getNode());
+ CPPUNIT_ASSERT_EQUAL(std::string("bar"), testling.toBare().getDomain());
CPPUNIT_ASSERT(testling.toBare().isBare());
}
void testToString() {
JID testling("foo@bar/baz");
- CPPUNIT_ASSERT_EQUAL(String("foo@bar/baz"), testling.toString());
+ CPPUNIT_ASSERT_EQUAL(std::string("foo@bar/baz"), testling.toString());
}
void testToString_EmptyNode() {
JID testling("bar/baz");
- CPPUNIT_ASSERT_EQUAL(String("bar/baz"), testling.toString());
+ CPPUNIT_ASSERT_EQUAL(std::string("bar/baz"), testling.toString());
}
void testToString_NoResource() {
JID testling("foo@bar");
- CPPUNIT_ASSERT_EQUAL(String("foo@bar"), testling.toString());
+ CPPUNIT_ASSERT_EQUAL(std::string("foo@bar"), testling.toString());
}
void testToString_EmptyResource() {
JID testling("foo@bar/");
- CPPUNIT_ASSERT_EQUAL(String("foo@bar/"), testling.toString());
+ CPPUNIT_ASSERT_EQUAL(std::string("foo@bar/"), testling.toString());
}
void testCompare_SmallerNode() {