|
System.Gnome.VFS.URI | Maintainer | gtk2hs-devel@lists.sourceforge.net
Stability : alpha
Portability : portable (depends on GHC) |
|
|
|
|
|
Description |
|
|
Synopsis |
|
|
|
|
Types
|
|
data URI |
A URI is a semi-textual representation of a uniform
resource identifier. It contains the information about a resource
location encoded as canononicalized text, but also holds extra
information about the context in which the URI is used.
|
|
|
data ToplevelURI |
The toplevel URI element used to access resources stored on a
remote server.
|
|
|
type TextURI = String |
A string that can be passed to uriFromString to create a valid
URI.
|
|
data URIHideOptions |
Flags specifying which fields of a URI should be hidden when
converted to a string using uriToString.
| Constructors | URIHideNone | | URIHideUserName | | URIHidePassword | | URIHideHostName | | URIHideHostPort | | URIHideToplevelMethod | | URIHideFragmentIdentifier | |
| Instances | |
|
|
Operations
|
|
uriFromString :: TextURI -> Maybe URI |
Create a new URI from textURI. Unsupported and unsafe
methods are not allowed and will result in Nothing being
returned. URL transforms are allowed.
|
|
uriResolveRelative |
:: URI | base - the base URI
| -> String | relativeReference - a string
representing a possibly relative
URI reference
| -> Maybe URI | a new URI referring to
relativeReference, or Nothing
if relativeReference is
malformed.
| Create a new uri from relativeReference, relative to
base. The resolution algorithm in some aspects follows RFC
2396, section 5.2, but is not identical due to some extra
assumptions GnomeVFS makes about URIs.
If relative_reference begins with a valid scheme identifier
followed by ':', it is assumed to refer to an absolute URI, and a
URI is created from it using uriFromString.
Otherwise, depending on its precise syntax, it inherits some
aspects of the parent URI, but the parents' fragment and query
components are ignored.
If relative_reference begins with "//", it only inherits the
base scheme; if it begins with '/' (i.e., it is an absolute
path reference), it inherits everything except the base
path. Otherwise, it replaces the part of base after the last
'/'.
Note: This function should not be used by application authors
unless they expect very distinct semantics. Instead, authors
should use uriAppendFileName, uriAppendPath,
uriAppendString or uriResolveSymbolicLink.
|
|
|
uriResolveSymbolicLink :: URI -> String -> Maybe URI |
Create a new uri from symbolicLink, relative to base.
If symbolic_link begins with a '/', it replaces the path of base,
otherwise it is appended after the last '/' character of base.
|
|
uriAppendString |
:: URI | uri - the base URI
| -> String | uriFragment - an escaped URI fragment
| -> Maybe URI | the new URI
| Create a new URI obtained by appending uriFragment to uri. This
will take care of adding an appropriate directory separator
between the end of uri and the start of uriFragment if
necessary.
This function will return Nothing if the resulting URI is not
valid.
|
|
|
uriAppendPath |
:: URI | uri - the base URI
| -> FilePath | path - a non-escaped file path
| -> Maybe URI | the new URI
| Create a new uri obtained by appending path to uri. This will
take care of adding an appropriate directory separator between
the end of uri and the start of path if necessary, as well as
escaping path as necessary.
This function will return Nothing if the resulting URI is not
valid.
|
|
|
uriAppendFileName :: URI -> FilePath -> Maybe URI |
Create a new URI obtained by appending fileName to uri. This
will take care of adding an appropriate directory separator
between the end of uri and the start of fileName if
necessary. fileName might, for instance, be the result of a call
to readDirStream.
This function will return Nothing if the resulting URI is not
valid.
|
|
uriToString |
:: URI | uri - a URI
| -> URIHideOptions | hideOptions - the URI elements that should not be included in the resulting string
| -> TextURI | the resulting string
| Translate uri into a printable string. The string will not
contain the URI elements specified by hideOptions.
A file: URI on Win32 might look like
file:///x:/foo/bar.txt. Note that the part after
file:// is not a legal file name, you need to remove the /
in front of the drive letter. This function does that
automatically if hideOptions specifies that the toplevel
method, user name, password, host name and host port should be
hidden.
On the other hand, a file: URI for a UNC path looks like
file:////server/share/foo/bar.txt, and in that case the part
after file:// is the correct file name.
|
|
|
uriIsLocal |
:: URI | uri -
| -> IO Bool | True if uri is local, False otherwise
| Check if uri is a local URI. Note that the return value of this
function entirely depends on the method associated with
the URI. It is up to the method author to distinguish between
remote URIs and URIs referring to entities on the local computer.
Warning, this can be slow, as it does I/O to detect things like
NFS mounts.
|
|
|
uriHasParent |
:: URI | uri -
| -> Bool | True if uri has a parent, False otherwise
| Check whether uri has a parent or not.
|
|
|
uriGetParent |
:: URI | uri -
| -> Maybe URI | the parent URI, or Nothing if uri has no parent
| Retrieve uri's parent URI.
|
|
|
uriGetToplevel |
:: URI | uri -
| -> ToplevelURI | the toplevel URI
| Retrieve uri's toplevel URI.
|
|
|
uriGetHostName |
:: URI | uri -
| -> Maybe String | the hostname, or Nothing if uri has no hostname
| Retrieve the hostname for uri.
|
|
|
uriGetScheme |
:: URI | uri -
| -> Maybe String | the scheme, or Nothing if uri has no scheme
| Retrieve the scheme for uri.
|
|
|
uriGetHostPort |
:: URI | uri -
| -> Word | the host port, or 0 if the default port
value for the specified toplevel access
method is used
| Retrieve the host port for uri.
|
|
|
uriGetUserName |
:: URI | uri -
| -> Maybe String | the user name, or Nothing if uri has no user name
| Retrieve the user name for uri.
|
|
|
uriGetPassword |
:: URI | uri -
| -> Maybe String | the password, or Nothing if uri has no password
| Retrieve the password for uri.
|
|
|
uriSetHostName |
:: URI | uri -
| -> Maybe String | hostName - the new hostname
| -> URI | the resulting URI
| Create a new URI using uri, replacing the host name by hostName.
|
|
|
uriSetHostPort |
:: URI | uri -
| -> Word | hostPort - the new host port
| -> URI | the resulting URI
| Create a new URI using uri, replacing the host port by hostPort.
If hostPort is 0, use the default port for uri's toplevel
access method.
|
|
|
uriSetUserName |
:: URI | uri -
| -> Maybe String | userName - the new user name
| -> URI | the resulting URI
| Create a new URI using uri, replacing the user name by userName.
|
|
|
uriSetPassword |
:: URI | uri -
| -> Maybe String | password - the new password
| -> URI | the resulting URI
| Create a new URI using uri, replacing the password by password.
|
|
|
uriEqual |
:: URI | a -
| -> URI | b -
| -> Bool | True if the URIs are the same, False otherwise.
| Compare two URIs for equality.
|
|
|
uriIsParent |
:: URI | possibleParent -
| -> URI | possibleChild -
| -> Bool | recursive - True if parents should be
checked recursively, False otherwise
| -> Bool | True if possibleChild is contained in
possibleParent, otherwise False
| Check if possibleChild is contained in possibleParent. If
recursive is False, just try the immediate parent; otherwise
search up through the heirarchy.
|
|
|
uriGetPath |
:: URI | uri -
| -> Maybe FilePath | the path name, or Nothing if uri
has no path name
| Retrieve the path name for uri.
|
|
|
uriGetFragmentIdentifier |
:: URI | uri -
| -> Maybe String | the fragment identifier,
or Nothing if uri
has no fragment
identifier
| Retrieve the fragment identifier for uri.
|
|
|
uriExtractDirname |
:: URI | uri -
| -> Maybe FilePath | the directory name, or
Nothing if uri has no
directory name
| Extract the name of the directory in which the file pointed to by
uri is stored as a string. The string will end with a directory
separator.
|
|
|
uriExtractShortName |
:: URI | uri -
| -> String | | Retrieve base file name for uri, ignoring any trailing path
separators. This matches the XPG definition of basename, but not
basename. This is often useful when you want
the name of something that's pointed to by a URI, and don't care
whether the uri has a directory or file form. If uri points to
the root of a domain, returns the host name. If there's no host
name, returns the path separator.
See also: uriExtractShortPathName.
|
|
|
uriExtractShortPathName |
:: URI | uri -
| -> String | | Retrieve base file name for uri, ignoring any trailing path
separators. This matches the XPG definition of basename, but not
basename. This is often useful when you want
the name of something that's pointed to by a URI, and don't care
whether the uri has a directory or file form. If uri points to
the root of any domain, returns the path separator.
See also: uriExtractShortName.
|
|
|
uriListParse |
:: String | uriList - a list of URIs, separated by newlines
| -> [URI] | the list of URIs
| Extracts a list of URIs from a standard text/uri-list, such as
one would get on a drop operation.
|
|
|
uriMakeFullFromRelative |
:: String | baseURI -
| -> String | relativeURI -
| -> Maybe String | the resulting URI
| Returns a full URI given a full base URI, and a secondary URI
which may be relative.
|
|
|
Produced by Haddock version 0.8 |