]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/uri.tex
added null pointer check and assert
[wxWidgets.git] / docs / latex / wx / uri.tex
index 03eda795c90584f0972654948c3dfae27c856fcc..3789d27395a8e388a60814fee0a4846e4c8e7ff3 100644 (file)
@@ -15,8 +15,7 @@ wxURI is used to extract information from
 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 
@@ -35,7 +34,15 @@ furthur functionality.
 
 \wxheading{Include files}
 
-<uri.h>
+<wx/uri.h>
+
+\wxheading{Library}
+
+\helpref{wxBase}{librarieslist}
+
+\wxheading{See also}
+
+\helpref{wxURL}{wxurl}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
@@ -45,9 +52,9 @@ To obtain individual components you can use
 one of the following methods
 
 \helpref{GetScheme}{wxurigetscheme}\\
-\helpref{GetUser}{wxurigetuser}\\
+\helpref{GetUserInfo}{wxurigetuserinfo}\\
 \helpref{GetServer}{wxurigetserver}\\
-\helpref{GetPort}{wxurigetserver}\\
+\helpref{GetPort}{wxurigetport}\\
 \helpref{GetPath}{wxurigetpath}\\
 \helpref{GetQuery}{wxurigetquery}\\
 \helpref{GetFragment}{wxurigetfragment}
@@ -56,11 +63,11 @@ However, you should check HasXXX before
 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}\\
@@ -76,6 +83,12 @@ if(myuri.HasScheme())
    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}
@@ -99,7 +112,7 @@ Copies this URI from another URI.
 
 \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 
@@ -110,7 +123,7 @@ passed to Create.
 
 \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
@@ -119,7 +132,7 @@ 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}.
 
@@ -156,6 +169,18 @@ wxURI::HostType:
 \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}
@@ -229,12 +254,24 @@ server component.
 
 \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}
 
@@ -242,12 +279,14 @@ that is postfixed by a '@' character.
 
 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}
@@ -276,7 +315,7 @@ Returns \true if the Scheme component of the URI exists.
 Returns \true if the Server component of the URI exists.
 
 
-\membersection{wxURI::HasUser}\label{wxurihasuser}
+\membersection{wxURI::HasUser}\label{wxurihasuserinfo}
 
 \constfunc{bool}{HasUser}{\void}
 
@@ -319,7 +358,7 @@ of the base's is merged with this URI's path, resulting in the URI
 "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
+\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}