00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _utils_URI
00021 #define _utils_URI 1
00022
00023 #include <string>
00024
00030 namespace utils {
00031 class URI;
00032 };
00033
00041 class utils::URI {
00042 public:
00060 URI(const string &stringified_URI);
00061
00072 URI(const string &host, const string &port, const string &service, const string &context, const string &name) :
00073 _isValid(true), _host(host), _port(port), _service(service),
00074 _context(context), _name(name) {};
00075
00080 string port() const { return _port; };
00081
00086 string host() const { return _host; };
00087
00092 string service() const { return _service; };
00093
00098 string context() const { return _context; };
00099
00104 string name() const { return _name; };
00105
00113 string nameServerURL() const;
00114
00121 string serviceName() const;
00122
00127 string toString() const;
00128
00136 bool isValid() const { return _isValid; };
00137 private:
00138 bool _isValid;
00139 string _host;
00140 string _port;
00141 string _service;
00142 string _context;
00143 string _name;
00144 };
00145
00146 #endif