<!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::Project 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_project.html">Project</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="classhws_1_1_project-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">hws::Project Class Reference</div> </div> </div><!--header--> <div class="contents"> <p>This is the generic project model for Perforce projects. <a href="classhws_1_1_project.html#details">More...</a></p> <p><code>#include <<a class="el" href="_project_8h_source.html">Project.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project_1_1_branch_node.html">BranchNode</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_project_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_project_1_1_view_node.html">ViewNode</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-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:af249f9238d8170c8be3e0e2e07e8980f"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#af249f9238d8170c8be3e0e2e07e8980f">owner</a> () const </td></tr> <tr class="separator:af249f9238d8170c8be3e0e2e07e8980f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a37b9400236382669c5cfb5a399040aa2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a37b9400236382669c5cfb5a399040aa2">setOwner</a> (QString <a class="el" href="classhws_1_1_project.html#af249f9238d8170c8be3e0e2e07e8980f">owner</a>)</td></tr> <tr class="separator:a37b9400236382669c5cfb5a399040aa2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3ff37b6ae124d3befdc69e1491c28e49"><td class="memItemLeft" align="right" valign="top">static const QString </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a3ff37b6ae124d3befdc69e1491c28e49">CONTENT_TYPE</a> = "application/vnd.perforce.project.v1+json"</td></tr> <tr class="separator:a3ff37b6ae124d3befdc69e1491c28e49"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1fc54fc43ca5afc7fb24906fd6e7cd14"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fc54fc43ca5afc7fb24906fd6e7cd14"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a1fc54fc43ca5afc7fb24906fd6e7cd14">Project</a> ()</td></tr> <tr class="memdesc:a1fc54fc43ca5afc7fb24906fd6e7cd14"><td class="mdescLeft"> </td><td class="mdescRight">Create an empty project. <br /></td></tr> <tr class="separator:a1fc54fc43ca5afc7fb24906fd6e7cd14"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a99771eceac4b981292467a45aaeb307b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99771eceac4b981292467a45aaeb307b"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a99771eceac4b981292467a45aaeb307b">Project</a> (const <a class="el" href="classhws_1_1_project.html">Project</a> &p)</td></tr> <tr class="memdesc:a99771eceac4b981292467a45aaeb307b"><td class="mdescLeft"> </td><td class="mdescRight">Copy the project state. <br /></td></tr> <tr class="separator:a99771eceac4b981292467a45aaeb307b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaeb5284aad588448d26cbc43691191d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaeb5284aad588448d26cbc43691191d2"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#aaeb5284aad588448d26cbc43691191d2">~Project</a> ()</td></tr> <tr class="memdesc:aaeb5284aad588448d26cbc43691191d2"><td class="mdescLeft"> </td><td class="mdescRight">Delete the project. <br /></td></tr> <tr class="separator:aaeb5284aad588448d26cbc43691191d2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acd66219cddd6ef4db657b0cdca7ca310"><td class="memItemLeft" align="right" valign="top">QJsonDocument & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#acd66219cddd6ef4db657b0cdca7ca310">document</a> ()</td></tr> <tr class="separator:acd66219cddd6ef4db657b0cdca7ca310"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a41c62668971e8027a6540d66288be935"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41c62668971e8027a6540d66288be935"></a> const QJsonDocument & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a41c62668971e8027a6540d66288be935">document</a> () const </td></tr> <tr class="memdesc:a41c62668971e8027a6540d66288be935"><td class="mdescLeft"> </td><td class="mdescRight">Reference to the underlying JSON document. <br /></td></tr> <tr class="separator:a41c62668971e8027a6540d66288be935"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ace63d2225670d8e57e82dec2fcfeedd5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace63d2225670d8e57e82dec2fcfeedd5"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#ace63d2225670d8e57e82dec2fcfeedd5">setDocument</a> (const QJsonDocument &<a class="el" href="classhws_1_1_project.html#acd66219cddd6ef4db657b0cdca7ca310">document</a>)</td></tr> <tr class="memdesc:ace63d2225670d8e57e82dec2fcfeedd5"><td class="mdescLeft"> </td><td class="mdescRight">The underlying JSON document used to back the project. <br /></td></tr> <tr class="separator:ace63d2225670d8e57e82dec2fcfeedd5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0c88484a07aa16ca29768c66069436b0"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a0c88484a07aa16ca29768c66069436b0">id</a> () const </td></tr> <tr class="separator:a0c88484a07aa16ca29768c66069436b0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac5f49ba7a1a6ae984bff39236f240101"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#ac5f49ba7a1a6ae984bff39236f240101">setId</a> (const QString &<a class="el" href="classhws_1_1_project.html#a0c88484a07aa16ca29768c66069436b0">id</a>)</td></tr> <tr class="separator:ac5f49ba7a1a6ae984bff39236f240101"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a96a18222d6e7626b120131a641b73dd4"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a96a18222d6e7626b120131a641b73dd4">name</a> () const </td></tr> <tr class="separator:a96a18222d6e7626b120131a641b73dd4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a72de99186bc07807f95f9e6840d36885"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a72de99186bc07807f95f9e6840d36885">setName</a> (const QString &<a class="el" href="classhws_1_1_project.html#a96a18222d6e7626b120131a641b73dd4">name</a>)</td></tr> <tr class="separator:a72de99186bc07807f95f9e6840d36885"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5c229122b4baa6b1fad4b3e1064997da"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a5c229122b4baa6b1fad4b3e1064997da">version</a> () const </td></tr> <tr class="separator:a5c229122b4baa6b1fad4b3e1064997da"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a59347008927220f2c3584d4825c485a3"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a59347008927220f2c3584d4825c485a3">description</a> () const </td></tr> <tr class="separator:a59347008927220f2c3584d4825c485a3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a731d1b095092545bb5d0c9fe92abe398"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a731d1b095092545bb5d0c9fe92abe398">setDescription</a> (QString <a class="el" href="classhws_1_1_project.html#a59347008927220f2c3584d4825c485a3">description</a>)</td></tr> <tr class="separator:a731d1b095092545bb5d0c9fe92abe398"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afb75b6e31c9ff7ead17f9e2bdc7b1d47"><td class="memItemLeft" align="right" valign="top">const QList< BranchPtr > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#afb75b6e31c9ff7ead17f9e2bdc7b1d47">branches</a> () const </td></tr> <tr class="separator:afb75b6e31c9ff7ead17f9e2bdc7b1d47"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a68f149c5dd6202800eb41880967acb6b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68f149c5dd6202800eb41880967acb6b"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a68f149c5dd6202800eb41880967acb6b">addBranch</a> (const BranchPtr &branch)</td></tr> <tr class="memdesc:a68f149c5dd6202800eb41880967acb6b"><td class="mdescLeft"> </td><td class="mdescRight">Add a <a class="el" href="classhws_1_1_branch.html" title="The model of branches in basic Projects. ">Branch</a> to the project. <br /></td></tr> <tr class="separator:a68f149c5dd6202800eb41880967acb6b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5795480ff38c8bb393b28e92a19f4ae2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5795480ff38c8bb393b28e92a19f4ae2"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a5795480ff38c8bb393b28e92a19f4ae2">clearBranches</a> ()</td></tr> <tr class="memdesc:a5795480ff38c8bb393b28e92a19f4ae2"><td class="mdescLeft"> </td><td class="mdescRight">Remove all Branches of the project. <br /></td></tr> <tr class="separator:a5795480ff38c8bb393b28e92a19f4ae2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae9e4e52da85c934634c06287a346d99a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9e4e52da85c934634c06287a346d99a"></a> <a class="el" href="classhws_1_1_project.html">Project</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#ae9e4e52da85c934634c06287a346d99a">operator=</a> (const <a class="el" href="classhws_1_1_project.html">Project</a> &p)</td></tr> <tr class="memdesc:ae9e4e52da85c934634c06287a346d99a"><td class="mdescLeft"> </td><td class="mdescRight">Copy project state from an existing <a class="el" href="classhws_1_1_project.html" title="This is the generic project model for Perforce projects. ">Project</a>. <br /></td></tr> <tr class="separator:ae9e4e52da85c934634c06287a346d99a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7f9f54f277a30acf64a9c4e6caa11620"><td class="memItemLeft" align="right" valign="top">QJsonObject </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#a7f9f54f277a30acf64a9c4e6caa11620">extensions</a> () const </td></tr> <tr class="separator:a7f9f54f277a30acf64a9c4e6caa11620"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acd8d6c9361bd4ce97f8d0b2bd6a15960"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd8d6c9361bd4ce97f8d0b2bd6a15960"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classhws_1_1_project.html#acd8d6c9361bd4ce97f8d0b2bd6a15960">setExtensions</a> (QJsonObject <a class="el" href="classhws_1_1_project.html#a7f9f54f277a30acf64a9c4e6caa11620">extensions</a>)</td></tr> <tr class="memdesc:acd8d6c9361bd4ce97f8d0b2bd6a15960"><td class="mdescLeft"> </td><td class="mdescRight">Set the block of all extensions. <br /></td></tr> <tr class="separator:acd8d6c9361bd4ce97f8d0b2bd6a15960"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>This is the generic project model for Perforce projects. </p> <p>For Helix Sync, you likely only need a subset of this functionality, which is provided by the <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> class that acts as a facade to this interface.</p> <p>This model maps fairly directly to the JSON structure, which will allow for the client code to access most of the features of our data definition.</p> <p>The JSON document underneath is exposed, just in case your applications want to make use of a custom extension point.</p> <p>For most of the accessor methods, if no value has been set, they will return an empty string. </p> </div><h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="afb75b6e31c9ff7ead17f9e2bdc7b1d47"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const QList< BranchPtr > & hws::Project::branches </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>The branches of a project. There should be at least one. For Helix Sync, there is only one. </p> </div> </div> <a class="anchor" id="a59347008927220f2c3584d4825c485a3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QString hws::Project::description </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>This is just a string indicating a 'descriptive field'.</p> <p>This can contain multiple lines. There is no other formatting system required by this string, however. </p> </div> </div> <a class="anchor" id="acd66219cddd6ef4db657b0cdca7ca310"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QJsonDocument & hws::Project::document </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>The underlying JSON document used to back the project.</p> <p>Ideally, this is for adding additional extension types to the base types defined by Perforce. </p> </div> </div> <a class="anchor" id="a7f9f54f277a30acf64a9c4e6caa11620"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QJsonObject hws::Project::extensions </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>The block of generic extensions, which generally map a MIME-style content type to a JSON object structure. </p> </div> </div> <a class="anchor" id="a0c88484a07aa16ca29768c66069436b0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QString hws::Project::id </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>The ID of a project is a unique string that should only contain lowercase ASCII letters, numbers, and underscores.</p> <p>We'd like to be able to safely use this ID as folders in a URI path, or a Perforce view specification, without much hassle. </p> </div> </div> <a class="anchor" id="a96a18222d6e7626b120131a641b73dd4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QString hws::Project::name </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>The project name is the basic 'display name' we've stored.</p> <p>Keep in mind this value may be slightly different then the mounted directory name on the local filesystem. It may be possible for projects with the same name to be mounted by a user. </p> </div> </div> <a class="anchor" id="af249f9238d8170c8be3e0e2e07e8980f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">QString hws::Project::owner </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>A Perforce user ID (or group ID) that should be considered the maintaining project owner. </p> </div> </div> <a class="anchor" id="a731d1b095092545bb5d0c9fe92abe398"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void hws::Project::setDescription </td> <td>(</td> <td class="paramtype">QString </td> <td class="paramname"><em>description</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>This is just a string indicating a 'descriptive field'.</p> <p>This can contain multiple lines. There is no other formatting system required by this string, however. </p> </div> </div> <a class="anchor" id="ac5f49ba7a1a6ae984bff39236f240101"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void hws::Project::setId </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>id</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>The ID of a project is a unique string that should only contain lowercase ASCII letters, numbers, and underscores.</p> <p>We'd like to be able to safely use this ID as folders in a URI path, or a Perforce view specification, without much hassle. </p> </div> </div> <a class="anchor" id="a72de99186bc07807f95f9e6840d36885"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void hws::Project::setName </td> <td>(</td> <td class="paramtype">const QString & </td> <td class="paramname"><em>name</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>The project name is the basic 'display name' we've stored.</p> <p>Keep in mind this value may be slightly different then the mounted directory name on the local filesystem. It may be possible for projects with the same name to be mounted by a user. </p> </div> </div> <a class="anchor" id="a37b9400236382669c5cfb5a399040aa2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void hws::Project::setOwner </td> <td>(</td> <td class="paramtype">QString </td> <td class="paramname"><em>owner</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>A Perforce user ID (or group ID) that should be considered the maintaining project owner. </p> </div> </div> <a class="anchor" id="a5c229122b4baa6b1fad4b3e1064997da"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int hws::Project::version </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </div><div class="memdoc"> <p>Projects can have version numbers, which should be non-zero if the underlying system supports versioning.</p> <p>If versioning isn't supported, this number may be less than 0. </p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="a3ff37b6ae124d3befdc69e1491c28e49"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const QString hws::Project::CONTENT_TYPE = "application/vnd.perforce.project.v1+json"</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>The supported content type we model by this object. This can be reported by the API to the web service to indicate what the API supports.</p> <p>Note that the embedded 'extensions' have separate Content-Types. </p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li>hws/<a class="el" href="_project_8h_source.html">Project.h</a></li> <li>hws/Project.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 | |
---|---|---|---|---|---|
#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. |