X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b2b355240765c641b9764728a982c6b90b9cc747..b8033a5ddc49eac10758bad563479e573fdf7390:/include/wx/url.h diff --git a/include/wx/url.h b/include/wx/url.h index 6b15187585..59d8428060 100644 --- a/include/wx/url.h +++ b/include/wx/url.h @@ -6,22 +6,24 @@ // Created: 20/07/1997 // RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// + #ifndef _WX_URL_H #define _WX_URL_H -#ifdef __GNUG__ -#pragma interface +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface "url.h" #endif -// wxWindows header -#include "wx/object.h" +#include "wx/defs.h" -// wxSocket headers +#if wxUSE_URL + +#include "wx/object.h" #include "wx/protocol/protocol.h" -#if wxUSE_SOCKETS +#if wxUSE_PROTOCOL_HTTP #include "wx/protocol/http.h" #endif @@ -34,19 +36,30 @@ typedef enum { wxURL_CONNERR, wxURL_PROTOERR } wxURLError; - -class WXDLLEXPORT wxURL : public wxObject + +#if wxUSE_URL_NATIVE +class WXDLLIMPEXP_NET wxURL; + +class WXDLLIMPEXP_NET wxURLNativeImp : public wxObject +{ +public: + virtual ~wxURLNativeImp() { } + virtual wxInputStream *GetInputStream(wxURL *owner) = 0; +}; +#endif // wxUSE_URL_NATIVE + +class WXDLLIMPEXP_NET wxURL : public wxObject { public: wxURL(const wxString& url); virtual ~wxURL(); wxString GetProtocolName() const { return m_protoinfo->m_protoname; } - wxString GetHostName() const { return m_hostname; } - wxString GetURL() const { return m_url; } - wxProtocol& GetProtocol() { return *m_protocol; } - wxURLError GetError() const { return m_error; } - wxString GetPath() const { return m_path; } + wxString GetHostName() const { return m_hostname; } + wxString GetURL() const { return m_url; } + wxProtocol& GetProtocol() { return *m_protocol; } + wxURLError GetError() const { return m_error; } + wxString GetPath() const { return m_path; } wxInputStream *GetInputStream(); @@ -55,7 +68,10 @@ public: void SetProxy(const wxString& url_proxy); #endif // wxUSE_SOCKETS - static wxString ConvertToValidURI(const wxString& uri); + static wxString ConvertToValidURI( + const wxString& uri, + const wxChar* delims = wxT(";/?:@&=+$,") + ); static wxString ConvertFromURI(const wxString& uri); protected: @@ -67,6 +83,14 @@ protected: wxHTTP *m_proxy; #endif // wxUSE_SOCKETS +#if wxUSE_URL_NATIVE + friend class wxURLNativeImp; + // pointer to a native URL implementation object + wxURLNativeImp *m_nativeImp; + // Creates on the heap and returns a native + // implementation object for the current platform. + static wxURLNativeImp *CreateNativeImpObject(); +#endif wxProtoInfo *m_protoinfo; wxProtocol *m_protocol; @@ -88,9 +112,12 @@ protected: private: // VZ: can't use default copy ctor for this class, should write a correct // one! (TODO) - DECLARE_NO_COPY_CLASS(wxURL); + DECLARE_NO_COPY_CLASS(wxURL) DECLARE_DYNAMIC_CLASS(wxURL) }; -#endif +#endif // wxUSE_URL + +#endif // _WX_URL_H +