<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.9.1"/> <title>Helix Web Services Client: hws::Client Class 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="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { init_search(); }); </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 style="padding-left: 0.5em;"> <div id="projectname">Helix Web Services Client  <span id="projectnumber">1</span> </div> <div id="projectbrief">Helix Web Services Client SDK for Qt Applications</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.9.1 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</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> <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> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><b>hws</b></li><li class="navelem"><a class="el" href="classhws_1_1_client.html">Client</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-slots">Public Slots</a> | <a href="#signals">Signals</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="classhws_1_1_client-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">hws::Client Class Reference</div> </div> </div><!--header--> <div class="contents"> <p>Front end to making requests against the Phoenix web services API. <a href="classhws_1_1_client.html#details">More...</a></p> <p><code>#include <<a class="el" href="_client_8h_source.html">Client.h</a>></code></p> <div class="dynheader"> Inheritance diagram for hws::Client:</div> <div class="dyncontent"> <div class="center"> <img src="classhws_1_1_client.png" usemap="#hws::Client_map" alt=""/> <map id="hws::Client_map" name="hws::Client_map"> </map> </div></div> <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="classhws_1_1_client_1_1_impl.html">Impl</a></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="classhws_1_1_client_1_1_log_in_finished.html">LogInFinished</a></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="pub-slots"></a> Public Slots</h2></td></tr> <tr class="memitem:a948cd4e143d62034afd493c18099c4b7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a948cd4e143d62034afd493c18099c4b7">validateSession</a> ()</td></tr> <tr class="separator:a948cd4e143d62034afd493c18099c4b7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac87a65bae065cbd0b1e1f6abc2c06242"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#ac87a65bae065cbd0b1e1f6abc2c06242">logIn</a> (const QString &user, const QString &password)</td></tr> <tr class="separator:ac87a65bae065cbd0b1e1f6abc2c06242"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a608791c288c07e9052ff0de1d8fda870"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a608791c288c07e9052ff0de1d8fda870">fetchAllProjects</a> ()</td></tr> <tr class="separator:a608791c288c07e9052ff0de1d8fda870"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa6fd07f571a8463cd4fcf52174b8e4f9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#aa6fd07f571a8463cd4fcf52174b8e4f9">fetchMyProjects</a> ()</td></tr> <tr class="separator:aa6fd07f571a8463cd4fcf52174b8e4f9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5460cc32fcaec86060eec231c5bd83e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5460cc32fcaec86060eec231c5bd83e8"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a5460cc32fcaec86060eec231c5bd83e8">fetchProject</a> (const QString &id)</td></tr> <tr class="memdesc:a5460cc32fcaec86060eec231c5bd83e8"><td class="mdescLeft"> </td><td class="mdescRight">Triggers a request just to load the indicated <a class="el" href="classhws_1_1_sync_project.html" title="High-level Project model for Helix Sync that wraps the base Project. ">SyncProject</a>. <br /></td></tr> <tr class="separator:a5460cc32fcaec86060eec231c5bd83e8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a49c3c46ede59056738b28fe085c05303"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49c3c46ede59056738b28fe085c05303"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a49c3c46ede59056738b28fe085c05303">createProject</a> (const <a class="el" href="classhws_1_1_sync_project.html">SyncProject</a> &project)</td></tr> <tr class="memdesc:a49c3c46ede59056738b28fe085c05303"><td class="mdescLeft"> </td><td class="mdescRight">Create a new <a class="el" href="classhws_1_1_sync_project.html" title="High-level Project model for Helix Sync that wraps the base Project. ">SyncProject</a> in the system. <br /></td></tr> <tr class="separator:a49c3c46ede59056738b28fe085c05303"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af3215eb7e068a6e9f99e1b30e4c2c336"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#af3215eb7e068a6e9f99e1b30e4c2c336">createClientForProject</a> (const QString &projectId, const QString &hostname, const QString &root)</td></tr> <tr class="separator:af3215eb7e068a6e9f99e1b30e4c2c336"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7020b9de5d2479cd40af349ccc96c8ba"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a7020b9de5d2479cd40af349ccc96c8ba">deleteClient</a> (const QString &clientName)</td></tr> <tr class="separator:a7020b9de5d2479cd40af349ccc96c8ba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4d91ee048f198272f8c311c52ef01b19"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a4d91ee048f198272f8c311c52ef01b19">watchProject</a> (const QString &projectId)</td></tr> <tr class="separator:a4d91ee048f198272f8c311c52ef01b19"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a856fa48c32f9a08c77be5ef036b0806c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a856fa48c32f9a08c77be5ef036b0806c">watchProjects</a> (const QList< QString > &projectIds)</td></tr> <tr class="separator:a856fa48c32f9a08c77be5ef036b0806c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a10926d6e2592a53f3043249967365c6e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10926d6e2592a53f3043249967365c6e"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a10926d6e2592a53f3043249967365c6e">unwatchProjects</a> (const QList< QString > &projectIds)</td></tr> <tr class="memdesc:a10926d6e2592a53f3043249967365c6e"><td class="mdescLeft"> </td><td class="mdescRight">Tell the server to unwatch a list of project IDs. <br /></td></tr> <tr class="separator:a10926d6e2592a53f3043249967365c6e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad134b0885894fd9be0f30770e36c0a1b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#ad134b0885894fd9be0f30770e36c0a1b">unwatchProject</a> (const QString &projectId)</td></tr> <tr class="separator:ad134b0885894fd9be0f30770e36c0a1b"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a> Signals</h2></td></tr> <tr class="memitem:a6a866b9ad11dedb70f2908da60a68a32"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a6a866b9ad11dedb70f2908da60a68a32">validateSessionDone</a> (RequestErrorPtr error)</td></tr> <tr class="separator:a6a866b9ad11dedb70f2908da60a68a32"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8020be14b02290e325e2addb4cd205ad"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a8020be14b02290e325e2addb4cd205ad">logInDone</a> (RequestErrorPtr error, SessionPtr <a class="el" href="classhws_1_1_client.html#a7f71e48853bfa39f72c512a146265b78">session</a>)</td></tr> <tr class="separator:a8020be14b02290e325e2addb4cd205ad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa65c1a3c181672da2e62155b8dd57b12"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa65c1a3c181672da2e62155b8dd57b12"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#aa65c1a3c181672da2e62155b8dd57b12">fetchProjectsDone</a> (RequestErrorPtr error, QSharedPointer< QList< SyncProjectPtr > > projects)</td></tr> <tr class="memdesc:aa65c1a3c181672da2e62155b8dd57b12"><td class="mdescLeft"> </td><td class="mdescRight">The list of sync projects is now available. <br /></td></tr> <tr class="separator:aa65c1a3c181672da2e62155b8dd57b12"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aef6254537d66255f4c0c4455cd6d39c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aef6254537d66255f4c0c4455cd6d39c8"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#aef6254537d66255f4c0c4455cd6d39c8">fetchProjectDone</a> (RequestErrorPtr error, SyncProjectPtr project)</td></tr> <tr class="memdesc:aef6254537d66255f4c0c4455cd6d39c8"><td class="mdescLeft"> </td><td class="mdescRight">The information about a single project is available. <br /></td></tr> <tr class="separator:aef6254537d66255f4c0c4455cd6d39c8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab494959c4986bc81577e86b2f1df6480"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab494959c4986bc81577e86b2f1df6480"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#ab494959c4986bc81577e86b2f1df6480">createProjectDone</a> (RequestErrorPtr error, SyncProjectPtr project)</td></tr> <tr class="memdesc:ab494959c4986bc81577e86b2f1df6480"><td class="mdescLeft"> </td><td class="mdescRight">The request to create a project is done. <br /></td></tr> <tr class="separator:ab494959c4986bc81577e86b2f1df6480"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adff3879af800f0a5e4e571ff1b862e66"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#adff3879af800f0a5e4e571ff1b862e66">clientCreated</a> (RequestErrorPtr error, const QString &clientName)</td></tr> <tr class="separator:adff3879af800f0a5e4e571ff1b862e66"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae0f3e5457d066f9c40c09aa00f9ff62c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#ae0f3e5457d066f9c40c09aa00f9ff62c">clientDeleted</a> (RequestErrorPtr error)</td></tr> <tr class="separator:ae0f3e5457d066f9c40c09aa00f9ff62c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9ad30130c0025201d20a5c950482650f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ad30130c0025201d20a5c950482650f"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a9ad30130c0025201d20a5c950482650f">projectUpdated</a> (QSharedPointer< <a class="el" href="structhws_1_1_project_update.html">ProjectUpdate</a> > change)</td></tr> <tr class="memdesc:a9ad30130c0025201d20a5c950482650f"><td class="mdescLeft"> </td><td class="mdescRight">The request to change a project is ready. <br /></td></tr> <tr class="separator:a9ad30130c0025201d20a5c950482650f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa75852a8288c27b3abfa058a604f0e16"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa75852a8288c27b3abfa058a604f0e16"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#aa75852a8288c27b3abfa058a604f0e16">updateError</a> (RequestErrorPtr error)</td></tr> <tr class="memdesc:aa75852a8288c27b3abfa058a604f0e16"><td class="mdescLeft"> </td><td class="mdescRight">A problem resulted from connecting with the notifications system. <br /></td></tr> <tr class="separator:aa75852a8288c27b3abfa058a604f0e16"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a48dcb2d658f6801d767a3f0510364a2e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a48dcb2d658f6801d767a3f0510364a2e">Client</a> (QObject *parent, QSettings *<a class="el" href="classhws_1_1_client.html#a3876d0cdb16e97c2a179c200b9057eb0">settings</a>, QUrl <a class="el" href="classhws_1_1_client.html#a25eb8861db7a617ec9e197105da32e59">url</a>)</td></tr> <tr class="separator:a48dcb2d658f6801d767a3f0510364a2e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adf3a48890b6c7b8441862f2ab5c956d8"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#adf3a48890b6c7b8441862f2ab5c956d8">Client</a> (QObject *parent, QSettings *<a class="el" href="classhws_1_1_client.html#a3876d0cdb16e97c2a179c200b9057eb0">settings</a>, QUrl <a class="el" href="classhws_1_1_client.html#a25eb8861db7a617ec9e197105da32e59">url</a>, QString <a class="el" href="classhws_1_1_client.html#abb504cddae9ae34ec3b51bd18fe570d2">settingsKey</a>)</td></tr> <tr class="separator:adf3a48890b6c7b8441862f2ab5c956d8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad55b0bb6781367118fb47325f3e749e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad55b0bb6781367118fb47325f3e749e4"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#ad55b0bb6781367118fb47325f3e749e4">Client</a> (QObject *parent)</td></tr> <tr class="memdesc:ad55b0bb6781367118fb47325f3e749e4"><td class="mdescLeft"> </td><td class="mdescRight">A basic empty client that should be updated. <br /></td></tr> <tr class="separator:ad55b0bb6781367118fb47325f3e749e4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e29becd0de1df4fb76c02c2b0ada0aa"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a7e29becd0de1df4fb76c02c2b0ada0aa">~Client</a> ()</td></tr> <tr class="separator:a7e29becd0de1df4fb76c02c2b0ada0aa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a25eb8861db7a617ec9e197105da32e59"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25eb8861db7a617ec9e197105da32e59"></a> const QUrl & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a25eb8861db7a617ec9e197105da32e59">url</a> () const </td></tr> <tr class="memdesc:a25eb8861db7a617ec9e197105da32e59"><td class="mdescLeft"> </td><td class="mdescRight">The Helix Web Services URL. <br /></td></tr> <tr class="separator:a25eb8861db7a617ec9e197105da32e59"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a457086d9086e7ffe12e8250f40531725"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a457086d9086e7ffe12e8250f40531725"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a457086d9086e7ffe12e8250f40531725">setUrl</a> (const QUrl &<a class="el" href="classhws_1_1_client.html#a25eb8861db7a617ec9e197105da32e59">url</a>)</td></tr> <tr class="memdesc:a457086d9086e7ffe12e8250f40531725"><td class="mdescLeft"> </td><td class="mdescRight">The Helix Web Services URL. <br /></td></tr> <tr class="separator:a457086d9086e7ffe12e8250f40531725"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5edcfa7a2672bd5fd7c1bd43d05ada11"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a5edcfa7a2672bd5fd7c1bd43d05ada11">hasSession</a> () const </td></tr> <tr class="separator:a5edcfa7a2672bd5fd7c1bd43d05ada11"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7f71e48853bfa39f72c512a146265b78"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f71e48853bfa39f72c512a146265b78"></a> const <a class="el" href="classhws_1_1_session.html">Session</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a7f71e48853bfa39f72c512a146265b78">session</a> () const </td></tr> <tr class="memdesc:a7f71e48853bfa39f72c512a146265b78"><td class="mdescLeft"> </td><td class="mdescRight">The session instance is required before making any remote call. <br /></td></tr> <tr class="separator:a7f71e48853bfa39f72c512a146265b78"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6efcd5fd29ed6a73b94fb3f27bf75b84"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a6efcd5fd29ed6a73b94fb3f27bf75b84">setSession</a> (const <a class="el" href="classhws_1_1_session.html">Session</a> &<a class="el" href="classhws_1_1_client.html#a7f71e48853bfa39f72c512a146265b78">session</a>)</td></tr> <tr class="separator:a6efcd5fd29ed6a73b94fb3f27bf75b84"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad11b170cf905b0a73b8e55df14c3c923"><td class="memItemLeft" align="right" valign="top">const QString & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#ad11b170cf905b0a73b8e55df14c3c923">hwsPrefixPath</a> () const </td></tr> <tr class="separator:ad11b170cf905b0a73b8e55df14c3c923"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6f108e176a3e656bbcc923e08cd19b59"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a6f108e176a3e656bbcc923e08cd19b59">setHWSPrefixPath</a> (const QString &path)</td></tr> <tr class="separator:a6f108e176a3e656bbcc923e08cd19b59"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a61833a3169d3acdb8eec26c56bdd3a75"><td class="memItemLeft" align="right" valign="top">const QString & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a61833a3169d3acdb8eec26c56bdd3a75">updatesPath</a> () const </td></tr> <tr class="separator:a61833a3169d3acdb8eec26c56bdd3a75"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4ff6a0517474efb3b6ebc34c2a4dfd70"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a4ff6a0517474efb3b6ebc34c2a4dfd70">setUpdatesPath</a> (const QString &path)</td></tr> <tr class="separator:a4ff6a0517474efb3b6ebc34c2a4dfd70"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abb504cddae9ae34ec3b51bd18fe570d2"><td class="memItemLeft" align="right" valign="top">const QString & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#abb504cddae9ae34ec3b51bd18fe570d2">settingsKey</a> () const </td></tr> <tr class="separator:abb504cddae9ae34ec3b51bd18fe570d2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3876d0cdb16e97c2a179c200b9057eb0"><td class="memItemLeft" align="right" valign="top">const QSharedPointer< QSettings > </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#a3876d0cdb16e97c2a179c200b9057eb0">settings</a> () const </td></tr> <tr class="separator:a3876d0cdb16e97c2a179c200b9057eb0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab3c5204b9cb7f42f81b80bc1e541e14e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3c5204b9cb7f42f81b80bc1e541e14e"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#ab3c5204b9cb7f42f81b80bc1e541e14e">setSettings</a> (QSharedPointer< QSettings > <a class="el" href="classhws_1_1_client.html#a3876d0cdb16e97c2a179c200b9057eb0">settings</a>)</td></tr> <tr class="memdesc:ab3c5204b9cb7f42f81b80bc1e541e14e"><td class="mdescLeft"> </td><td class="mdescRight">The current settings handle for the client. <br /></td></tr> <tr class="separator:ab3c5204b9cb7f42f81b80bc1e541e14e"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a> Static Public Attributes</h2></td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr class="memitem:af801ac5b4beded80035c5b7abbafbddc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af801ac5b4beded80035c5b7abbafbddc"></a> static const QString </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_client.html#af801ac5b4beded80035c5b7abbafbddc">DEFAULT_SETTINGS_KEY</a> = "HelixWebServicesSessions"</td></tr> <tr class="memdesc:af801ac5b4beded80035c5b7abbafbddc"><td class="mdescLeft"> </td><td class="mdescRight">The QSettings key we store our values under. <br /></td></tr> <tr class="separator:af801ac5b4beded80035c5b7abbafbddc"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Front end to making requests against the Phoenix web services API. </p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a48dcb2d658f6801d767a3f0510364a2e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">hws::Client::Client </td> <td>(</td> <td class="paramtype">QObject * </td> <td class="paramname"><em>parent</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">QSettings * </td> <td class="paramname"><em>settings</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">QUrl </td> <td class="paramname"><em>url</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Most applications are assumed to use this variation, where the client's session is automatically fetched from settings.</p> <p>The <a class="el" href="classhws_1_1_client.html" title="Front end to making requests against the Phoenix web services API. ">Client</a> will cache the handle to QSettings, and for any subsequent login, will cache the <a class="el" href="classhws_1_1_session.html" title="The HWS Session, that owns our security token. ">Session</a> in a JSON object. </p> </div> </div> <a class="anchor" id="adf3a48890b6c7b8441862f2ab5c956d8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">hws::Client::Client </td> <td>(</td> <td class="paramtype">QObject * </td> <td class="paramname"><em>parent</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">QSettings * </td> <td class="paramname"><em>settings</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">QUrl </td> <td class="paramname"><em>url</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">QString </td> <td class="paramname"><em>settingsKey</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>A variation of the constructor that will use a different settings key than the default. </p> </div> </div> <a class="anchor" id="a7e29becd0de1df4fb76c02c2b0ada0aa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">hws::Client::~Client </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Destroy the client. Any open connections for updates will get automatically disconnected. </p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="adff3879af800f0a5e4e571ff1b862e66"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::clientCreated </td> <td>(</td> <td class="paramtype">RequestErrorPtr </td> <td class="paramname"><em>error</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const QString & </td> <td class="paramname"><em>clientName</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">signal</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the new client name to be used for the project locally.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">error</td><td>Not null if there was a problem with the command. </td></tr> <tr><td class="paramname">clientName</td><td>The temporary client to use. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ae0f3e5457d066f9c40c09aa00f9ff62c"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::clientDeleted </td> <td>(</td> <td class="paramtype">RequestErrorPtr </td> <td class="paramname"><em>error</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">signal</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Callback from deleteClient.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">error</td><td>If this is null, the client was correctly deleted. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="af3215eb7e068a6e9f99e1b30e4c2c336"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::createClientForProject </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>projectId</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const QString & </td> <td class="paramname"><em>hostname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const QString & </td> <td class="paramname"><em>root</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">slot</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Creates a new Perforce client workspace for the user on the client.</p> <p>Right now, Helix Sync projects can only have one branch, so we do not require specifying a branch.</p> <p>All other fields are determined by the web service.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">projectId</td><td>The project ID to create the client for. </td></tr> <tr><td class="paramname">hostname</td><td>The Host field to use in the <a class="el" href="classhws_1_1_client.html" title="Front end to making requests against the Phoenix web services API. ">Client</a> specification </td></tr> <tr><td class="paramname">root</td><td>The local directory to use for the Root field </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a7020b9de5d2479cd40af349ccc96c8ba"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::deleteClient </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>clientName</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">slot</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Remove the client indicated by the name.</p> <p>This is intended to be a client created by the user on the local machine.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">clientName</td><td>The '<a class="el" href="classhws_1_1_client.html" title="Front end to making requests against the Phoenix web services API. ">Client</a>' field which should be returned by the createClientForProject method. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a608791c288c07e9052ff0de1d8fda870"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::fetchAllProjects </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">slot</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Triggers a request to load all SyncProjects accessible to the user</p> <p>Emits a fetchProjectsDone signal when completed. </p> </div> </div> <a class="anchor" id="aa6fd07f571a8463cd4fcf52174b8e4f9"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::fetchMyProjects </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">slot</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Triggers a request to load SyncProjects the user is a member or is the owner of.</p> <p>Emits a fetchProjectsDone signal when completed. </p> </div> </div> <a class="anchor" id="a5edcfa7a2672bd5fd7c1bd43d05ada11"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool hws::Client::hasSession </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>When true, this should have a session instance that was known to work at some point. </p> </div> </div> <a class="anchor" id="ad11b170cf905b0a73b8e55df14c3c923"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const QString & hws::Client::hwsPrefixPath </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>This is a leading path to almost every request in the system. It's configurable since some development environment setups don't have a nice way to handle creating DNS entries, which leads to services sometimes getting mounted locally under subpaths. </p> </div> </div> <a class="anchor" id="ac87a65bae065cbd0b1e1f6abc2c06242"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::logIn </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>user</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const QString & </td> <td class="paramname"><em>password</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">slot</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>This should attempt a login as the user and password to the url that's been configured on this client.</p> <p>IMPORTANT: this will attempt to resolve the hostname of the client itself, which we'll use to generate a host locked ticket. </p> </div> </div> <a class="anchor" id="a8020be14b02290e325e2addb4cd205ad"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::logInDone </td> <td>(</td> <td class="paramtype">RequestErrorPtr </td> <td class="paramname"><em>error</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">SessionPtr </td> <td class="paramname"><em>session</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">signal</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>When the login request has resolved this is called.</p> <p>Authentication errors will result in no session being created. </p> </div> </div> <a class="anchor" id="a6f108e176a3e656bbcc923e08cd19b59"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void hws::Client::setHWSPrefixPath </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>path</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>This is a leading path to almost every request in the system. It's configurable since some development environment setups don't have a nice way to handle creating DNS entries, which leads to services sometimes getting mounted locally under subpaths. </p> </div> </div> <a class="anchor" id="a6efcd5fd29ed6a73b94fb3f27bf75b84"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void hws::Client::setSession </td> <td>(</td> <td class="paramtype">const <a class="el" href="classhws_1_1_session.html">Session</a> & </td> <td class="paramname"><em>session</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>If you have stored a previously used session, you can just assign it to this client instance. </p> </div> </div> <a class="anchor" id="a3876d0cdb16e97c2a179c200b9057eb0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const QSharedPointer<QSettings> hws::Client::settings </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>Returns the current settings handle for the client. If it exists, The settings will store the session data by URL under a particular key. </p> </div> </div> <a class="anchor" id="abb504cddae9ae34ec3b51bd18fe570d2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const QString& hws::Client::settingsKey </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>All stored sessions are saved as a JSON object under this settings key, which is defaulted to "HelixWebServicesSettings".</p> <p>This should be set on construction only. </p> </div> </div> <a class="anchor" id="a4ff6a0517474efb3b6ebc34c2a4dfd70"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void hws::Client::setUpdatesPath </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>path</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Path to the notifications web-socket instance, which is often different from the main prefix path </p> </div> </div> <a class="anchor" id="ad134b0885894fd9be0f30770e36c0a1b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::unwatchProject </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>projectId</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">slot</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>In case the user has just removed a local project reference, let the server know your client is no longer interested in receiving updates. </p> </div> </div> <a class="anchor" id="a61833a3169d3acdb8eec26c56bdd3a75"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const QString & hws::Client::updatesPath </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>Path to the notifications web-socket instance, which is often different from the main prefix path </p> </div> </div> <a class="anchor" id="a948cd4e143d62034afd493c18099c4b7"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::validateSession </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">slot</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Trigger a remote call to the web services instance to validate that the session (and ticket) is still valid.</p> <p>Even if this client has no session, we'll still double check that we can call back to the server. </p> </div> </div> <a class="anchor" id="a6a866b9ad11dedb70f2908da60a68a32"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::validateSessionDone </td> <td>(</td> <td class="paramtype">RequestErrorPtr </td> <td class="paramname"><em>error</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">signal</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Callback after validating a session.</p> <p>The error value indicates a networking or remote system problem.</p> <p>If the session is invalid, the error will not be set. Instead, you should double check the output of <code>client.hasSession()</code>. If that is false, you'll need to sign in again.</p> <p>At this point, if the session is invalid, it will be cleared from any QSettings cachce as well, if the client was initialized with a settings handle. </p> </div> </div> <a class="anchor" id="a4d91ee048f198272f8c311c52ef01b19"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::watchProject </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>projectId</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">slot</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Add a new project to be monitored in the system.</p> <p>Every time you say, create a new project, you should notify the services that the client now has this project. The services will not automatically know that the client is ready for updates. </p> </div> </div> <a class="anchor" id="a856fa48c32f9a08c77be5ef036b0806c"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void hws::Client::watchProjects </td> <td>(</td> <td class="paramtype">const QList< QString > & </td> <td class="paramname"><em>projectIds</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">slot</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>List of projects to be monitored in the system.</p> <p>This should probably be the last step of a typical startup process for client applications. When called, this will start a session with the services layer that will start sending projectUpdated signals.</p> <p>This <em>does</em> require a valid session for use. </p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>hws/<a class="el" href="_client_8h_source.html">Client.h</a></li> <li>hws/Client.cpp</li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Jun 19 2015 16:38:20 for Helix Web Services Client by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.9.1 </small></address> </body> </html>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#9 | 15686 | tjuricek | Removed Qt SDK (will be maintained with Helix Sync), updated README | ||
#8 | 15578 | tjuricek |
Removing QSettings* usage from hws::Client. The way QSettings was being used only is relevant for one connection at a time, and, it didn't seem to work on windows nicely anyway. |
||
#7 | 15544 | tjuricek | Explain that the QSettings handle for hws::Client should only be used on connections you don't specify a P4PORT for. | ||
#6 | 15447 | tjuricek |
Add simple Example application to list "projects" in a HVE instance. Qt's a little weird to follow, so I may have to find a different kind of example to write. It does work, however. |
||
#5 | 15423 | tjuricek |
Revised HWS Qt API. This is a major revision of the API, which removes most of the "typed" data, replacing it with a more generic "executeMethodDone" callback. The main benefit here is to allow the API to interop with different versions of p4d, and not restrict the methods it can call. We may add more helpers in the future. |
||
#4 | 14054 | tjuricek |
Allowing the Qt client to select 'all' vs 'my' projects. Right now, it should default to using "my" projects as a rule. |
||
#3 | 14049 | tjuricek |
Add methods to generate client workspaces for a user. The Qt SDK was updated based on immediate need. Also, add Ruby client SDK documentation to the docs site. Everything is early, but there's *some* reference available at least. |
||
#2 | 14026 | tjuricek | Revise example code on main page of Qt SDK | ||
#1 | 14025 | tjuricek |
Revise Qt SDK to a single 'helix_web_services_client' project. Most references to "Phoenix" have now been removed. Additionally, this is more similar to the other platform client SDKs in Ruby and JavaScript. Documentation via Doxygen is now available, and will be how much of the SDK reference should occur. |