diff options
Diffstat (limited to 'Swiften/Base')
-rw-r--r-- | Swiften/Base/URL.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Swiften/Base/URL.h b/Swiften/Base/URL.h new file mode 100644 index 0000000..7a5aa59 --- /dev/null +++ b/Swiften/Base/URL.h @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2011 Kevin Smith + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <string> + +namespace Swift { + +class URL { + public: + + URL() : scheme(""), user(""), password(""), host(""), port(-1), path(""), isEmpty(true) { + } + + URL(const std::string& scheme, const std::string& host, int port, const std::string& path) : scheme(scheme), user(), password(), host(host), port(port), path(path), isEmpty(false) { + + } + + /** + * Whether the URL is empty. + */ + bool empty() const { + return isEmpty; + } + + /** + * Scheme used for the URL (http, https etc.) + */ + const std::string& getScheme() const { + return scheme; + } + + /** + * Hostname + */ + const std::string& getHost() const { + return host; + } + + /** + * Port number + */ + int getPort() const { + return port; + } + + /** + * Path + */ + const std::string& getPath() const { + return path; + } + + + + private: + std::string scheme; + std::string user; + std::string password; + std::string host; + int port; + std::string path; + bool isEmpty; + }; +} |