\section{\class{wxURL}}\label{wxurl}
+wxURL is a specialization of \helpref{wxURI}{wxuri} for parsing URLs.
+Please look at \helpref{wxURI}{wxuri} documentation for more info about the functions
+you can use to retrieve the various parts of the URL (scheme, server, port, etc).
+
+Supports standard assignment operators, copy constructors,
+and comparison operators.
+
\wxheading{Derived from}
+\helpref{wxURI}{wxuri}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
\helpref{wxSocketBase}{wxsocketbase}, \helpref{wxProtocol}{wxprotocol}
-\wxheading{Example}
-
-\begin{verbatim}
- wxURL url("http://a.host/a.dir/a.file");
- wxInputStream *in_stream;
-
- in_stream = url.GetInputStream();
- // Then, you can use all IO calls of in_stream (See wxStream)
-\end{verbatim}
-
% ----------------------------------------------------------------------------
% Members
% ----------------------------------------------------------------------------
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxURL::wxURL}\label{wxurlconstr}
+\membersection{wxURL::wxURL}\label{wxurlctor}
+
+\func{}{wxURL}{\param{const wxString\&}{ url = wxEmptyString}}
-\func{}{wxURL}{\param{const wxString\&}{ url}}
+Constructs a URL object from the string. The URL must be valid according
+to RFC 1738. In particular, file URLs must be of the format
+{\tt file://hostname/path/to/file} otherwise \helpref{GetError}{wxurlgeterror}
+will return a value different from {\tt wxURL\_NOERR}.
-Constructs an URL object from the string.
+It is valid to leave out the hostname but slashes must remain in place -
+i.e. a file URL without a hostname must contain three consecutive slashes
+(e.g. {\tt file:///somepath/myfile}).
\wxheading{Parameters}
\docparam{url}{Url string to parse.}
-\membersection{wxURL::\destruct{wxURL}}
+\membersection{wxURL::\destruct{wxURL}}\label{wxurldtor}
\func{}{\destruct{wxURL}}{\void}
Destroys the URL object.
-%
-% GetProtocolName
-%
-\membersection{wxURL::GetProtocolName}
-
-\constfunc{wxString}{GetProtocolName}{\void}
-
-Returns the name of the protocol which will be used to get the URL.
-
%
% GetProtocol
%
-\membersection{wxURL::GetProtocol}
+\membersection{wxURL::GetProtocol}\label{wxurlgetprotocol}
\func{wxProtocol\&}{GetProtocol}{\void}
Returns a reference to the protocol which will be used to get the URL.
-%
-% GetPath
-%
-\membersection{wxURL::GetPath}
-
-\func{wxString}{GetPath}{\void}
-
-Returns the path of the file to fetch. This path was encoded in the URL.
-
%
% GetError
%
-\membersection{wxURL::GetError}
+\membersection{wxURL::GetError}\label{wxurlgeterror}
\constfunc{wxURLError}{GetError}{\void}
\twocolitem{{\bf wxURL\_NOERR}}{No error.}
\twocolitem{{\bf wxURL\_SNTXERR}}{Syntax error in the URL string.}
\twocolitem{{\bf wxURL\_NOPROTO}}{Found no protocol which can get this URL.}
-\twocolitem{{\bf wxURL\_NOHOST}}{An host name is required for this protocol.}
+\twocolitem{{\bf wxURL\_NOHOST}}{A host name is required for this protocol.}
\twocolitem{{\bf wxURL\_NOPATH}}{A path is required for this protocol.}
\twocolitem{{\bf wxURL\_CONNERR}}{Connection error.}
\twocolitem{{\bf wxURL\_PROTOERR}}{An error occurred during negotiation.}
%
% GetInputStream
%
-\membersection{wxURL::GetInputStream}
+\membersection{wxURL::GetInputStream}\label{wxurlgetinputstream}
\func{wxInputStream *}{GetInputStream}{\void}
-Creates a new input stream on the the specified URL. You can use all but seek
-functionality of wxStream. Seek isn't available on all stream. For example,
-http or ftp streams doesn't deal with it.
+Creates a new input stream on the specified URL. You can use all but seek
+functionality of wxStream. Seek isn't available on all streams. For example,
+HTTP or FTP streams don't deal with it.
+
+Note that this method is somewhat deprecated, all future wxWidgets applications
+should really use \helpref{wxFileSystem}{wxfilesystem} instead.
+
+Example:
+
+\begin{verbatim}
+ wxURL url("http://a.host/a.dir/a.file");
+ if (url.GetError() == wxURL_NOERR)
+ {
+ wxInputStream *in_stream;
+
+ in_stream = url.GetInputStream();
+ // Then, you can use all IO calls of in_stream (See wxStream)
+ }
+\end{verbatim}
\wxheading{Return value}
\helpref{wxInputStream}{wxinputstream}
+
+%
+% IsOk
+%
+\membersection{wxURL::IsOk}\label{wxurlgetisok}
+
+\constfunc{bool}{IsOk}{\void}
+
+Returns \true if this object is correctly initialized, i.e. if
+\helpref{GetError}{wxurlgeterror} returns {\tt wxURL\_NOERR}.
+
+
%
% SetDefaultProxy
%
\helpref{wxURL::SetDefaultProxy}{wxurlsetdefaultproxy}
+
%
-% SetProxy
+% SetURL
%
-\membersection{wxURL::ConvertToValidURI}
+\membersection{wxURL::SetURL}\label{wxurlseturl}
-\func{static wxString}{ConvertToValidURI}{\param{const wxString\&}{ uri}}
+\func{wxURLError}{SetURL}{\param{const wxString\&}{ url}}
-It converts a non-standardized URI to a valid network URI. It encodes non
-standard characters.
+Initializes this object with the given URL and returns {\tt wxURL\_NOERR}
+if it's valid (see \helpref{GetError}{wxurlgeterror} for more info).