X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b60b2ec8ac57d569c4831eb98113f7cb713a117a..5c750f949fa3915e7ee54cf060de704701000581:/include/wx/uri.h diff --git a/include/wx/uri.h b/include/wx/uri.h index 473ab42e1b..a2a1ac498d 100644 --- a/include/wx/uri.h +++ b/include/wx/uri.h @@ -11,7 +11,7 @@ #ifndef _WX_URI_H_ #define _WX_URI_H_ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "uri.h" #endif @@ -19,13 +19,13 @@ #include "wx/object.h" #include "wx/string.h" -// Host Type that the server can be +// Host Type that the server component can be enum wxURIHostType { - wxURI_REGNAME, - wxURI_IPV4ADDRESS, - wxURI_IPV6ADDRESS, - wxURI_IPVFUTURE + wxURI_REGNAME, // Host is a normal register name (www.mysite.com etc.) + wxURI_IPV4ADDRESS, // Host is a version 4 ip address (192.168.1.100) + wxURI_IPV6ADDRESS, // Host is a version 6 ip address [aa:aa:aa:aa::aa:aa]:5050 + wxURI_IPVFUTURE // Host is a future ip address (wxURI is unsure what kind) }; // Component Flags @@ -52,7 +52,7 @@ enum wxURIFlags // Originally based off of RFC 2396 - then // extended to meet the newer RFC 2396.bis // specifications. -class wxURI : public wxObject +class WXDLLIMPEXP_BASE wxURI : public wxObject { public: wxURI(); @@ -61,7 +61,7 @@ public: virtual ~wxURI(); - void Create(const wxString& uri); + const wxChar* Create(const wxString& uri); bool HasScheme() const { return (m_fields & wxURI_SCHEME) == wxURI_SCHEME; } bool HasUser() const { return (m_fields & wxURI_USER) == wxURI_USER; } @@ -70,7 +70,7 @@ public: 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; } @@ -80,7 +80,8 @@ public: const wxString& GetServer() const { return m_server; } const wxURIHostType& GetHostType() const { return m_hostType; } - wxString Get() const; + wxString BuildURI() const; + wxString BuildUnescapedURI() const; void Resolve(const wxURI& base, int flags = wxURI_STRICT); bool IsReference() const; @@ -88,6 +89,8 @@ public: wxURI& operator = (const wxURI& uri); wxURI& operator = (const wxString& string); bool operator == (const wxURI& uri) const; + + static wxString Unescape (const wxString& szEscapedURI); protected: wxURI& Assign(const wxURI& uri); @@ -112,16 +115,14 @@ protected: static bool ParseIPv6address(const wxChar*& uri); static bool ParseIPvFuture(const wxChar*& uri); - static void Normalize(wxChar* uri, bool bIgnoreLeads = false); static void UpTree(const wxChar* uristart, const wxChar*& uri); - static wxChar Unescape(const wxChar* s); + static wxChar TranslateEscape(const wxChar* s); static void Escape (wxString& s, const wxChar& c); static bool IsEscape(const wxChar*& uri); - static int CharToHex(const wxChar& c); - + static wxChar CharToHex(const wxChar& c); static bool IsUnreserved (const wxChar& c); static bool IsReserved (const wxChar& c);