Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 204ec3a8a895ae5700811efd516cad83 > files > 19

libzdb-devel-2.8.1-1.fc15.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>libzdb: URL.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<style type="text/css" media="screen">
    body,div,p,dl{font: normal normal normal 14px/18px Helvetica,Arial,sans-serif;}
</style>
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="contents">
<h1>URL.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
<b>URL</b> represent an immutable Uniform Resource Locator. 
<p>
A Uniform Resource Locator (URL), is used to uniquely identify a resource on the Internet. The URL is a compact text string with a restricted syntax that consists of four main components: <center><code> &lt;protocol&gt;://&lt;authority&gt;&lt;path&gt;?&lt;query&gt; </code></center><p>
The &lt;protocol&gt; part is mandatory, the other components may or may not be present in an URL string. For instance the <code>file</code> protocol only use the path component while a <code>http</code> protocol may use all components. Here is an example where all components are used:<p>
<pre>
 <a href="http://user:password@www.foo.bar:8080/document/index.csp?querystring#ref">http://user:password@www.foo.bar:8080/document/index.csp?querystring#ref</a>
 </pre><p>
The primary purpose of this class is to wrap database connection URLs. The URL class does not normalize the path, nor escape or unescape URL components according to the escaping mechanism defined in RFC 2396. It is the responsibility of the caller to escape or unescape fields prior to calling URL.<p>
For more information about the URL syntax and specification, see, <a href="ftp://ftp.rfc-editor.org/in-notes/rfc2396.txt">RFC2396 - Uniform Resource Identifiers (URI): Generic Syntax</a> <table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#0acb682b8260ab1c60b918599864e2e5">T</a>&nbsp;&nbsp;&nbsp;URL_T</td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a></td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#1e85f50a8c6036c34b642a49cc08d5fb">URL_new</a> (const char *url)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new URL object from the <code>url</code> parameter string.  <a href="#1e85f50a8c6036c34b642a49cc08d5fb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#47232899a21dc2c53576d071f169d827">URL_create</a> (const char *url,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Factory method for building an URL object using a variable argument list.  <a href="#47232899a21dc2c53576d071f169d827"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#d3dc09880813e8dd994333ae37534c0d">URL_free</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> *U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy a URL object.  <a href="#d3dc09880813e8dd994333ae37534c0d"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Properties</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#5935142198a699d229d70f86e82818af">URL_getProtocol</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the protocol of the URL.  <a href="#5935142198a699d229d70f86e82818af"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#acaa1aec7e9ade15ebfc22dd41735433">URL_getUser</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the user name from the authority part of the URL.  <a href="#acaa1aec7e9ade15ebfc22dd41735433"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#d3dcc48c833113b7f0e0761a5c3d64d6">URL_getPassword</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the password from the authority part of the URL.  <a href="#d3dcc48c833113b7f0e0761a5c3d64d6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#c0c4f1729a8813497b07739161a3c6a6">URL_getHost</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the hostname of the URL.  <a href="#c0c4f1729a8813497b07739161a3c6a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#72bd52429ecfcddac421a0fe33d0dc76">URL_getPort</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the port of the URL.  <a href="#72bd52429ecfcddac421a0fe33d0dc76"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#e1d31ab7c8cb60a17a6f6ae5908562a0">URL_getPath</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the path of the URL.  <a href="#e1d31ab7c8cb60a17a6f6ae5908562a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#ef8b66bf7af385f19cdef37a146883c5">URL_getQueryString</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the query string of the URL.  <a href="#ef8b66bf7af385f19cdef37a146883c5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#bd0b689bc94dd9691eb2176d7e33c0e5">URL_getParameterNames</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an array of string objects with the names of the parameters contained in this URL.  <a href="#bd0b689bc94dd9691eb2176d7e33c0e5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#ff59eddfcccae220998b9955af59267c">URL_getParameter</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> U, const char *name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the value of a URL parameter as a string, or NULL if the parameter does not exist.  <a href="#ff59eddfcccae220998b9955af59267c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#63f81fa482efdabd205cf78e4e98a2dc">URL_toString</a> (<a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> U)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a string representation of this URL object.  <a href="#63f81fa482efdabd205cf78e4e98a2dc"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">class methods</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#ee9ecaebd7994ccb6d5df86485c0edac">URL_unescape</a> (char *url)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><b>Class method</b>, unescape an url string.  <a href="#ee9ecaebd7994ccb6d5df86485c0edac"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#4462b77aa13275d47a954b6d5ccf8d9e">URL_escape</a> (const char *url)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><b>Class method</b>, escape an url string converting unsafe characters to a hex (%HEXHEX) representation.  <a href="#4462b77aa13275d47a954b6d5ccf8d9e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="URL_8h.html#45a90b3b62d344fff67f61337c3c9cb0">URL_normalize</a> (char *path)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><b>Class method</b>, normalize an URL path string.  <a href="#45a90b3b62d344fff67f61337c3c9cb0"></a><br></td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="0acb682b8260ab1c60b918599864e2e5"></a><!-- doxytag: member="URL.h::T" ref="0acb682b8260ab1c60b918599864e2e5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;&nbsp;&nbsp;URL_T          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="24514489b0962fafe8414bfae95aa268"></a><!-- doxytag: member="URL.h::T" ref="24514489b0962fafe8414bfae95aa268" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>* <a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="1e85f50a8c6036c34b642a49cc08d5fb"></a><!-- doxytag: member="URL.h::URL_new" ref="1e85f50a8c6036c34b642a49cc08d5fb" args="(const char *url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> URL_new           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new URL object from the <code>url</code> parameter string. 
<p>
The url string <em>must</em> start with a protocol specifier, such as <code><a href="http://">http://</a></code> or <code><a href="ftp://">ftp://</a></code> <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>A string specifying the URL </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A URL object or NULL if the <code>url</code> parameter cannot be parsed as an URL. </dd></dl>

</div>
</div><p>
<a class="anchor" name="47232899a21dc2c53576d071f169d827"></a><!-- doxytag: member="URL.h::URL_create" ref="47232899a21dc2c53576d071f169d827" args="(const char *url,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> URL_create           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Factory method for building an URL object using a variable argument list. 
<p>
<em>Important</em>: since the '%' character is used as a format specifier (e.g. %s for string, %d for integer and so on), submitting an URL escaped string (i.e. a %HEXHEX encoded string) in the <code>url</code> parameter can produce undesired results. In this case, use either the <a class="el" href="URL_8h.html#1e85f50a8c6036c34b642a49cc08d5fb" title="Create a new URL object from the url parameter string.">URL_new()</a> method or <a class="el" href="URL_8h.html#ee9ecaebd7994ccb6d5df86485c0edac" title="Class method, unescape an url string.">URL_unescape()</a> the <code>url</code> parameter first. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>A string specifying the URL </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A URL object or NULL if the <code>url</code> parameter cannot be parsed as an URL. </dd></dl>

</div>
</div><p>
<a class="anchor" name="d3dc09880813e8dd994333ae37534c0d"></a><!-- doxytag: member="URL.h::URL_free" ref="d3dc09880813e8dd994333ae37534c0d" args="(T *U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void URL_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a> *&nbsp;</td>
          <td class="paramname"> <em>U</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy a URL object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>A URL object reference </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5935142198a699d229d70f86e82818af"></a><!-- doxytag: member="URL.h::URL_getProtocol" ref="5935142198a699d229d70f86e82818af" args="(T U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* URL_getProtocol           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td>
          <td class="paramname"> <em>U</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the protocol of the URL. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>An URL object </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The protocol name </dd></dl>

</div>
</div><p>
<a class="anchor" name="acaa1aec7e9ade15ebfc22dd41735433"></a><!-- doxytag: member="URL.h::URL_getUser" ref="acaa1aec7e9ade15ebfc22dd41735433" args="(T U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* URL_getUser           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td>
          <td class="paramname"> <em>U</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the user name from the authority part of the URL. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>An URL object </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A username specified in the URL or NULL if not found </dd></dl>

</div>
</div><p>
<a class="anchor" name="d3dcc48c833113b7f0e0761a5c3d64d6"></a><!-- doxytag: member="URL.h::URL_getPassword" ref="d3dcc48c833113b7f0e0761a5c3d64d6" args="(T U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* URL_getPassword           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td>
          <td class="paramname"> <em>U</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the password from the authority part of the URL. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>An URL object </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A password specified in the URL or NULL if not found </dd></dl>

</div>
</div><p>
<a class="anchor" name="c0c4f1729a8813497b07739161a3c6a6"></a><!-- doxytag: member="URL.h::URL_getHost" ref="c0c4f1729a8813497b07739161a3c6a6" args="(T U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* URL_getHost           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td>
          <td class="paramname"> <em>U</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the hostname of the URL. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>An URL object </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The hostname of the URL or NULL if not found </dd></dl>

</div>
</div><p>
<a class="anchor" name="72bd52429ecfcddac421a0fe33d0dc76"></a><!-- doxytag: member="URL.h::URL_getPort" ref="72bd52429ecfcddac421a0fe33d0dc76" args="(T U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int URL_getPort           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td>
          <td class="paramname"> <em>U</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the port of the URL. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>An URL object </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The port number of the URL or -1 if not specified </dd></dl>

</div>
</div><p>
<a class="anchor" name="e1d31ab7c8cb60a17a6f6ae5908562a0"></a><!-- doxytag: member="URL.h::URL_getPath" ref="e1d31ab7c8cb60a17a6f6ae5908562a0" args="(T U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* URL_getPath           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td>
          <td class="paramname"> <em>U</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the path of the URL. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>An URL object </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The path of the URL or NULL if not found </dd></dl>

</div>
</div><p>
<a class="anchor" name="ef8b66bf7af385f19cdef37a146883c5"></a><!-- doxytag: member="URL.h::URL_getQueryString" ref="ef8b66bf7af385f19cdef37a146883c5" args="(T U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* URL_getQueryString           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td>
          <td class="paramname"> <em>U</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the query string of the URL. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>An URL object </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The query string of the URL or NULL if not found </dd></dl>

</div>
</div><p>
<a class="anchor" name="bd0b689bc94dd9691eb2176d7e33c0e5"></a><!-- doxytag: member="URL.h::URL_getParameterNames" ref="bd0b689bc94dd9691eb2176d7e33c0e5" args="(T U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char** URL_getParameterNames           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td>
          <td class="paramname"> <em>U</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns an array of string objects with the names of the parameters contained in this URL. 
<p>
If the URL has no parameters, the method returns NULL. The last value in the array is NULL. To print all parameter names and their values contained in this URL, the following code can be used: <pre>
   const char **params= URL_getParameterNames(U);
   if (params) 
           for (int i = 0; params[i]; i++)
                   printf("%s = %s\n", params[i], URL_getParameter(U, params[i]));
 </pre> <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>An URL object </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>An array of string objects, each string containing the name of a URL parameter; or NULL if the URL has no parameters </dd></dl>

</div>
</div><p>
<a class="anchor" name="ff59eddfcccae220998b9955af59267c"></a><!-- doxytag: member="URL.h::URL_getParameter" ref="ff59eddfcccae220998b9955af59267c" args="(T U, const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* URL_getParameter           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td>
          <td class="paramname"> <em>U</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the value of a URL parameter as a string, or NULL if the parameter does not exist. 
<p>
If you use this method with a multi-valued parameter, the value returned is the first value found. Lookup is <em>case-sensitive</em>. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>An URL object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The parameter name to lookup </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The parameter value or NULL if not found </dd></dl>

</div>
</div><p>
<a class="anchor" name="63f81fa482efdabd205cf78e4e98a2dc"></a><!-- doxytag: member="URL.h::URL_toString" ref="63f81fa482efdabd205cf78e4e98a2dc" args="(T U)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* URL_toString           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="URL_8h.html#24514489b0962fafe8414bfae95aa268">T</a>&nbsp;</td>
          <td class="paramname"> <em>U</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a string representation of this URL object. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>U</em>&nbsp;</td><td>An URL object </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The URL string </dd></dl>

</div>
</div><p>
<a class="anchor" name="ee9ecaebd7994ccb6d5df86485c0edac"></a><!-- doxytag: member="URL.h::URL_unescape" ref="ee9ecaebd7994ccb6d5df86485c0edac" args="(char *url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* URL_unescape           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>url</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Class method</b>, unescape an url string. 
<p>
The <code>url</code> parameter is modified by this method. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>an escaped url string </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the unescaped <code>url</code> string </dd></dl>

</div>
</div><p>
<a class="anchor" name="4462b77aa13275d47a954b6d5ccf8d9e"></a><!-- doxytag: member="URL.h::URL_escape" ref="4462b77aa13275d47a954b6d5ccf8d9e" args="(const char *url)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* URL_escape           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>url</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Class method</b>, escape an url string converting unsafe characters to a hex (%HEXHEX) representation. 
<p>
The following URL unsafe characters are encoded: <pre>&lt;&gt;\"#%%{}|\^ [] `</pre> as well as characters in the interval 00-1F hex (0-31 decimal) and in the interval 7F-FF (127-255 decimal) <em>The caller must free the returned string.</em> If the <code>url</code> parameter is NULL then this method returns NULL, if it is the empty string "" a <em>new</em> empty string is returned. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>url</em>&nbsp;</td><td>an url string </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the escaped string </dd></dl>

</div>
</div><p>
<a class="anchor" name="45a90b3b62d344fff67f61337c3c9cb0"></a><!-- doxytag: member="URL.h::URL_normalize" ref="45a90b3b62d344fff67f61337c3c9cb0" args="(char *path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* URL_normalize           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>path</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Class method</b>, normalize an URL path string. 
<p>
The <code>path</code> parameter is modified by this method. Passing a NULL <code>path</code> parameter returns NULL. Examples: <p>
<table border="1" cellspacing="3" cellpadding="3">
<tr>
<td><b>path</b></td><td><b>normalized path</b> </td></tr>
<tr>
<td>/foo//</td><td>/foo/ </td></tr>
<tr>
<td>/foo/./</td><td>/foo/ </td></tr>
<tr>
<td>/foo/../bar</td><td>/bar </td></tr>
<tr>
<td>/foo/../bar/</td><td>/bar/ </td></tr>
<tr>
<td>/foo/../bar/../baz</td><td>/baz </td></tr>
<tr>
<td>//foo//./bar</td><td>/foo/bar </td></tr>
<tr>
<td>/../foo</td><td>/foo </td></tr>
<tr>
<td>/a/../b/../../x</td><td>/x </td></tr>
<tr>
<td>/.././../</td><td>/ </td></tr>
<tr>
<td>/..</td><td>/ </td></tr>
</table>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The path to normalize </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the path parameter </dd></dl>

</div>
</div><p>
</div>
<p style="text-align:center;color:#808080;font-size:90%;margin:40px 0 20px 0;">
Copyright &copy; 2004-2011 <a href="http://tildeslash.com/">Tildeslash Ltd</a>. All
rights reserved.</p>
</body></html>