diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-04-02 20:46:42 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-04-18 19:11:41 (GMT) |
commit | 40587e704a2a8dfe7d29cc2e28e140f01c9f86bc (patch) | |
tree | 1e7b339e6d4038c34e033088469f244ff971f496 /SwifTools/URIHandler/XMPPURI.h | |
parent | e3d2137622cea23298f203801bc698eff08e0ea1 (diff) | |
download | swift-40587e704a2a8dfe7d29cc2e28e140f01c9f86bc.zip swift-40587e704a2a8dfe7d29cc2e28e140f01c9f86bc.tar.bz2 |
Added RFC5122 XMPP URI parsing and basic handling.
URI Handling currently only works on Mac OS X.
Diffstat (limited to 'SwifTools/URIHandler/XMPPURI.h')
-rw-r--r-- | SwifTools/URIHandler/XMPPURI.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/SwifTools/URIHandler/XMPPURI.h b/SwifTools/URIHandler/XMPPURI.h new file mode 100644 index 0000000..266b79b --- /dev/null +++ b/SwifTools/URIHandler/XMPPURI.h @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2011 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <string> +#include <map> + +#include <Swiften/JID/JID.h> + +namespace Swift { + class XMPPURI { + public: + XMPPURI(); + + const JID& getAuthority() const { + return authority; + } + + void setAuthority(const JID& j) { + authority = j; + } + + const JID& getPath() const { + return path; + } + + void setPath(const JID& j) { + path = j; + } + + const std::string& getQueryType() const { + return queryType; + } + + void setQueryType(const std::string& q) { + queryType = q; + } + + const std::map<std::string, std::string>& getQueryParameters() const { + return queryParameters; + } + + void addQueryParameter(const std::string& key, const std::string& path) { + queryParameters[key] = path; + } + + const std::string& getFragment() const { + return fragment; + } + + void setFragment(const std::string& f) { + fragment = f; + } + + bool isNull() const { + return !authority.isValid() && !path.isValid(); + } + + static XMPPURI fromString(const std::string&); + + private: + JID authority; + JID path; + std::string fragment; + std::string queryType; + std::map<std::string, std::string> queryParameters; + }; +} |