<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/> <title>libmusicbrainz3: MusicBrainz::WebService Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.7.3 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libmusicbrainz3 <span id="projectnumber">3.0.3</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li id="searchli"> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('class_music_brainz_1_1_web_service.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> </div> <div class="headertitle"> <h1>MusicBrainz::WebService Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="MusicBrainz::WebService" --><!-- doxytag: inherits="MusicBrainz::IWebService" --> <p>An interface to the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> XML web service via HTTP. <a href="#_details">More...</a></p> <div class="dynheader"> Inheritance diagram for MusicBrainz::WebService:</div> <div class="dyncontent"> <div class="center"> <img src="class_music_brainz_1_1_web_service.png" usemap="#MusicBrainz::WebService_map" alt=""/> <map id="MusicBrainz::WebService_map" name="MusicBrainz::WebService_map"> <area href="class_music_brainz_1_1_i_web_service.html" alt="MusicBrainz::IWebService" shape="rect" coords="0,0,160,24"/> </map> </div></div> <p><a href="class_music_brainz_1_1_web_service-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a4559dcbc39a6e9e4c8c0f0c3eb0e261d">WebService</a> (const std::string &host="musicbrainz.org", const int port=80, const std::string &pathPrefix="/ws", const std::string &username=std::string(), const std::string &password=std::string(), const std::string &realm="musicbrainz.org")</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a4559dcbc39a6e9e4c8c0f0c3eb0e261d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#aacec4667cf78ab6621bf968a7ce047d2">~WebService</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#aacec4667cf78ab6621bf968a7ce047d2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a5e5fbc6250eac5a2934c1fad2780a2fe">setHost</a> (const std::string &host)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the host. <a href="#a5e5fbc6250eac5a2934c1fad2780a2fe"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a857a19d2007f6b1e9ac857becbce5617">getHost</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the host. <a href="#a857a19d2007f6b1e9ac857becbce5617"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a88830eaf41886eb846cf97dcac63d7f1">setPort</a> (const int port)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the port. <a href="#a88830eaf41886eb846cf97dcac63d7f1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a9baa295fa7f6385cec00a4f9a086f5dd">getPort</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the port. <a href="#a9baa295fa7f6385cec00a4f9a086f5dd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a195e5336e4cc21d6bbaf5c3d78c597bb">setPathPrefix</a> (const std::string &pathPrefix)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the path prefix. <a href="#a195e5336e4cc21d6bbaf5c3d78c597bb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a723e93060831e8dc845e432b2cb7e71f">getPathPrefix</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the path prefix. <a href="#a723e93060831e8dc845e432b2cb7e71f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a20d0c045644fc8d1dbcfb5dba04a6518">setUserName</a> (const std::string &username)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user name. <a href="#a20d0c045644fc8d1dbcfb5dba04a6518"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#ab17b043d1405a4cb3f34023cc7a8955a">getUserName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user name. <a href="#ab17b043d1405a4cb3f34023cc7a8955a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a0ad284328ad91fb6d4c9542edf7d0f1b">setPassword</a> (const std::string &password)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user password. <a href="#a0ad284328ad91fb6d4c9542edf7d0f1b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#add99011d3ab1a010370dc0071d20f695">getPassword</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user password. <a href="#add99011d3ab1a010370dc0071d20f695"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a9391180f6b25d59d9f99c9e49faf5253">setRealm</a> (const std::string &realm)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the HTTP authentification realm. <a href="#a9391180f6b25d59d9f99c9e49faf5253"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a0b6cd0977edb9338f5bdd81fcc604567">getRealm</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the HTTP authentification realm. <a href="#a0b6cd0977edb9338f5bdd81fcc604567"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a1c44a9316befae76a1827c5aa8919513">setProxyHost</a> (const std::string &host)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the proxy host. <a href="#a1c44a9316befae76a1827c5aa8919513"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#aa9c7c26b9cf3d7b7d63feb150584fa05">getProxyHost</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the proxy host. <a href="#aa9c7c26b9cf3d7b7d63feb150584fa05"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a1d821908eb43ef0b0b9f2e1494f699d9">setProxyPort</a> (const int port)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the proxy port. <a href="#a1d821908eb43ef0b0b9f2e1494f699d9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#aac37d4db6d86b4276341e55a636ad638">getProxyPort</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the proxy port. <a href="#aac37d4db6d86b4276341e55a636ad638"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#acbacc607ca0fad61451774a0d86375fc">setProxyUserName</a> (const std::string &username)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the proxy user name. <a href="#acbacc607ca0fad61451774a0d86375fc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a82911dd92a1bd0b555876e69d2a5804f">getProxyUserName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the proxy user name. <a href="#a82911dd92a1bd0b555876e69d2a5804f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#adee255a6d3ef1f51549d5a7c58546409">setProxyPassword</a> (const std::string &password)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the proxy password. <a href="#adee255a6d3ef1f51549d5a7c58546409"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a813fd08afce7f51ca158c744993b4c87">getProxyPassword</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the proxy password. <a href="#a813fd08afce7f51ca158c744993b4c87"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a5135fd0521855bf32c9f2b1ef8a59f93">get</a> (const std::string &entity, const std::string &id, const <a class="el" href="class_music_brainz_1_1_i_includes.html#afecd9a28c3be5892ec4ce11bcb4fd66e">IIncludes::IncludeList</a> &include, const <a class="el" href="class_music_brainz_1_1_i_filter.html#aaba1f8574aef404c9df93d340f10d611">IFilter::ParameterList</a> &filter, const std::string &version="1")</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="class_music_brainz_1_1_query.html" title="A simple interface to the MusicBrainz web service.">Query</a> the web service via HTTP-GET. <a href="#a5135fd0521855bf32c9f2b1ef8a59f93"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_music_brainz_1_1_web_service.html#a0587bdf75700342c1263a897c936cfdc">post</a> (const std::string &entity, const std::string &id, const std::string &data, const std::string &version="1")</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Send data to the web service via HTTP-POST. <a href="#a0587bdf75700342c1263a897c936cfdc"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>An interface to the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> XML web service via HTTP. </p> <p>By default, this class uses the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> server but may be configured for accessing other servers as well using the constructor (<a class="el" href="class_music_brainz_1_1_web_service.html#a4559dcbc39a6e9e4c8c0f0c3eb0e261d" title="Constructor.">WebService::WebService</a>). This implements <a class="el" href="class_music_brainz_1_1_i_web_service.html" title="An interface all concrete web service classes have to implement.">IWebService</a>, so additional documentation on method parameters can be found there. </p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a4559dcbc39a6e9e4c8c0f0c3eb0e261d"></a><!-- doxytag: member="MusicBrainz::WebService::WebService" ref="a4559dcbc39a6e9e4c8c0f0c3eb0e261d" args="(const std::string &host="musicbrainz.org", const int port=80, const std::string &pathPrefix="/ws", const std::string &username=std::string(), const std::string &password=std::string(), const std::string &realm="musicbrainz.org")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">MusicBrainz::WebService::WebService </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>host</em> = <code>"musicbrainz.org"</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int </td> <td class="paramname"><em>port</em> = <code>80</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>pathPrefix</em> = <code>"/ws"</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>username</em> = <code>std::string()</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>password</em> = <code>std::string()</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>realm</em> = <code>"musicbrainz.org"</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor. </p> <p>This can be used without parameters. In this case, the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> server will be used.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">host</td><td>a string containing a host name </td></tr> <tr><td class="paramname">port</td><td>an integer containing a port number </td></tr> <tr><td class="paramname">pathPrefix</td><td>a string prepended to all URLs </td></tr> <tr><td class="paramname">username</td><td>a string containing a <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user name </td></tr> <tr><td class="paramname">password</td><td>a string containing the user's password </td></tr> <tr><td class="paramname">realm</td><td>a string containing the realm used for authentication </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="aacec4667cf78ab6621bf968a7ce047d2"></a><!-- doxytag: member="MusicBrainz::WebService::~WebService" ref="aacec4667cf78ab6621bf968a7ce047d2" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual MusicBrainz::WebService::~WebService </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a5135fd0521855bf32c9f2b1ef8a59f93"></a><!-- doxytag: member="MusicBrainz::WebService::get" ref="a5135fd0521855bf32c9f2b1ef8a59f93" args="(const std::string &entity, const std::string &id, const IIncludes::IncludeList &include, const IFilter::ParameterList &filter, const std::string &version="1")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string MusicBrainz::WebService::get </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>entity</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_i_includes.html#afecd9a28c3be5892ec4ce11bcb4fd66e">IIncludes::IncludeList</a> & </td> <td class="paramname"><em>include</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="class_music_brainz_1_1_i_filter.html#aaba1f8574aef404c9df93d340f10d611">IFilter::ParameterList</a> & </td> <td class="paramname"><em>filter</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>version</em> = <code>"1"</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p><a class="el" href="class_music_brainz_1_1_query.html" title="A simple interface to the MusicBrainz web service.">Query</a> the web service via HTTP-GET. </p> <p>Returns a string containing the result or raises a <a class="el" href="class_music_brainz_1_1_web_service_error.html" title="A web service error has occurred.">WebServiceError</a>. Conditions leading to errors may be invalid entities, IDs, <em>include</em> or <em>filter</em> parameters and unsupported version numbers.</p> <dl><dt><b>Exceptions:</b></dt><dd> <table class="exception"> <tr><td class="paramname"><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></td><td>couldn't connect to server </td></tr> <tr><td class="paramname"><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></td><td>invalid IDs or parameters </td></tr> <tr><td class="paramname"><a class="el" href="class_music_brainz_1_1_authentication_error.html" title="Authentication failed.">AuthenticationError</a></td><td>invalid user name and/or password </td></tr> <tr><td class="paramname"><a class="el" href="class_music_brainz_1_1_resource_not_found_error.html" title="No resource with the given ID exists.">ResourceNotFoundError</a></td><td>resource doesn't exist</td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_music_brainz_1_1_i_web_service.html#a366d622c1eed452af3756ee955ef62c3" title="Query the web service.">IWebService::get</a> </dd></dl> <p>Implements <a class="el" href="class_music_brainz_1_1_i_web_service.html#a366d622c1eed452af3756ee955ef62c3">MusicBrainz::IWebService</a>.</p> </div> </div> <a class="anchor" id="a857a19d2007f6b1e9ac857becbce5617"></a><!-- doxytag: member="MusicBrainz::WebService::getHost" ref="a857a19d2007f6b1e9ac857becbce5617" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string MusicBrainz::WebService::getHost </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the host. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a string containing the host name </dd></dl> </div> </div> <a class="anchor" id="add99011d3ab1a010370dc0071d20f695"></a><!-- doxytag: member="MusicBrainz::WebService::getPassword" ref="add99011d3ab1a010370dc0071d20f695" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string MusicBrainz::WebService::getPassword </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user password. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a string containing the user password </dd></dl> </div> </div> <a class="anchor" id="a723e93060831e8dc845e432b2cb7e71f"></a><!-- doxytag: member="MusicBrainz::WebService::getPathPrefix" ref="a723e93060831e8dc845e432b2cb7e71f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string MusicBrainz::WebService::getPathPrefix </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the path prefix. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a string containing the path prefix </dd></dl> </div> </div> <a class="anchor" id="a9baa295fa7f6385cec00a4f9a086f5dd"></a><!-- doxytag: member="MusicBrainz::WebService::getPort" ref="a9baa295fa7f6385cec00a4f9a086f5dd" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int MusicBrainz::WebService::getPort </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the port. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>an int containing the port number </dd></dl> </div> </div> <a class="anchor" id="aa9c7c26b9cf3d7b7d63feb150584fa05"></a><!-- doxytag: member="MusicBrainz::WebService::getProxyHost" ref="aa9c7c26b9cf3d7b7d63feb150584fa05" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string MusicBrainz::WebService::getProxyHost </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the proxy host. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a string containing the host name </dd></dl> </div> </div> <a class="anchor" id="a813fd08afce7f51ca158c744993b4c87"></a><!-- doxytag: member="MusicBrainz::WebService::getProxyPassword" ref="a813fd08afce7f51ca158c744993b4c87" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string MusicBrainz::WebService::getProxyPassword </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the proxy password. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a string containing the password </dd></dl> </div> </div> <a class="anchor" id="aac37d4db6d86b4276341e55a636ad638"></a><!-- doxytag: member="MusicBrainz::WebService::getProxyPort" ref="aac37d4db6d86b4276341e55a636ad638" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int MusicBrainz::WebService::getProxyPort </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the proxy port. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>an int containing the port number </dd></dl> </div> </div> <a class="anchor" id="a82911dd92a1bd0b555876e69d2a5804f"></a><!-- doxytag: member="MusicBrainz::WebService::getProxyUserName" ref="a82911dd92a1bd0b555876e69d2a5804f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string MusicBrainz::WebService::getProxyUserName </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the proxy user name. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a string containing the user name </dd></dl> </div> </div> <a class="anchor" id="a0b6cd0977edb9338f5bdd81fcc604567"></a><!-- doxytag: member="MusicBrainz::WebService::getRealm" ref="a0b6cd0977edb9338f5bdd81fcc604567" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string MusicBrainz::WebService::getRealm </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the HTTP authentification realm. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a string containing the realm </dd></dl> </div> </div> <a class="anchor" id="ab17b043d1405a4cb3f34023cc7a8955a"></a><!-- doxytag: member="MusicBrainz::WebService::getUserName" ref="ab17b043d1405a4cb3f34023cc7a8955a" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::string MusicBrainz::WebService::getUserName </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Returns the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user name. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>a string containing the user name </dd></dl> </div> </div> <a class="anchor" id="a0587bdf75700342c1263a897c936cfdc"></a><!-- doxytag: member="MusicBrainz::WebService::post" ref="a0587bdf75700342c1263a897c936cfdc" args="(const std::string &entity, const std::string &id, const std::string &data, const std::string &version="1")" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::post </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>entity</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>version</em> = <code>"1"</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Send data to the web service via HTTP-POST. </p> <p>Note that this may require authentication. You can set user name, password and realm in the constructor (<a class="el" href="class_music_brainz_1_1_web_service.html#a4559dcbc39a6e9e4c8c0f0c3eb0e261d" title="Constructor.">WebService::WebService</a>).</p> <dl><dt><b>Exceptions:</b></dt><dd> <table class="exception"> <tr><td class="paramname"><a class="el" href="class_music_brainz_1_1_connection_error.html" title="Getting a server connection failed.">ConnectionError</a></td><td>couldn't connect to server </td></tr> <tr><td class="paramname"><a class="el" href="class_music_brainz_1_1_request_error.html" title="An invalid request was made.">RequestError</a></td><td>invalid IDs or parameters </td></tr> <tr><td class="paramname"><a class="el" href="class_music_brainz_1_1_authentication_error.html" title="Authentication failed.">AuthenticationError</a></td><td>invalid user name and/or password </td></tr> <tr><td class="paramname"><a class="el" href="class_music_brainz_1_1_resource_not_found_error.html" title="No resource with the given ID exists.">ResourceNotFoundError</a></td><td>resource doesn't exist</td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_music_brainz_1_1_i_web_service.html#a6f16a6c0135d94fb970c36b92aa2af7f" title="Submit data to the web service.">IWebService::post</a> </dd></dl> <p>Implements <a class="el" href="class_music_brainz_1_1_i_web_service.html#a6f16a6c0135d94fb970c36b92aa2af7f">MusicBrainz::IWebService</a>.</p> </div> </div> <a class="anchor" id="a5e5fbc6250eac5a2934c1fad2780a2fe"></a><!-- doxytag: member="MusicBrainz::WebService::setHost" ref="a5e5fbc6250eac5a2934c1fad2780a2fe" args="(const std::string &host)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::setHost </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>host</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the host. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">host</td><td>a string containing the host name </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a0ad284328ad91fb6d4c9542edf7d0f1b"></a><!-- doxytag: member="MusicBrainz::WebService::setPassword" ref="a0ad284328ad91fb6d4c9542edf7d0f1b" args="(const std::string &password)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::setPassword </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>password</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user password. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">password</td><td>a string containing the user password </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a195e5336e4cc21d6bbaf5c3d78c597bb"></a><!-- doxytag: member="MusicBrainz::WebService::setPathPrefix" ref="a195e5336e4cc21d6bbaf5c3d78c597bb" args="(const std::string &pathPrefix)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::setPathPrefix </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>pathPrefix</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the path prefix. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">pathPrefix</td><td>a string containing the path prefix </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a88830eaf41886eb846cf97dcac63d7f1"></a><!-- doxytag: member="MusicBrainz::WebService::setPort" ref="a88830eaf41886eb846cf97dcac63d7f1" args="(const int port)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::setPort </td> <td>(</td> <td class="paramtype">const int </td> <td class="paramname"><em>port</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the port. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">port</td><td>an int containing the port number </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a1c44a9316befae76a1827c5aa8919513"></a><!-- doxytag: member="MusicBrainz::WebService::setProxyHost" ref="a1c44a9316befae76a1827c5aa8919513" args="(const std::string &host)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::setProxyHost </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>host</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the proxy host. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">host</td><td>a string containing the host name </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="adee255a6d3ef1f51549d5a7c58546409"></a><!-- doxytag: member="MusicBrainz::WebService::setProxyPassword" ref="adee255a6d3ef1f51549d5a7c58546409" args="(const std::string &password)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::setProxyPassword </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>password</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the proxy password. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">password</td><td>a string containing the password </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a1d821908eb43ef0b0b9f2e1494f699d9"></a><!-- doxytag: member="MusicBrainz::WebService::setProxyPort" ref="a1d821908eb43ef0b0b9f2e1494f699d9" args="(const int port)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::setProxyPort </td> <td>(</td> <td class="paramtype">const int </td> <td class="paramname"><em>port</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the proxy port. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">port</td><td>an int containing the port number </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="acbacc607ca0fad61451774a0d86375fc"></a><!-- doxytag: member="MusicBrainz::WebService::setProxyUserName" ref="acbacc607ca0fad61451774a0d86375fc" args="(const std::string &username)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::setProxyUserName </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>username</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the proxy user name. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">username</td><td>a string containing the user name </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a9391180f6b25d59d9f99c9e49faf5253"></a><!-- doxytag: member="MusicBrainz::WebService::setRealm" ref="a9391180f6b25d59d9f99c9e49faf5253" args="(const std::string &realm)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::setRealm </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>realm</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the HTTP authentification realm. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">realm</td><td>a string containing the realm </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a20d0c045644fc8d1dbcfb5dba04a6518"></a><!-- doxytag: member="MusicBrainz::WebService::setUserName" ref="a20d0c045644fc8d1dbcfb5dba04a6518" args="(const std::string &username)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void MusicBrainz::WebService::setUserName </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>username</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Sets the <a class="el" href="namespace_music_brainz.html">MusicBrainz</a> user name. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">username</td><td>a string containing the user name </td></tr> </table> </dd> </dl> </div> </div> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespace_music_brainz.html">MusicBrainz</a> </li> <li class="navelem"><a class="el" href="class_music_brainz_1_1_web_service.html">WebService</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.7.3 </li> </ul> </div> <!--- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> </body> </html>