\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}
+
+<wx/url.h>
+
\wxheading{See also}
-\helpref{wxSocketBase}{wxsocketbase},\helpref{wxProtocol}{wxprotocol}
+\helpref{wxSocketBase}{wxsocketbase}, \helpref{wxProtocol}{wxprotocol}
% ----------------------------------------------------------------------------
% Members
% ----------------------------------------------------------------------------
-\latexignore{\rtfignore{\membersection{Members}}}
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxURL::wxURL}\label{wxurlctor}
-\membersection{wxURL::wxURL}{wxurlconstr}
-\func{}{wxURL}{\param{const wxString\&}{ url}}
+\func{}{wxURL}{\param{const wxString\&}{ url = wxEmptyString}}
-Constructs an URL object from the string.
+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}.
+
+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.
%
% GetError
%
-\membersection{wxURL::GetError}
+\membersection{wxURL::GetError}\label{wxurlgeterror}
+
\constfunc{wxURLError}{GetError}{\void}
Returns the last error. This error refers to the URL parsing or to the protocol.
It can be one of these errors:
\twocolwidtha{7cm}
-\begin{twocollist}\itemsep=0pt
+\begin{twocollist}\itemsep=0pt%
\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 occured during negotiation.}
+\twocolitem{{\bf wxURL\_PROTOERR}}{An error occurred during negotiation.}
\end{twocollist}%
%
% GetInputStream
%
-\membersection{wxURL::GetInputStream}
+\membersection{wxURL::GetInputStream}\label{wxurlgetinputstream}
+
\func{wxInputStream *}{GetInputStream}{\void}
-Initializes the protocol and opens the input stream.
+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.
-\wxheading{Return value:}
+Note that this method is somewhat deprecated, all future wxWidgets applications
+should really use \helpref{wxFileSystem}{wxfilesystem} instead.
-It returns a read-only wxStream.
+Example:
-\wxheading{See also:}
+\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}
+
+Returns the initialized stream. You will have to delete it yourself.
+
+\wxheading{See also}
\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
%
-\membersection{wxURL::SetDefaultProxy}{wxurlsetdefaultproxy}
+\membersection{wxURL::SetDefaultProxy}\label{wxurlsetdefaultproxy}
+
\func{static void}{SetDefaultProxy}{\param{const wxString\&}{ url\_proxy}}
Sets the default proxy server to use to get the URL. The string specifies
%
% SetProxy
%
-\membersection{wxURL::SetProxy}{wxurlsetproxy}
+\membersection{wxURL::SetProxy}\label{wxurlsetproxy}
+
\func{void}{SetProxy}{\param{const wxString\&}{ url\_proxy}}
Sets the proxy to use for this URL.
\wxheading{See also}
\helpref{wxURL::SetDefaultProxy}{wxurlsetdefaultproxy}
+
+
+%
+% SetURL
+%
+\membersection{wxURL::SetURL}\label{wxurlseturl}
+
+\func{wxURLError}{SetURL}{\param{const wxString\&}{ url}}
+
+Initializes this object with the given URL and returns {\tt wxURL\_NOERR}
+if it's valid (see \helpref{GetError}{wxurlgeterror} for more info).
+