a URI (Uniform Resource Identifier).
For information about URIs, see
-\urlref{RFC 2396}{http://www.ietf.org/rfc/rfc2396.txt} or
-\urlref{RFC 2396.bis (Updated draft of RFC 2396)}{http://www.gbiv.com/protocols/uri/rev-2002/rfc2396bis.html}.
+\urlref{RFC 3986}{http://www.ietf.org/rfc/rfc3986.txt}.
In short, a URL \em{is} a URI. In other
words, URL is a subset of a URI - all
\wxheading{Include files}
-<uri.h>
+<wx/uri.h>
\latexignore{\rtfignore{\wxheading{Members}}}
one of the following methods
\helpref{GetScheme}{wxurigetscheme}\\
-\helpref{GetUser}{wxurigetuser}\\
+\helpref{GetUserInfo}{wxurigetuserinfo}\\
\helpref{GetServer}{wxurigetserver}\\
\helpref{GetPort}{wxurigetserver}\\
\helpref{GetPath}{wxurigetpath}\\
calling a get method, which determines whether or not the component referred
to by the method is defined according to RFC 2396.
-Consider an undefined component equivilent to a
+Consider an undefined component equivalent to a
NULL C string.\\
\\
\helpref{HasScheme}{wxurihasscheme}\\
-\helpref{HasUser}{wxurihasuser}\\
+\helpref{HasUserInfo}{wxurihasuserinfo}\\
\helpref{HasServer}{wxurihasserver}\\
\helpref{HasPort}{wxurihasserver}\\
\helpref{HasPath}{wxurihaspath}\\
protocol = myuri.GetScheme();
\end{verbatim}
+\membersection{Deviations from the RFC}\label{deviationsfromrfc}
+
+Note that on URIs with a "file" scheme wxURI does not
+parse the userinfo, server, or port portion. This is to keep
+compatability with wxFileSystem, the old wxURL, and older url specifications.
+
\membersection{wxURI::wxURI}\label{wxuriwxuri}
\func{}{wxURI}{\void}
\constfunc{wxString}{BuildURI}{\void}
-Builds the URI from its individual components and adds proper seperators.
+Builds the URI from its individual components and adds proper separators.
If the URI is not a reference or is not resolved,
the URI that is returned from Get is the same one
\constfunc{wxString}{BuildUnescapedURI}{\void}
-Builds the URI from its individual components, adds proper seperators, and
+Builds the URI from its individual components, adds proper separators, and
returns escape sequences to normal characters.
Note that it is preferred to call this over Unescape(BuildURI()) since
\membersection{wxURI::Create}\label{wxuricreate}
-\func{const wxChar*}{Create}{\param{const wxChar* }{uri}}
+\func{const wxChar*}{Create}{\param{const wxString&}{uri}}
Creates this URI from the string \arg{uri}.
\twocolitem{{\bf wxURI\_IPVFUTURE}}{Server is an IP address, but not versions 4 or 6}
\end{twocollist}
+
+\membersection{wxURI::GetPassword}\label{wxurigetpassword}
+
+\constfunc{const wxString&}{GetPassword}{\void}
+
+Returns the password part of the userinfo component of
+this URI. Note that this is explicitly depreciated by
+RFC 1396 and should generally be avoided if possible.
+
+\tt{http://<user>:<password>@mysite.com/mypath}
+
+
\membersection{wxURI::GetPath}\label{wxurigetpath}
\constfunc{const wxString&}{GetPath}{\void}
\constfunc{const wxString&}{GetUser}{\void}
-Returns the User component of the URI.
+Returns the username part of the userinfo component of
+this URI. Note that this is explicitly depreciated by
+RFC 1396 and should generally be avoided if possible.
+
+\tt{http://<user>:<password>@mysite.com/mypath}
+
+
+\membersection{wxURI::GetUserInfo}\label{wxurigetuserinfo}
+
+\constfunc{const wxString&}{GetUserInfo}{\void}
+
+Returns the UserInfo component of the URI.
The component of a URI before the server component
that is postfixed by a '@' character.
-\tt{http://<user>@mysite.com/mypath}
+\tt{http://<userinfo>@mysite.com/mypath}
+
\membersection{wxURI::HasFragment}\label{wxurihasfragment}
Returns \true if the Fragment component of the URI exists.
+
\membersection{wxURI::HasPath}\label{wxurihaspath}
\constfunc{bool}{HasPath}{\void}
Returns \true if the Path component of the URI exists.
+
\membersection{wxURI::HasPort}\label{wxurihasport}
\constfunc{bool}{HasPort}{\void}
Returns \true if the Server component of the URI exists.
-\membersection{wxURI::HasUser}\label{wxurihasuser}
+\membersection{wxURI::HasUser}\label{wxurihasuserinfo}
\constfunc{bool}{HasUser}{\void}
"http://mysite.com/john/mydir".
\docparam{base}{Base URI to inherit from. Must be a full URI and not a reference}
-\docparam{flags}{Currently either \texttt{wxURI\_STRICT} or $0$, in non strict
-mode some compatability layers are enabled to allow loopholes from RFCs prior
+\docparam{flags}{Currently either \texttt{wxURI\_STRICT} or $0$, in non-strict
+mode some compatibility layers are enabled to allow loopholes from RFCs prior
to 2396}
\membersection{wxURI::Unescape}\label{wxuriunescape}