X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cb719f2e29bd20effa3259d2d7dead9fd857442c..c9ccc09c64f4c29d4667796bef7b507d9e8d25ed:/include/wx/url.h diff --git a/include/wx/url.h b/include/wx/url.h index 25bf2bb5ae..171efe8562 100644 --- a/include/wx/url.h +++ b/include/wx/url.h @@ -1,8 +1,8 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: url.h +// Name: wx/url.h // Purpose: URL parser // Author: Guilhem Lavaux -// Modified by: +// Modified by: Ryan Norton // Created: 20/07/1997 // RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux @@ -12,15 +12,11 @@ #ifndef _WX_URL_H #define _WX_URL_H -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "url.h" -#endif - #include "wx/defs.h" #if wxUSE_URL -#include "wx/object.h" +#include "wx/uri.h" #include "wx/protocol/protocol.h" #if wxUSE_PROTOCOL_HTTP @@ -38,7 +34,7 @@ typedef enum { } wxURLError; #if wxUSE_URL_NATIVE -class WXDLLIMPEXP_NET wxURL; +class WXDLLIMPEXP_FWD_NET wxURL; class WXDLLIMPEXP_NET wxURLNativeImp : public wxObject { @@ -48,40 +44,44 @@ public: }; #endif // wxUSE_URL_NATIVE -class WXDLLIMPEXP_NET wxURL : public wxObject +class WXDLLIMPEXP_NET wxURL : public wxURI { public: - wxURL(const wxString& url); + wxURL(const wxString& sUrl = wxEmptyString); + wxURL(const wxURI& uri); + wxURL(const wxURL& url); virtual ~wxURL(); - wxString GetProtocolName() const { return m_protoinfo->m_protoname; } - wxString GetHostName() const { return m_hostname; } - wxString GetURL() const { return m_url; } + wxURL& operator = (const wxString& url); + wxURL& operator = (const wxURI& uri); + wxURL& operator = (const wxURL& url); + wxProtocol& GetProtocol() { return *m_protocol; } wxURLError GetError() const { return m_error; } - wxString GetPath() const { return m_path; } + wxString GetURL() const { return m_url; } + + wxURLError SetURL(const wxString &url) + { *this = url; return m_error; } + + bool IsOk() const + { return m_error == wxURL_NOERR; } wxInputStream *GetInputStream(); -#if wxUSE_SOCKETS +#if wxUSE_PROTOCOL_HTTP static void SetDefaultProxy(const wxString& url_proxy); void SetProxy(const wxString& url_proxy); -#endif // wxUSE_SOCKETS - - static wxString ConvertToValidURI( - const wxString& uri, - const wxChar* delims = wxT(";/?:@&=+$,") - ); - static wxString ConvertFromURI(const wxString& uri); +#endif // wxUSE_PROTOCOL_HTTP protected: static wxProtoInfo *ms_protocols; -#if wxUSE_SOCKETS +#if wxUSE_PROTOCOL_HTTP static wxHTTP *ms_proxyDefault; static bool ms_useDefaultProxy; wxHTTP *m_proxy; -#endif // wxUSE_SOCKETS + bool m_useProxy; +#endif // wxUSE_PROTOCOL_HTTP #if wxUSE_URL_NATIVE friend class wxURLNativeImp; @@ -90,30 +90,24 @@ protected: // Creates on the heap and returns a native // implementation object for the current platform. static wxURLNativeImp *CreateNativeImpObject(); -#endif +#endif // wxUSE_URL_NATIVE + wxProtoInfo *m_protoinfo; wxProtocol *m_protocol; wxURLError m_error; - wxString m_protoname, m_hostname, m_servname, m_path, m_url; - wxString m_user, m_password; - bool m_useProxy; + wxString m_url; - bool PrepProto(wxString& url); - bool PrepHost(wxString& url); - bool PrepPath(wxString& url); + void Init(const wxString&); bool ParseURL(); void CleanData(); + void Free(); bool FetchProtocol(); friend class wxProtoInfo; friend class wxURLModule; private: - // VZ: can't use default copy ctor for this class, should write a correct - // one! (TODO) - DECLARE_NO_COPY_CLASS(wxURL) - DECLARE_DYNAMIC_CLASS(wxURL) };