+ bool HasScheme() const { return (m_fields & wxURI_SCHEME) == wxURI_SCHEME; }
+ bool HasUser() const { return (m_fields & wxURI_USER) == wxURI_USER; }
+ bool HasServer() const { return (m_fields & wxURI_SERVER) == wxURI_SERVER; }
+ bool HasPort() const { return (m_fields & wxURI_PORT) == wxURI_PORT; }
+ bool HasPath() const { return (m_fields & wxURI_PATH) == wxURI_PATH; }
+ bool HasQuery() const { return (m_fields & wxURI_QUERY) == wxURI_QUERY; }
+ bool HasFragment() const { return (m_fields & wxURI_FRAGMENT) == wxURI_FRAGMENT; }
+
+ const wxString& GetScheme() const { return m_scheme; }
+ const wxString& GetPath() const { return m_path; }
+ const wxString& GetQuery() const { return m_query; }
+ const wxString& GetFragment() const { return m_fragment; }
+ const wxString& GetPort() const { return m_port; }
+ const wxString& GetUser() const { return m_user; }
+ const wxString& GetServer() const { return m_server; }
+ const wxURIHostType& GetHostType() const { return m_hostType; }
+
+ wxString BuildURI() const;
+ wxString BuildUnescapedURI() const;
+
+ void Resolve(const wxURI& base, int flags = wxURI_STRICT);