summaryrefslogtreecommitdiff
path: root/src/xmpp/jid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmpp/jid.cpp')
-rw-r--r--src/xmpp/jid.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/xmpp/jid.cpp b/src/xmpp/jid.cpp
new file mode 100644
index 0000000..78b28a0
--- /dev/null
+++ b/src/xmpp/jid.cpp
@@ -0,0 +1,19 @@
+#include <xmpp/jid.hpp>
+
+Jid::Jid(const std::string& jid)
+{
+ std::string::size_type at = jid.find("@");
+ if (at != std::string::npos)
+ {
+ this->local = jid.substr(0, at);
+ at++;
+ }
+ else
+ at = 0;
+ std::string::size_type slash = jid.find("/", at);
+ if (slash != std::string::npos)
+ {
+ this->resource = jid.substr(slash + 1);
+ }
+ this->domain = jid.substr(at, slash - at);
+}