<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libzypp: zypp::url Namespace Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libzypp  <span id="projectnumber">17.9.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('namespacezypp_1_1url.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">zypp::url Namespace Reference</div> </div> </div><!--header--> <div class="contents"> <p><a class="el" href="classzypp_1_1Url.html" title="Url manipulation class.">Url</a> details namespace. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1url_1_1UrlBadComponentException.html">UrlBadComponentException</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Thrown if a url component is invalid. <a href="classzypp_1_1url_1_1UrlBadComponentException.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1url_1_1UrlBase.html">UrlBase</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Generic <a class="el" href="classzypp_1_1Url.html" title="Url manipulation class.">Url</a> base class. <a href="classzypp_1_1url_1_1UrlBase.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1url_1_1UrlBaseData.html">UrlBaseData</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Internal data used by <a class="el" href="classzypp_1_1url_1_1UrlBase.html" title="Generic Url base class.">UrlBase</a>. <a href="classzypp_1_1url_1_1UrlBaseData.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1url_1_1UrlDecodingException.html">UrlDecodingException</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Thrown if the encoded string contains a NUL byte (%00). <a href="classzypp_1_1url_1_1UrlDecodingException.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1url_1_1UrlException.html">UrlException</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base class for all URL exceptions. <a href="classzypp_1_1url_1_1UrlException.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1url_1_1UrlNotAllowedException.html">UrlNotAllowedException</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Thrown if scheme does not allow a component. <a href="classzypp_1_1url_1_1UrlNotAllowedException.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1url_1_1UrlNotSupportedException.html">UrlNotSupportedException</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Thrown if a feature e.g. <a href="classzypp_1_1url_1_1UrlNotSupportedException.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1url_1_1UrlParsingException.html">UrlParsingException</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Thrown if the url or a component can't be parsed at all. <a href="classzypp_1_1url_1_1UrlParsingException.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structzypp_1_1url_1_1ViewOption.html">ViewOption</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classzypp_1_1Url.html#a16dc1d5dea84e9294a53314543a3aaa5" title="Returns a default string representation of the Url object.">Url::asString()</a> view options. <a href="structzypp_1_1url_1_1ViewOption.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:abb6b88fc6aa026cd9e0e752e11d1017d"><td class="memItemLeft" align="right" valign="top">typedef std::map< std::string, std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#abb6b88fc6aa026cd9e0e752e11d1017d">UrlConfig</a></td></tr> <tr class="separator:abb6b88fc6aa026cd9e0e752e11d1017d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac1aa06def51cf49d86c9d46d87ba330b"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structzypp_1_1url_1_1ViewOption.html">ViewOption</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#ac1aa06def51cf49d86c9d46d87ba330b">ViewOptions</a></td></tr> <tr class="memdesc:ac1aa06def51cf49d86c9d46d87ba330b"><td class="mdescLeft"> </td><td class="mdescRight">ViewOptions is just an alias for <a class="el" href="structzypp_1_1url_1_1ViewOption.html" title="Url::asString() view options.">ViewOption</a>. <a href="#ac1aa06def51cf49d86c9d46d87ba330b">More...</a><br /></td></tr> <tr class="separator:ac1aa06def51cf49d86c9d46d87ba330b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5129dc3318565ab876a0720fd282c4c5"><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#a5129dc3318565ab876a0720fd282c4c5">UrlSchemes</a></td></tr> <tr class="memdesc:a5129dc3318565ab876a0720fd282c4c5"><td class="mdescLeft"> </td><td class="mdescRight">Vector of URL scheme names. <a href="#a5129dc3318565ab876a0720fd282c4c5">More...</a><br /></td></tr> <tr class="separator:a5129dc3318565ab876a0720fd282c4c5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a13117b1963f35d4a54b805a876c1efd1"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structzypp_1_1RWCOW__pointer.html">RWCOW_pointer</a>< <a class="el" href="classzypp_1_1url_1_1UrlBase.html">UrlBase</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#a13117b1963f35d4a54b805a876c1efd1">UrlRef</a></td></tr> <tr class="memdesc:a13117b1963f35d4a54b805a876c1efd1"><td class="mdescLeft"> </td><td class="mdescRight">Copy-On-Write <a class="el" href="classzypp_1_1Url.html" title="Url manipulation class.">Url</a> reference. <a href="#a13117b1963f35d4a54b805a876c1efd1">More...</a><br /></td></tr> <tr class="separator:a13117b1963f35d4a54b805a876c1efd1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9b1f5712d4f4d1f5c74165d46e950312"><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#a9b1f5712d4f4d1f5c74165d46e950312">ParamVec</a></td></tr> <tr class="memdesc:a9b1f5712d4f4d1f5c74165d46e950312"><td class="mdescLeft"> </td><td class="mdescRight">A parameter vector container. <a href="#a9b1f5712d4f4d1f5c74165d46e950312">More...</a><br /></td></tr> <tr class="separator:a9b1f5712d4f4d1f5c74165d46e950312"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8fbde7b84369458d3809bec15c8e0176"><td class="memItemLeft" align="right" valign="top">typedef std::map< std::string, std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#a8fbde7b84369458d3809bec15c8e0176">ParamMap</a></td></tr> <tr class="memdesc:a8fbde7b84369458d3809bec15c8e0176"><td class="mdescLeft"> </td><td class="mdescRight">A parameter map container. <a href="#a8fbde7b84369458d3809bec15c8e0176">More...</a><br /></td></tr> <tr class="separator:a8fbde7b84369458d3809bec15c8e0176"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:ad51bd525e90399edbbbc0dec707905c4"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4">EEncoding</a> { <a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4aeaa2243688b011101ab6790a54b5939b">E_ENCODED</a>, <a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4acbcf0f36453d80558eee1261ca3d392b">E_DECODED</a> }</td></tr> <tr class="memdesc:ad51bd525e90399edbbbc0dec707905c4"><td class="mdescLeft"> </td><td class="mdescRight">Encoding flags. <a href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4">More...</a><br /></td></tr> <tr class="separator:ad51bd525e90399edbbbc0dec707905c4"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a8de05190510c0031660746e1768a5a40"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#a8de05190510c0031660746e1768a5a40">encode</a> (const std::string &str, const std::string &safe="", <a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4">EEncoding</a> eflag=<a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4acbcf0f36453d80558eee1261ca3d392b">E_DECODED</a>)</td></tr> <tr class="memdesc:a8de05190510c0031660746e1768a5a40"><td class="mdescLeft"> </td><td class="mdescRight">Encodes a string using URL percent encoding. <a href="#a8de05190510c0031660746e1768a5a40">More...</a><br /></td></tr> <tr class="separator:a8de05190510c0031660746e1768a5a40"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad9ae496d804f4572099cd7532493e2e8"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#ad9ae496d804f4572099cd7532493e2e8">decode</a> (const std::string &str, <a class="el" href="classbool.html">bool</a> allowNUL=false)</td></tr> <tr class="memdesc:ad9ae496d804f4572099cd7532493e2e8"><td class="mdescLeft"> </td><td class="mdescRight">Decodes a URL percent encoded string. <a href="#ad9ae496d804f4572099cd7532493e2e8">More...</a><br /></td></tr> <tr class="separator:ad9ae496d804f4572099cd7532493e2e8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a54f9d28db0d9c518dc21a3eb080d8e46"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#a54f9d28db0d9c518dc21a3eb080d8e46">encode_octet</a> (const unsigned char c)</td></tr> <tr class="memdesc:a54f9d28db0d9c518dc21a3eb080d8e46"><td class="mdescLeft"> </td><td class="mdescRight">Encode one character. <a href="#a54f9d28db0d9c518dc21a3eb080d8e46">More...</a><br /></td></tr> <tr class="separator:a54f9d28db0d9c518dc21a3eb080d8e46"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2840a365dc95e396e1ec69187df52733"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#a2840a365dc95e396e1ec69187df52733">decode_octet</a> (const char *hex)</td></tr> <tr class="memdesc:a2840a365dc95e396e1ec69187df52733"><td class="mdescLeft"> </td><td class="mdescRight">Decode one character. <a href="#a2840a365dc95e396e1ec69187df52733">More...</a><br /></td></tr> <tr class="separator:a2840a365dc95e396e1ec69187df52733"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa6493515c0cb8f6935049b73293e5abf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#aa6493515c0cb8f6935049b73293e5abf">split</a> (<a class="el" href="namespacezypp_1_1url.html#a9b1f5712d4f4d1f5c74165d46e950312">ParamVec</a> &pvec, const std::string &pstr, const std::string &psep)</td></tr> <tr class="memdesc:aa6493515c0cb8f6935049b73293e5abf"><td class="mdescLeft"> </td><td class="mdescRight">Split into a parameter vector. <a href="#aa6493515c0cb8f6935049b73293e5abf">More...</a><br /></td></tr> <tr class="separator:aa6493515c0cb8f6935049b73293e5abf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac9fd74a3c55fbb33d130f4594b7cdbdb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#ac9fd74a3c55fbb33d130f4594b7cdbdb">split</a> (<a class="el" href="namespacezypp_1_1url.html#a8fbde7b84369458d3809bec15c8e0176">ParamMap</a> &pmap, const std::string &pstr, const std::string &psep, const std::string &vsep, <a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4">EEncoding</a> eflag=<a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4aeaa2243688b011101ab6790a54b5939b">E_ENCODED</a>)</td></tr> <tr class="memdesc:ac9fd74a3c55fbb33d130f4594b7cdbdb"><td class="mdescLeft"> </td><td class="mdescRight">Split into a parameter map. <a href="#ac9fd74a3c55fbb33d130f4594b7cdbdb">More...</a><br /></td></tr> <tr class="separator:ac9fd74a3c55fbb33d130f4594b7cdbdb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa7a559f2aa203a3e20a82ead4097483b"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#aa7a559f2aa203a3e20a82ead4097483b">join</a> (const <a class="el" href="namespacezypp_1_1url.html#a9b1f5712d4f4d1f5c74165d46e950312">ParamVec</a> &pvec, const std::string &psep)</td></tr> <tr class="memdesc:aa7a559f2aa203a3e20a82ead4097483b"><td class="mdescLeft"> </td><td class="mdescRight">Join parameter vector to a string. <a href="#aa7a559f2aa203a3e20a82ead4097483b">More...</a><br /></td></tr> <tr class="separator:aa7a559f2aa203a3e20a82ead4097483b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1174c565893b1a765fbf1c99b2a90152"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacezypp_1_1url.html#a1174c565893b1a765fbf1c99b2a90152">join</a> (const <a class="el" href="namespacezypp_1_1url.html#a8fbde7b84369458d3809bec15c8e0176">ParamMap</a> &pmap, const std::string &psep, const std::string &vsep, const std::string &safe)</td></tr> <tr class="memdesc:a1174c565893b1a765fbf1c99b2a90152"><td class="mdescLeft"> </td><td class="mdescRight">Join parameter map to a string. <a href="#a1174c565893b1a765fbf1c99b2a90152">More...</a><br /></td></tr> <tr class="separator:a1174c565893b1a765fbf1c99b2a90152"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p><a class="el" href="classzypp_1_1Url.html" title="Url manipulation class.">Url</a> details namespace. </p> </div><h2 class="groupheader">Typedef Documentation</h2> <a id="abb6b88fc6aa026cd9e0e752e11d1017d"></a> <h2 class="memtitle"><span class="permalink"><a href="#abb6b88fc6aa026cd9e0e752e11d1017d">◆ </a></span>UrlConfig</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::map< std::string, std::string > <a class="el" href="namespacezypp_1_1url.html#abb6b88fc6aa026cd9e0e752e11d1017d">zypp::url::UrlConfig</a></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="UrlBase_8cc_source.html#l00105">105</a> of file <a class="el" href="UrlBase_8cc_source.html">UrlBase.cc</a>.</p> </div> </div> <a id="ac1aa06def51cf49d86c9d46d87ba330b"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac1aa06def51cf49d86c9d46d87ba330b">◆ </a></span>ViewOptions</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="structzypp_1_1url_1_1ViewOption.html">ViewOption</a> <a class="el" href="namespacezypp_1_1url.html#ac1aa06def51cf49d86c9d46d87ba330b">zypp::url::ViewOptions</a></td> </tr> </table> </div><div class="memdoc"> <p>ViewOptions is just an alias for <a class="el" href="structzypp_1_1url_1_1ViewOption.html" title="Url::asString() view options.">ViewOption</a>. </p> <p class="definition">Definition at line <a class="el" href="UrlBase_8h_source.html#l00243">243</a> of file <a class="el" href="UrlBase_8h_source.html">UrlBase.h</a>.</p> </div> </div> <a id="a5129dc3318565ab876a0720fd282c4c5"></a> <h2 class="memtitle"><span class="permalink"><a href="#a5129dc3318565ab876a0720fd282c4c5">◆ </a></span>UrlSchemes</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector<std::string> <a class="el" href="namespacezypp_1_1url.html#a5129dc3318565ab876a0720fd282c4c5">zypp::url::UrlSchemes</a></td> </tr> </table> </div><div class="memdoc"> <p>Vector of URL scheme names. </p> <p class="definition">Definition at line <a class="el" href="UrlBase_8h_source.html#l00250">250</a> of file <a class="el" href="UrlBase_8h_source.html">UrlBase.h</a>.</p> </div> </div> <a id="a13117b1963f35d4a54b805a876c1efd1"></a> <h2 class="memtitle"><span class="permalink"><a href="#a13117b1963f35d4a54b805a876c1efd1">◆ </a></span>UrlRef</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="structzypp_1_1RWCOW__pointer.html">RWCOW_pointer</a><<a class="el" href="classzypp_1_1url_1_1UrlBase.html">UrlBase</a>> <a class="el" href="namespacezypp_1_1url.html#a13117b1963f35d4a54b805a876c1efd1">zypp::url::UrlRef</a></td> </tr> </table> </div><div class="memdoc"> <p>Copy-On-Write <a class="el" href="classzypp_1_1Url.html" title="Url manipulation class.">Url</a> reference. </p> <p class="definition">Definition at line <a class="el" href="UrlBase_8h_source.html#l01084">1084</a> of file <a class="el" href="UrlBase_8h_source.html">UrlBase.h</a>.</p> </div> </div> <a id="a9b1f5712d4f4d1f5c74165d46e950312"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9b1f5712d4f4d1f5c74165d46e950312">◆ </a></span>ParamVec</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector< std::string > <a class="el" href="namespacezypp_1_1url.html#a9b1f5712d4f4d1f5c74165d46e950312">zypp::url::ParamVec</a></td> </tr> </table> </div><div class="memdoc"> <p>A parameter vector container. </p> <p>A string vector containing splited PathParam- or Query-String. Each string in the vector is allways URL percent encoded and usually contains a "key=value" pair. </p> <p class="definition">Definition at line <a class="el" href="UrlUtils_8h_source.html#l00040">40</a> of file <a class="el" href="UrlUtils_8h_source.html">UrlUtils.h</a>.</p> </div> </div> <a id="a8fbde7b84369458d3809bec15c8e0176"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8fbde7b84369458d3809bec15c8e0176">◆ </a></span>ParamMap</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::map< std::string, std::string > <a class="el" href="namespacezypp_1_1url.html#a8fbde7b84369458d3809bec15c8e0176">zypp::url::ParamMap</a></td> </tr> </table> </div><div class="memdoc"> <p>A parameter map container. </p> <p>A map containing key and value pairs parsed from a PathParam- or Query-String. </p> <p class="definition">Definition at line <a class="el" href="UrlUtils_8h_source.html#l00047">47</a> of file <a class="el" href="UrlUtils_8h_source.html">UrlUtils.h</a>.</p> </div> </div> <h2 class="groupheader">Enumeration Type Documentation</h2> <a id="ad51bd525e90399edbbbc0dec707905c4"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad51bd525e90399edbbbc0dec707905c4">◆ </a></span>EEncoding</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4">zypp::url::EEncoding</a></td> </tr> </table> </div><div class="memdoc"> <p>Encoding flags. </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad51bd525e90399edbbbc0dec707905c4aeaa2243688b011101ab6790a54b5939b"></a>E_ENCODED </td><td class="fielddoc"><p>Flag to request encoded string(s). </p> </td></tr> <tr><td class="fieldname"><a id="ad51bd525e90399edbbbc0dec707905c4acbcf0f36453d80558eee1261ca3d392b"></a>E_DECODED </td><td class="fielddoc"><p>Flag to request decoded string(s). </p> </td></tr> </table> <p class="definition">Definition at line <a class="el" href="UrlUtils_8h_source.html#l00052">52</a> of file <a class="el" href="UrlUtils_8h_source.html">UrlUtils.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="a8de05190510c0031660746e1768a5a40"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8de05190510c0031660746e1768a5a40">◆ </a></span>encode()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string zypp::url::encode </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>safe</em> = <code>""</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4">EEncoding</a> </td> <td class="paramname"><em>eflag</em> = <code><a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4acbcf0f36453d80558eee1261ca3d392b">E_DECODED</a></code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Encodes a string using URL percent encoding. </p> <p>By default, all characters except of "a-zA-Z0-9_.-" will be encoded. Additional characters from the set ":/?#[]@!$&'()*+,;=", that are safe for a URL compoent without encoding, can be specified in the <code>safe</code> argument.</p> <p>If the <code>eflag</code> parameter is set to E_ENCODED, then already encoded substrings will be detected and not encoded a second time.</p> <p>The following function call will encode the "@" character as "%40", but skip encoding of the "%" character, because the <code>eflag</code> is set to E_ENCODED and "%ba" is detected as a valid encoded character. </p><div class="fragment"><div class="line"><a class="code" href="namespacezypp_1_1url.html#a8de05190510c0031660746e1768a5a40">zypp::url::encode</a>(<span class="stringliteral">"foo%bar@localhost"</span>, <span class="stringliteral">""</span>, <a class="code" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4aeaa2243688b011101ab6790a54b5939b">E_ENCODED</a>);</div></div><!-- fragment --><p> With <code>eflag</code> set to E_DECODED, the "%" character would be encoded as well. The complete encoded string would be "foo%25bar%40localhost".</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">str</td><td>A string to encode (binary data). </td></tr> <tr><td class="paramname">safe</td><td>Characters safe to skip in encoding, e.g. "/" for path names. </td></tr> <tr><td class="paramname">eflag</td><td>If to detect and skip already encoded substrings. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>A percent encoded string. </dd></dl> <p class="definition">Definition at line <a class="el" href="UrlUtils_8cc_source.html#l00032">32</a> of file <a class="el" href="UrlUtils_8cc_source.html">UrlUtils.cc</a>.</p> </div> </div> <a id="ad9ae496d804f4572099cd7532493e2e8"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad9ae496d804f4572099cd7532493e2e8">◆ </a></span>decode()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string zypp::url::decode </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classbool.html">bool</a> </td> <td class="paramname"><em>allowNUL</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Decodes a URL percent encoded string. </p> <p>Replaces all occurences of <code>"%<hex><hex>"</code> in the <code>str</code> string with the character encoded using the two hexadecimal digits that follows the "%" character.</p> <p>For example, the encoded string "%40%3F%3D%26%25" will be decoded to "@?=&%".</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">str</td><td>A string to decode. </td></tr> <tr><td class="paramname">allowNUL</td><td>A flag, if <code>"%00"</code> (encoded <code>'\0'</code>) is allowed or not. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>A decoded strig (may contain binary data). </dd></dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname"><a class="el" href="classzypp_1_1url_1_1UrlDecodingException.html" title="Thrown if the encoded string contains a NUL byte (%00).">UrlDecodingException</a></td><td>if <code>allowNUL</code> is false and a encoded NUL byte (<code>"%00"</code>) was found in <code>str</code>. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="UrlUtils_8cc_source.html#l00087">87</a> of file <a class="el" href="UrlUtils_8cc_source.html">UrlUtils.cc</a>.</p> </div> </div> <a id="a54f9d28db0d9c518dc21a3eb080d8e46"></a> <h2 class="memtitle"><span class="permalink"><a href="#a54f9d28db0d9c518dc21a3eb080d8e46">◆ </a></span>encode_octet()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string zypp::url::encode_octet </td> <td>(</td> <td class="paramtype">const unsigned char </td> <td class="paramname"><em>c</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Encode one character. </p> <p>Encode the specified character <code>c</code> into its <code>"%<hex><hex>"</code> representation.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">c</td><td>A character to encode. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>A percent encoded representation of the character, e.g. %20 for a ' ' (space). </dd></dl> <p class="definition">Definition at line <a class="el" href="UrlUtils_8cc_source.html#l00132">132</a> of file <a class="el" href="UrlUtils_8cc_source.html">UrlUtils.cc</a>.</p> </div> </div> <a id="a2840a365dc95e396e1ec69187df52733"></a> <h2 class="memtitle"><span class="permalink"><a href="#a2840a365dc95e396e1ec69187df52733">◆ </a></span>decode_octet()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int zypp::url::decode_octet </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>hex</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Decode one character. </p> <p>Decode the <code>hex</code> parameter pointing to (at least) two hexadecimal digits into its character value and return it.</p> <p>Example: </p><div class="fragment"><div class="line"><span class="keywordtype">char</span> *<a class="code" href="namespacestr.html">str</a> = <span class="stringliteral">"%40"</span>;</div><div class="line"><span class="keywordtype">char</span> *pct = strchr(<a class="code" href="namespacestr.html">str</a>, <span class="charliteral">'%'</span>);</div><div class="line"><span class="keywordtype">int</span> chr = pct ? <a class="code" href="namespacezypp_1_1url.html#a2840a365dc95e396e1ec69187df52733">decode_octet</a>(pct+1) : -1;</div><div class="line"> <span class="comment">// chr is set to the '@' ASCII character now.</span></div></div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">hex</td><td>Pointer to two hex characters representing the character value in percent-encoded strings. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The value (0-255) encoded in the <code>hex</code> characters or -1 if <code>hex</code> does not point to two hexadecimal characters. </dd></dl> <p class="definition">Definition at line <a class="el" href="UrlUtils_8cc_source.html#l00149">149</a> of file <a class="el" href="UrlUtils_8cc_source.html">UrlUtils.cc</a>.</p> </div> </div> <a id="aa6493515c0cb8f6935049b73293e5abf"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa6493515c0cb8f6935049b73293e5abf">◆ </a></span>split() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void zypp::url::split </td> <td>(</td> <td class="paramtype"><a class="el" href="namespacezypp_1_1url.html#a9b1f5712d4f4d1f5c74165d46e950312">ParamVec</a> & </td> <td class="paramname"><em>pvec</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>pstr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>psep</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Split into a parameter vector. </p> <p>Splits a parameter string <code>pstr</code> into substrings using <code>psep</code> as separator and appends the resulting substrings to <code>pvec</code>.</p> <p>Usual parameter separators are <code>'&'</code> for Query- and <code>'</code>,' for PathParam-Strings.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pvec</td><td>Reference to a result parameter vector. </td></tr> <tr><td class="paramname">pstr</td><td>Reference to the PathParam- or Query-String to split. </td></tr> <tr><td class="paramname">psep</td><td>Parameter separator character to split at. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname"><a class="el" href="classzypp_1_1url_1_1UrlNotSupportedException.html" title="Thrown if a feature e.g.">UrlNotSupportedException</a></td><td>if <code>psep</code> separator is empty. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="UrlUtils_8cc_source.html#l00165">165</a> of file <a class="el" href="UrlUtils_8cc_source.html">UrlUtils.cc</a>.</p> </div> </div> <a id="ac9fd74a3c55fbb33d130f4594b7cdbdb"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac9fd74a3c55fbb33d130f4594b7cdbdb">◆ </a></span>split() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void zypp::url::split </td> <td>(</td> <td class="paramtype"><a class="el" href="namespacezypp_1_1url.html#a8fbde7b84369458d3809bec15c8e0176">ParamMap</a> & </td> <td class="paramname"><em>pmap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>pstr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>psep</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>vsep</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4">EEncoding</a> </td> <td class="paramname"><em>eflag</em> = <code><a class="el" href="namespacezypp_1_1url.html#ad51bd525e90399edbbbc0dec707905c4aeaa2243688b011101ab6790a54b5939b">E_ENCODED</a></code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Split into a parameter map. </p> <p>Splits a parameter string <code>pstr</code> into substrings using <code>psep</code> as separator and then, each substring into key and value pair using <code>vsep</code> as separator between parameter key and value and adds them to the parameter map <code>pmap</code>.</p> <p>If a parameter substring doesn't contain any value separator <code>vsep</code>, the substring is used as a parameter key and value is set to an empty string.</p> <p>Usual parameter separators are <code>'&'</code> for Query- and <code>'</code>,' for PathParam-Strings. A usual parameter-value separator is <code>'='</code> for both, Query- and PathParam-Strings.</p> <p>If the encoding flag <code>eflag</code> is set to <code>E_DECODED</code>, then the key and values are dedcoded before they are stored in the map.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pmap</td><td>Reference to a result parameter map. </td></tr> <tr><td class="paramname">pstr</td><td>Reference to the PathParam- or Query-String to split. </td></tr> <tr><td class="paramname">psep</td><td>Separator character to split key-value pairs. </td></tr> <tr><td class="paramname">vsep</td><td>Separator character to split key and value. </td></tr> <tr><td class="paramname">eflag</td><td>Flag if the key and value strings should be URL percent decoded before they're stored in the map. </td></tr> </table> </dd> </dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname"><a class="el" href="classzypp_1_1url_1_1UrlNotSupportedException.html" title="Thrown if a feature e.g.">UrlNotSupportedException</a></td><td>if <code>psep</code> or <code>vsep</code> separator is empty. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="UrlUtils_8cc_source.html#l00199">199</a> of file <a class="el" href="UrlUtils_8cc_source.html">UrlUtils.cc</a>.</p> </div> </div> <a id="aa7a559f2aa203a3e20a82ead4097483b"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa7a559f2aa203a3e20a82ead4097483b">◆ </a></span>join() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string zypp::url::join </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespacezypp_1_1url.html#a9b1f5712d4f4d1f5c74165d46e950312">ParamVec</a> & </td> <td class="paramname"><em>pvec</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>psep</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Join parameter vector to a string. </p> <p>Creates a string containing all substrings from the <code>pvec</code> separated by <code>psep</code> separator character. The substrings in <code>pvec</code> should be already URL percent encoded and should't contain <code>psep</code> characters.</p> <p>Usual parameter separators are <code>'&'</code> for Query- and <code>'</code>,' for PathParam-Strings.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pvec</td><td>Reference to encoded parameter vector. </td></tr> <tr><td class="paramname">psep</td><td>Parameter separator character to use. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>A parameter string. </dd></dl> <p class="definition">Definition at line <a class="el" href="UrlUtils_8cc_source.html#l00254">254</a> of file <a class="el" href="UrlUtils_8cc_source.html">UrlUtils.cc</a>.</p> </div> </div> <a id="a1174c565893b1a765fbf1c99b2a90152"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1174c565893b1a765fbf1c99b2a90152">◆ </a></span>join() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string zypp::url::join </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespacezypp_1_1url.html#a8fbde7b84369458d3809bec15c8e0176">ParamMap</a> & </td> <td class="paramname"><em>pmap</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>psep</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>vsep</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>safe</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Join parameter map to a string. </p> <p>Creates a string containing all parameter key-value pairs from the parameter map <code>pmap</code>, that will be joined using the <code>psep</code> character and the parameter key is separated from the parameter value using the <code>vsep</code> character. Both, key and value will be automatically encoded.</p> <p>Usual parameter separators are <code>'&'</code> for Query- and <code>'</code>,' for PathParam-Strings. A usual parameter-value separator is <code>'='</code> for both, Query- and PathParam-Strings.</p> <p>See <a class="el" href="namespacezypp_1_1url.html#a8de05190510c0031660746e1768a5a40" title="Encodes a string using URL percent encoding.">encode()</a> function from details about the <code>safe</code> characters.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">pmap</td><td>Reference to a parameter map. </td></tr> <tr><td class="paramname">psep</td><td>Separator character to use between key-value pairs. </td></tr> <tr><td class="paramname">vsep</td><td>Separator character to use between keys and values. </td></tr> <tr><td class="paramname">safe</td><td>List of characters to accept without encoding. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>A URL percent-encoded parameter string. </dd></dl> <dl class="exception"><dt>Exceptions</dt><dd> <table class="exception"> <tr><td class="paramname"><a class="el" href="classzypp_1_1url_1_1UrlNotSupportedException.html" title="Thrown if a feature e.g.">UrlNotSupportedException</a></td><td>if <code>psep</code> or <code>vsep</code> separator is empty. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="UrlUtils_8cc_source.html#l00275">275</a> of file <a class="el" href="UrlUtils_8cc_source.html">UrlUtils.cc</a>.</p> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="namespacezypp.html">zypp</a></li><li class="navelem"><a class="el" href="namespacezypp_1_1url.html">url</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>