diff options
Diffstat (limited to 'doc/html/index.html')
| -rw-r--r-- | doc/html/index.html | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/doc/html/index.html b/doc/html/index.html index ef483a1..1cdf245 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -88,7 +88,7 @@ $(document).ready(function(){initNavTree('index.html','');}); <div class="textblock"><h1><a class="anchor" id="section_main"></a> NVIDIA GeForce Experience SDK</h1> <ul> -<li>Version: 1.0.168.8a267a87</li> +<li>Version: 1.1.173.5d889305</li> <li>GeForce Experience minimum version: 3.8</li> <li>See <a class="el" href="section_changelog.html">Changelog</a></li> </ul> @@ -122,28 +122,28 @@ Using GfeSDK</h2> <h3><a class="anchor" id="section_example_create"></a> Creation and Release</h3> <h4>C++ Bindings</h4> -<div class="fragment"><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_create_input_params.html">GfeSDK::CreateInputParams</a> inParams;</div><div class="line"> inParams.appName = <span class="stringliteral">"MyGame"</span>;</div><div class="line"> inParams.requiredScopes = { NVGSDK_SCOPE_HIGHLIGHTS, NVGSDK_SCOPE_HIGHLIGHTS_VIDEO, NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT };</div><div class="line"> inParams.pollForCallbacks = <span class="keyword">false</span>;</div><div class="line"></div><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_create_response.html">GfeSDK::CreateResponse</a> response;</div><div class="line"> <a class="code" href="class_gfe_s_d_k_1_1_core.html">GfeSDK::Core</a>* core = <a class="code" href="class_gfe_s_d_k_1_1_core.html#a0cb93acb8b273072cd37348c9b206e0d">GfeSDK::Core::Create</a>(&inParams, &response);</div><div class="line"> <a class="code" href="class_gfe_s_d_k_1_1_highlights.html">GfeSDK::Highlights</a>* highlights = GfeSDK::Highlights::Create(core);</div></div><!-- fragment --><p> // After using GfeSDK</p> -<div class="fragment"><div class="line"> <span class="keyword">delete</span> core;</div></div><!-- fragment --> <h4>C API</h4> -<div class="fragment"><div class="line"> NVGSDK_HANDLE* handle;</div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___create_input_params.html">NVGSDK_CreateInputParams</a> inParams;</div><div class="line"> memset(inParams, 0, <span class="keyword">sizeof</span>(inParams));</div><div class="line"></div><div class="line"> NVGSDK_Scope scopes[] = { NVGSDK_SCOPE_HIGHLIGHTS, NVGSDK_SCOPE_HIGHLIGHTS_VIDEO, NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT };</div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___scope_permission.html">NVGSDK_ScopePermission</a> scopePermissions[3];</div><div class="line"></div><div class="line"> inParams.<a class="code" href="struct_n_v_g_s_d_k___create_input_params.html#ac754df94f208f494a0a339d614bb18f3">appName</a> = <span class="stringliteral">"MyGame"</span>;</div><div class="line"> inParams.<a class="code" href="struct_n_v_g_s_d_k___create_input_params.html#ae0ada093d3d60a2f70226932b1a5b6fb">scopeTable</a> = &scopes[0];</div><div class="line"> inParams.<a class="code" href="struct_n_v_g_s_d_k___create_input_params.html#a8941e0c803ec2f821101cfc55a7f60a3">scopeTableSize</a> = 3;</div><div class="line"> inParams.<a class="code" href="struct_n_v_g_s_d_k___create_input_params.html#a0bd7568c1cb3fad975562055b4581195">pollForCallbacks</a> = <span class="keyword">false</span>;</div><div class="line"></div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___create_response.html">NVGSDK_CreateResponse</a> response;</div><div class="line"> response.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#a9bc3e75a15cf9fcbc1084f2a7fde5a8f">scopePermissionTable</a> = &scopePermissions[0];</div><div class="line"> response.scopePermissionsTableSize = 3;</div><div class="line"></div><div class="line"> <a class="code" href="isdk_8h.html#a95b3999b5808922e29a36375c22014b8">NVGSDK_Create</a>(handle, &inParams, &response);</div></div><!-- fragment --><p> // After using GfeSDK</p> -<div class="fragment"><div class="line"> <a class="code" href="isdk_8h.html#ab63d1f433313209b1febbf5736b61463">NVGSDK_Release</a>(handle);</div></div><!-- fragment --> <h3><a class="anchor" id="section_example_permission"></a> +<div class="fragment"></div><!-- fragment --><p> // After using GfeSDK</p> +<div class="fragment"></div><!-- fragment --> <h4>C API</h4> +<div class="fragment"></div><!-- fragment --><p> // After using GfeSDK</p> +<div class="fragment"></div><!-- fragment --> <h3><a class="anchor" id="section_example_permission"></a> Request Permissions</h3> <p>The Create call will inform the app if one or more scopes require user permission. If so, make this call. It will display the overlay UI.</p> <h4>C++ Bindings</h4> -<div class="fragment"><div class="line"> <span class="comment">// Got GfeSDK::CreateResponse after GfeSDK::Core::Create call</span></div><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_request_permissions_params.html">GfeSDK::RequestPermissionsParams</a> params;</div><div class="line"> <span class="keywordflow">for</span> (<span class="keyword">auto</span>& scopePermission : response.scopePermissions)</div><div class="line"> {</div><div class="line"> <span class="keywordflow">if</span> (scopePermission.permission == NVGSDK_PERMISSION_MUST_ASK)</div><div class="line"> {</div><div class="line"> params.scope.push_back(scopePermission.scope);</div><div class="line"> }</div><div class="line"> }</div><div class="line"> core->RequestPermissions(&params);</div></div><!-- fragment --> <h4>C API</h4> -<div class="fragment"><div class="line"> <span class="comment">// Got NVGSDK_CreateResponse after NVGSDK_Create call</span></div><div class="line"> NVGSDK_Scope scopesToRequest[3];</div><div class="line"> <span class="keywordtype">int</span> n = 0;</div><div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < response.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#a60aec9d469d10e8fe0efd7c010fb96e7">scopePermissionTableSize</a>; ++i)</div><div class="line"> {</div><div class="line"> <span class="keywordflow">if</span> (response.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#a9bc3e75a15cf9fcbc1084f2a7fde5a8f">scopePermissionTable</a>[i].permission == NVGSDK_PERMISSION_MUST_ASK)</div><div class="line"> {</div><div class="line"> scopesToRequest[n++] = response.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#a9bc3e75a15cf9fcbc1084f2a7fde5a8f">scopePermissionTable</a>[i].scope;</div><div class="line"> }</div><div class="line"> }</div><div class="line"></div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___request_permissions_params.html">NVGSDK_RequestPermissionsParams</a> params;</div><div class="line"> params.scopeTable = &scopesToRequest[0];</div><div class="line"> params.scopeTableSize = n;</div><div class="line"></div><div class="line"> <span class="comment">// Will display overlay UI to the user</span></div><div class="line"> <a class="code" href="isdk_8h.html#a3e4b6afcafe9ac91c00a95b7d72305e5">NVGSDK_RequestPermissionsAsync</a>(handle, &params, NULL, NULL);</div></div><!-- fragment --> <h3><a class="anchor" id="section_example_highlightsconfigure"></a> +<div class="fragment"></div><!-- fragment --> <h4>C API</h4> +<div class="fragment"></div><!-- fragment --> <h3><a class="anchor" id="section_example_highlightsconfigure"></a> Configure Highlights</h3> <p>This only needs to happen once ever. It is persistent. It could even happen during game installation.</p> <h4>C++ Bindings</h4> -<div class="fragment"><div class="line"> <span class="comment">// Must have handle to Highlights object via GfeSDK::Highlights::Create()</span></div><div class="line"> HighlightsConfigParams params;</div><div class="line"> params.highlightDefinitions = {</div><div class="line"> {</div><div class="line"> <span class="stringliteral">"highlight1"</span>,</div><div class="line"> <span class="keyword">true</span>,</div><div class="line"> NVGSDK_HIGHLIGHT_TYPE_ACHIEVEMENT,</div><div class="line"> NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_GOOD,</div><div class="line"> {</div><div class="line"> { <span class="stringliteral">"en-US"</span>, <span class="stringliteral">"Highlight One"</span> },</div><div class="line"> { <span class="stringliteral">"es-MX"</span>, <span class="stringliteral">"Resalte Uno"</span> }</div><div class="line"> }</div><div class="line"> },</div><div class="line"> {</div><div class="line"> <span class="stringliteral">"highlight2"</span>,</div><div class="line"> <span class="keyword">true</span>,</div><div class="line"> NVGSDK_HIGHLIGHT_TYPE_MILESTONE | NVGSDK_HIGHLIGHTS_TYPE_STATE_CHANGE,</div><div class="line"> NVGSDK_HIGHLIGHT_SIGNIFICANCE_NEUTRAL,</div><div class="line"> {</div><div class="line"> { <span class="stringliteral">"en-US"</span>, <span class="stringliteral">"Highlight Two"</span> },</div><div class="line"> { <span class="stringliteral">"es-MX"</span>, <span class="stringliteral">"Resalte Dos"</span> }</div><div class="line"> }</div><div class="line"> },</div><div class="line"> };</div><div class="line"> params.defaultLocale = <span class="stringliteral">"en-US"</span>;</div><div class="line"></div><div class="line"> highlights-><a class="code" href="class_gfe_s_d_k_1_1_highlights.html#a8e522535c3393a1911e2bbb65c71eb52">ConfigureAsync</a>(&params);</div></div><!-- fragment --> <h4>C API</h4> -<div class="fragment"><div class="line"> <span class="keywordtype">int</span> <span class="keyword">const</span> NUM_HIGHLIGHTS = 2;</div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___highlight.html">NVGSDK_Highlight</a> highlights[NUM_HIGHLIGHTS];</div><div class="line"> memset(highlights, 0, <span class="keyword">sizeof</span>(<a class="code" href="struct_n_v_g_s_d_k___highlight.html">NVGSDK_Highlight</a> * NUM_HIGHLIGHTS));</div><div class="line"></div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___localized_pair.html">NVGSDK_LocalizedPair</a> highlight1Translation[2] = {</div><div class="line"> { <span class="stringliteral">"en-US"</span>, <span class="stringliteral">"Highlight One"</span> },</div><div class="line"> { <span class="stringliteral">"es-MX"</span>, <span class="stringliteral">"Resalte Uno"</span> }</div><div class="line"> };</div><div class="line"></div><div class="line"> highlights[0].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a1f95d7645df3e535efa830685488ae9b">id</a> = <span class="stringliteral">"highlight1"</span>;</div><div class="line"> highlights[0].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a9e0d5a1ba9081cb7f9b549499af61927">userInterest</a> = <span class="keyword">true</span>;</div><div class="line"> highlights[0].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a1e55e8efeca6cfabc9c68583e24f410b">highlightTags</a> = NVGSDK_HIGHLIGHT_TYPE_ACHIEVEMENT;</div><div class="line"> highlights[0].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3ecee6a0bd80c21b630559fb8ecfc0be">significance</a> = NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_GOOD;</div><div class="line"> highlights[0].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3aa8849a5921b0189c2642840c257247">nameTable</a> = &highlight1Translation[0];</div><div class="line"> highlights[0].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a5522ae0afe385ba7d17afd83d19ed729">nameTableSize</a> = 2;</div><div class="line"></div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___localized_pair.html">NVGSDK_LocalizedPair</a> highlight2Translation[2] = {</div><div class="line"> { <span class="stringliteral">"en-US"</span>, <span class="stringliteral">"Highlight Two"</span> },</div><div class="line"> { <span class="stringliteral">"es-MX"</span>, <span class="stringliteral">"Resalte Dos"</span> }</div><div class="line"> };</div><div class="line"></div><div class="line"> highlights[1].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a1f95d7645df3e535efa830685488ae9b">id</a> = <span class="stringliteral">"highlight2"</span>;</div><div class="line"> highlights[1].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a9e0d5a1ba9081cb7f9b549499af61927">userInterest</a> = <span class="keyword">true</span>;</div><div class="line"> highlights[1].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a1e55e8efeca6cfabc9c68583e24f410b">highlightTags</a> = NVGSDK_HIGHLIGHT_TYPE_MILESTONE | NVGSDK_HIGHLIGHTS_TYPE_STATE_CHANGE;</div><div class="line"> highlights[1].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3ecee6a0bd80c21b630559fb8ecfc0be">significance</a> = NVGSDK_HIGHLIGHT_SIGNIFICANCE_NEUTRAL;</div><div class="line"> highlights[1].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3aa8849a5921b0189c2642840c257247">nameTable</a> = &highlight2Translation[0];</div><div class="line"> highlights[1].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a5522ae0afe385ba7d17afd83d19ed729">nameTableSize</a> = 2;</div><div class="line"></div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___highlight_config_params.html">NVGSDK_HighlightConfigParams</a> params;</div><div class="line"> params.highlightDefinitionTable = &highlights[0];</div><div class="line"> params.highlightTableSize = NUM_HIGHLIGHTS;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___highlight_config_params.html#a7f4f852d4fe97048f20dcdcc401ab82b">defaultLocale</a> = <span class="stringliteral">"en-US"</span>;</div><div class="line"></div><div class="line"> <a class="code" href="ihighlights_8h.html#a0407132e7fd44771370ecfa03fdfce8d">NVGSDK_Highlights_ConfigureAsync</a>(handle, &params, NULL, NULL);</div></div><!-- fragment --> <h3><a class="anchor" id="section_Example_highlights"></a> +<div class="fragment"></div><!-- fragment --> <h4>C API</h4> +<div class="fragment"></div><!-- fragment --> <h3><a class="anchor" id="section_Example_highlights"></a> Groups and Saving Highlights</h3> <h4>C++ Bindings</h4> -<div class="fragment"><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_highlight_open_group_params.html">GfeSDK::HighlightOpenGroupParams</a> params;</div><div class="line"> params.groupId = <span class="stringliteral">"group1"</span>;</div><div class="line"> params.groupDescriptionLocaleTable = {</div><div class="line"> { <span class="stringliteral">"en-US"</span>, <span class="stringliteral">"Group One"</span> },</div><div class="line"> { <span class="stringliteral">"es-MX"</span>, <span class="stringliteral">"Groupa Uno"</span> }</div><div class="line"> };</div><div class="line"></div><div class="line"> highlights->OpenGroupAsync(&params);</div></div><!-- fragment --><div class="fragment"><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_video_highlight_params.html">GfeSDK::VideoHighlightParams</a> params;</div><div class="line"> params.groupId = <span class="stringliteral">"group1"</span>;</div><div class="line"> params.highlightsId = <span class="stringliteral">"highlight1"</span>;</div><div class="line"> params.startDelta = -5000; <span class="comment">// Should be dynamic i.e. start of killstreak</span></div><div class="line"> params.endDetla = 2000;</div><div class="line"></div><div class="line"> highlights->SetVideoHighlightAsync(&params);</div></div><!-- fragment --><div class="fragment"><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_highlight_close_group_params.html">GfeSDK::HighlightCloseGroupParams</a> params;</div><div class="line"> params.groupId = <span class="stringliteral">"group1"</span>;</div><div class="line"> params.destroyHighlights = <span class="keyword">false</span>;</div><div class="line"></div><div class="line"> highlights->CloseGroupAsync(&params);</div></div><!-- fragment --> <h4>C API</h4> -<div class="fragment"><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___highlight_open_group_params.html">NVGSDK_HighlightOpenGroupParams</a> params;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___highlight_open_group_params.html#a3e9f6351540609fc3e853d5a16188da2">groupId</a> = <span class="stringliteral">"group1"</span>;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___highlight_open_group_params.html#a3d06bbfc6586ca5378eedc9a5984d662">groupDescriptionTable</a> = {</div><div class="line"> { <span class="stringliteral">"en-US"</span>, <span class="stringliteral">"Group One"</span> },</div><div class="line"> { <span class="stringliteral">"es-MX"</span>, <span class="stringliteral">"Groupa Uno"</span> }</div><div class="line"> };</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___highlight_open_group_params.html#a7a3c123385683c40bd3a891e7af268bb">groupDescriptionTableSize</a> = 2;</div><div class="line"> NVGSDK_Highlights_OpenGroupAsynchandle, (&params, NULL, NULL);</div></div><!-- fragment --><div class="fragment"><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___video_highlight_params.html">NVGSDK_VideoHighlightParams</a> params;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___video_highlight_params.html#aa332ddd28accd8f72fb17adc378c1267">groupId</a> = <span class="stringliteral">"group1"</span>;</div><div class="line"> params.highlightsId = <span class="stringliteral">"highlight1"</span>;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___video_highlight_params.html#ac526b90af6638fec62174304aa175da1">startDelta</a> = -5000; <span class="comment">// Should be dynamic i.e. start of killstreak</span></div><div class="line"> params.endDetla = 2000;</div><div class="line"></div><div class="line"> <a class="code" href="ihighlights_8h.html#a4812495c6dedfc7cc6b2d3c421c161ed">NVGSDK_Highlights_SetVideoHighlightAsync</a>(handle, &params, NULL, NULL);</div></div><!-- fragment --><div class="fragment"><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___highlight_close_group_params.html">NVGSDK_HighlightCloseGroupParams</a> params;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___highlight_close_group_params.html#a6f1e0e8a5399e868588a83e1c81ad9c3">groupId</a> = <span class="stringliteral">"group1"</span>;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___highlight_close_group_params.html#a3d7eae61163c4616a42569ca8d7785c6">destroyHighlights</a> = <span class="keyword">false</span>;</div><div class="line"></div><div class="line"> <a class="code" href="ihighlights_8h.html#aa3b6190835ada28f4cee015645814e75">NVGSDK_Highlights_CloseGroupAsync</a>(handle, &params, NULL, NULL);</div></div><!-- fragment --> <h3><a class="anchor" id="section_example_summary"></a> +<div class="fragment"></div><!-- fragment --><div class="fragment"></div><!-- fragment --><div class="fragment"></div><!-- fragment --> <h4>C API</h4> +<div class="fragment"></div><!-- fragment --><div class="fragment"></div><!-- fragment --><div class="fragment"></div><!-- fragment --> <h3><a class="anchor" id="section_example_summary"></a> Open Highlight Summary</h3> <h4>C++ Bindings</h4> -<div class="fragment"><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_summary_params.html">GfeSDK::SummaryParams</a> params;</div><div class="line"> params.groupViews = {</div><div class="line"> {</div><div class="line"> <span class="stringliteral">"group1"</span>, 0, 0</div><div class="line"> },</div><div class="line"> {</div><div class="line"> <span class="stringliteral">"group2"</span>, 0, NVGSDK_HIGHLIGHT_SIGNIFICANCE_EXTREMELY_GOOD</div><div class="line"> }</div><div class="line"> };</div><div class="line"></div><div class="line"> highlights->OpenSummaryAsync(&params);</div></div><!-- fragment --> <h4>C API</h4> -<div class="fragment"><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___group_view.html">NVGSDK_GroupView</a> views[2] = {</div><div class="line"> {</div><div class="line"> <span class="stringliteral">"group1"</span>, 0, 0</div><div class="line"> },</div><div class="line"> {</div><div class="line"> <span class="stringliteral">"group2"</span>, 0, NVGSDK_HIGHLIGHT_SIGNIFICANCE_EXTREMELY_GOOD</div><div class="line"> }</div><div class="line"> };</div><div class="line"></div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___summary_params.html">NVGSDK_SummaryParams</a> params;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___summary_params.html#a0a6f4e491c47e1468610f813c61ff4ff">groupSummaryTable</a> = &views[0];</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___summary_params.html#a8fbfd016dc92f631921e738f12ef399d">groupSummaryTableSize</a> = 2;</div><div class="line"></div><div class="line"> <a class="code" href="ihighlights_8h.html#ac6ee1cb402b4476571a79050f61bcd92">NVGSDK_Highlights_OpenSummaryAsync</a>(handle, &params, NULL, NULL);</div></div><!-- fragment --> <h2><a class="anchor" id="section_concepts"></a> +<div class="fragment"></div><!-- fragment --> <h4>C API</h4> +<div class="fragment"></div><!-- fragment --> <h2><a class="anchor" id="section_concepts"></a> Concepts</h2> <p>The GfeSDK is composed of two parts, the client/app, and the backend/server. This distribution contains GfeSDK.dll which represents the client/app part. The end-user downloads GFE onto their machine. The GFE package includes the backend pieces necessary to support the calls coming from the client. See <a class="el" href="index.html#section_version">Versioning</a> for more information regarding this communication.</p> <p>Calls made will be serialized. Therefore, if the app makes two consecutive calls to NVGSDK_Highlights_OpenGroup and then either NVGSDK_Highlights_SetVideoHighlight or NVGSDK_Highlights_SetScreenshotHighlight, before receiving the callback from open group, the set highlight call will function normally. If open group succeeded, then the set highlights calls will succeed as well. If it failed, the set highlights calls will fail, as there will be no valid group to assign them to.</p> |