/**
@class wxURI
@wxheader{uri.h}
-
+
wxURI is used to extract information from
a URI (Uniform Resource Identifier).
-
- For information about URIs, see
+
+ For information about URIs, see
RFC 3986.
-
+
In short, a URL is a URI. In other
- words, URL is a subset of a URI - all
+ words, URL is a subset of a URI - all
acceptable URLs are also acceptable URIs.
-
+
wxURI automatically escapes invalid characters in a string,
so there is no chance of wxURI "failing" on construction/creation.
-
+
wxURI supports copy construction and standard assignment
operators. wxURI can also be inherited from to provide
furthur functionality.
-
+
@library{wxbase}
@category{data}
-
+
@seealso
wxURL
*/
/**
Copies this URI from another URI.
- @param uri
+ @param uri
URI (Uniform Resource Identifier) to initialize with
*/
wxURI();
- wxURI(const wxChar* uri);
- wxURI(const wxURI& uri);
+ wxURI(const wxChar* uri);
+ wxURI(const wxURI& uri);
//@}
/**
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
+ If the URI is not a reference or is not resolved,
+ the URI that is returned from Get is the same one
passed to Create.
*/
wxString BuildURI();
wxString BuildUnescapedURI();
/**
- Creates this URI from the string
+ Creates this URI from the string
@param uri.
- Returns the position at which parsing stopped (there
+ Returns the position at which parsing stopped (there
is no such thing as an "invalid" wxURI).
- uri
+ uri
string to initialize from
*/
const wxChar* Create(const wxString uri);
/**
Note that on URIs with a "file" scheme wxURI does not
- parse the userinfo, server, or port portion. This is to keep
+ parse the userinfo, server, or port portion. This is to keep
compatability with wxFileSystem, the old wxURL, and older url specifications.
*/
Obtains the fragment of this URI.
The fragment of a URI is the last value of the URI,
- and is the value after a '' character after the path
+ and is the value after a '' character after the path
of the URI.
@c http://mysite.com/mypath#fragment
/**
Returns a string representation of the URI's port.
- The Port of a URI is a value after the server, and
+ The Port of a URI is a value after the server, and
must come after a colon (:).
@c http://mysite.com:port
/**
Returns the Query component of the URI.
- The query component is what is commonly passed to a
+ The query component is what is commonly passed to a
cgi application, and must come after the path component,
and after a '?' character.
/**
Returns the Server component of the URI.
- The server of the uri can be a server name or
+ The server of the uri can be a server name or
a type of ip address. See
GetHostType() for the
- possible values for the host type of the
+ possible values for the host type of the
server component.
@c http://server/mypath
bool IsReference();
/**
- To obtain individual components you can use
+ To obtain individual components you can use
one of the following methods
GetScheme()
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 equivalent to a
+ Consider an undefined component equivalent to a
@NULL C string.
-
+
HasScheme()
HasUserInfo()
path is not an absolute path (prefixed by a '/'), then this URI's
path is merged with the base's path.
- For instance, resolving "../mydir" from "http://mysite.com/john/doe"
- results in the scheme (http) and server (mysite.com) being copied into
+ For instance, resolving "../mydir" from "http://mysite.com/john/doe"
+ results in the scheme (http) and server (mysite.com) being copied into
this URI, since they do not exist. In addition, since the path
of this URI is not absolute (does not begin with '/'), the path
of the base's is merged with this URI's path, resulting in the URI
"http://mysite.com/john/mydir".
- @param base
+ @param base
Base URI to inherit from. Must be a full URI and not a reference
- @param flags
+ @param flags
Currently either wxURI_STRICT or 0, in non-strict
mode some compatibility layers are enabled to allow loopholes from RFCs prior
to 2396
If you want to unescape an entire wxURI, use BuildUnescapedURI() instead,
as it performs some optimizations over this method.
- @param uri
+ @param uri
string with escaped characters to convert
*/
wxString Unescape(const wxString& uri);
/**
- Compares this URI to another URI, and returns @true if
- this URI equals
+ Compares this URI to another URI, and returns @true if
+ this URI equals
@param uricomp, otherwise it returns @false.
- uricomp
+ uricomp
URI to compare to
*/
void operator ==(const wxURI& uricomp);