<!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/Session.h Source File</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><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><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="files.html"><span>File List</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"><a class="el" href="dir_df4b35d643e8581cc301a008445d7803.html">hws</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">Session.h</div> </div> </div><!--header--> <div class="contents"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef __HWS_SESSION_H__</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define __HWS_SESSION_H__</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include <QByteArray></span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include <QJsonDocument></span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include <QString></span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include <QSharedPointer></span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <QUrl></span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <QDebug></span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="keyword">namespace </span><a class="code" href="namespacehws.html">hws</a></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> {</div> <div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="classhws_1_1_session.html"> 22</a></span>  <span class="keyword">class </span><a class="code" href="classhws_1_1_session.html">Session</a></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  {</div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <a class="code" href="classhws_1_1_session.html#a03378976af7f8bff08210df29683c4f8">Session</a>();</div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classhws_1_1_session.html#a03378976af7f8bff08210df29683c4f8">Session</a>(<span class="keyword">const</span> <a class="code" href="classhws_1_1_session.html">Session</a> & s);</div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="code" href="classhws_1_1_session.html#a42c6d4ccbd2aec5f37890e666d7c4a18">~Session</a>();</div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="classhws_1_1_session.html">Session</a> & <a class="code" href="classhws_1_1_session.html#a281479ea5038543fe1dcbc23483b6bdb">operator=</a>(<span class="keyword">const</span> <a class="code" href="classhws_1_1_session.html">Session</a> & s);</div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">const</span> QUrl & <a class="code" href="classhws_1_1_session.html#a921cad1f5e8ffcafff080d69b3a95da0">url</a>() <span class="keyword">const</span>;</div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordtype">void</span> <a class="code" href="classhws_1_1_session.html#acf224543a66a23d1683047816cb73758">setUrl</a>(<span class="keyword">const</span> QUrl & url);</div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">const</span> QString & <a class="code" href="classhws_1_1_session.html#ad9d445d6f576340b04469bee6633e78f">user</a>() <span class="keyword">const</span>;</div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordtype">void</span> <a class="code" href="classhws_1_1_session.html#af0b0bb618c362db186e30327cd2a6ca8">setUser</a>(<span class="keyword">const</span> QString & user);</div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">const</span> QString & <a class="code" href="classhws_1_1_session.html#a9f35790a3ebabeb334019f861d75e2e1">token</a>() <span class="keyword">const</span>;</div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordtype">void</span> <a class="code" href="classhws_1_1_session.html#af41bdd9bc108e45a8f52fdb99e308ba2">setToken</a>(<span class="keyword">const</span> QString & token);</div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">const</span> QString & <a class="code" href="classhws_1_1_session.html#a0f4e8a74610d6b59159bf6f7f952f031">p4Ticket</a>() <span class="keyword">const</span>;</div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordtype">void</span> <a class="code" href="classhws_1_1_session.html#ad94c071f56054f877e45f7a76ad0f872">setP4Ticket</a>(<span class="keyword">const</span> QString & ticket);</div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div> <div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classhws_1_1_session.html#afc9af6a7b3ebc4e297c1eb5f0aa939ef"> 64</a></span>  QString <a class="code" href="classhws_1_1_session.html#afc9af6a7b3ebc4e297c1eb5f0aa939ef">toString</a>()</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">return</span> QString(<span class="stringliteral">"Session [url=%1] [user=%2] [token=%3] [p4Ticket=%4]"</span>)</div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  .arg(mUrl.toString())</div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  .arg(mUser)</div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  .arg(mToken)</div> <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  .arg(mTicket);</div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keyword">private</span>:</div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  QUrl mUrl;</div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  QString mUser;</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  QString mToken;</div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  QString mTicket;</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  };</div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">typedef</span> QSharedPointer<Session> SessionPtr;</div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span> }</div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor">#endif // __HWS_SESSION_H__</span></div> <div class="ttc" id="classhws_1_1_session_html_af0b0bb618c362db186e30327cd2a6ca8"><div class="ttname"><a href="classhws_1_1_session.html#af0b0bb618c362db186e30327cd2a6ca8">hws::Session::setUser</a></div><div class="ttdeci">void setUser(const QString &user)</div><div class="ttdoc">Set the Perforce login name. </div><div class="ttdef"><b>Definition:</b> Session.cpp:53</div></div> <div class="ttc" id="namespacehws_html"><div class="ttname"><a href="namespacehws.html">hws</a></div><div class="ttdef"><b>Definition:</b> hws.h:61</div></div> <div class="ttc" id="classhws_1_1_session_html"><div class="ttname"><a href="classhws_1_1_session.html">hws::Session</a></div><div class="ttdoc">The HWS Session, that owns our security token. </div><div class="ttdef"><b>Definition:</b> Session.h:22</div></div> <div class="ttc" id="classhws_1_1_session_html_a921cad1f5e8ffcafff080d69b3a95da0"><div class="ttname"><a href="classhws_1_1_session.html#a921cad1f5e8ffcafff080d69b3a95da0">hws::Session::url</a></div><div class="ttdeci">const QUrl & url() const </div><div class="ttdef"><b>Definition:</b> Session.cpp:38</div></div> <div class="ttc" id="classhws_1_1_session_html_a0f4e8a74610d6b59159bf6f7f952f031"><div class="ttname"><a href="classhws_1_1_session.html#a0f4e8a74610d6b59159bf6f7f952f031">hws::Session::p4Ticket</a></div><div class="ttdeci">const QString & p4Ticket() const </div><div class="ttdef"><b>Definition:</b> Session.cpp:68</div></div> <div class="ttc" id="classhws_1_1_session_html_a42c6d4ccbd2aec5f37890e666d7c4a18"><div class="ttname"><a href="classhws_1_1_session.html#a42c6d4ccbd2aec5f37890e666d7c4a18">hws::Session::~Session</a></div><div class="ttdeci">~Session()</div><div class="ttdoc">Typical destructor. </div><div class="ttdef"><b>Definition:</b> Session.cpp:24</div></div> <div class="ttc" id="classhws_1_1_session_html_a03378976af7f8bff08210df29683c4f8"><div class="ttname"><a href="classhws_1_1_session.html#a03378976af7f8bff08210df29683c4f8">hws::Session::Session</a></div><div class="ttdeci">Session()</div><div class="ttdoc">New empty session. </div><div class="ttdef"><b>Definition:</b> Session.cpp:8</div></div> <div class="ttc" id="classhws_1_1_session_html_acf224543a66a23d1683047816cb73758"><div class="ttname"><a href="classhws_1_1_session.html#acf224543a66a23d1683047816cb73758">hws::Session::setUrl</a></div><div class="ttdeci">void setUrl(const QUrl &url)</div><div class="ttdoc">Set the Helix Web Services URL. </div><div class="ttdef"><b>Definition:</b> Session.cpp:43</div></div> <div class="ttc" id="classhws_1_1_session_html_a9f35790a3ebabeb334019f861d75e2e1"><div class="ttname"><a href="classhws_1_1_session.html#a9f35790a3ebabeb334019f861d75e2e1">hws::Session::token</a></div><div class="ttdeci">const QString & token() const </div><div class="ttdoc">The Phoenix services security token that's used by all web calls. </div><div class="ttdef"><b>Definition:</b> Session.cpp:58</div></div> <div class="ttc" id="classhws_1_1_session_html_af41bdd9bc108e45a8f52fdb99e308ba2"><div class="ttname"><a href="classhws_1_1_session.html#af41bdd9bc108e45a8f52fdb99e308ba2">hws::Session::setToken</a></div><div class="ttdeci">void setToken(const QString &token)</div><div class="ttdoc">Set the security token used for authenticating web calls. </div><div class="ttdef"><b>Definition:</b> Session.cpp:63</div></div> <div class="ttc" id="classhws_1_1_session_html_ad9d445d6f576340b04469bee6633e78f"><div class="ttname"><a href="classhws_1_1_session.html#ad9d445d6f576340b04469bee6633e78f">hws::Session::user</a></div><div class="ttdeci">const QString & user() const </div><div class="ttdoc">The Perforce login associated with this session. </div><div class="ttdef"><b>Definition:</b> Session.cpp:48</div></div> <div class="ttc" id="classhws_1_1_session_html_a281479ea5038543fe1dcbc23483b6bdb"><div class="ttname"><a href="classhws_1_1_session.html#a281479ea5038543fe1dcbc23483b6bdb">hws::Session::operator=</a></div><div class="ttdeci">Session & operator=(const Session &s)</div><div class="ttdoc">Copy session state from an existing session. </div><div class="ttdef"><b>Definition:</b> Session.cpp:28</div></div> <div class="ttc" id="classhws_1_1_session_html_ad94c071f56054f877e45f7a76ad0f872"><div class="ttname"><a href="classhws_1_1_session.html#ad94c071f56054f877e45f7a76ad0f872">hws::Session::setP4Ticket</a></div><div class="ttdeci">void setP4Ticket(const QString &ticket)</div><div class="ttdoc">Set the P4 ticket to be used by the client. </div><div class="ttdef"><b>Definition:</b> Session.cpp:73</div></div> <div class="ttc" id="classhws_1_1_session_html_afc9af6a7b3ebc4e297c1eb5f0aa939ef"><div class="ttname"><a href="classhws_1_1_session.html#afc9af6a7b3ebc4e297c1eb5f0aa939ef">hws::Session::toString</a></div><div class="ttdeci">QString toString()</div><div class="ttdoc">Debugging representation of the Session. </div><div class="ttdef"><b>Definition:</b> Session.h:64</div></div> </div><!-- fragment --></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. |