diff options
| author | Dave Clark <[email protected]> | 2018-03-08 15:12:56 -0500 |
|---|---|---|
| committer | Dave Clark <[email protected]> | 2018-03-08 15:12:56 -0500 |
| commit | 1f9ad132c6d6288d9a842120c05a1a4431800e1c (patch) | |
| tree | 6b9e178c558d1055b1cc4d0d6ab989ee3fc76448 /doc/html | |
| parent | Update CHANGELOG.md (diff) | |
| download | gfesdk-1f9ad132c6d6288d9a842120c05a1a4431800e1c.tar.xz gfesdk-1f9ad132c6d6288d9a842120c05a1a4431800e1c.zip | |
Push GfeSDK 1.1.191
Plus documentation updates
Diffstat (limited to 'doc/html')
| -rw-r--r-- | doc/html/_c_h_a_n_g_e_l_o_g_8md_source.html | 2 | ||||
| -rw-r--r-- | doc/html/config_8h_source.html | 2 | ||||
| -rw-r--r-- | doc/html/gfe3__product__version_8h_source.html | 2 | ||||
| -rw-r--r-- | doc/html/index.html | 6 | ||||
| -rw-r--r-- | doc/html/md__c_1_u_workspace_dev_sdkwinauto_doc__c_h_a_n_g_e_l_o_g.html | 173 | ||||
| -rw-r--r-- | doc/html/navtreedata.js | 2 | ||||
| -rw-r--r-- | doc/html/navtreeindex0.js | 2 | ||||
| -rw-r--r-- | doc/html/pages.html | 2 | ||||
| -rw-r--r-- | doc/html/search/all_1.js | 2 | ||||
| -rw-r--r-- | doc/html/search/pages_0.js | 2 |
10 files changed, 184 insertions, 11 deletions
diff --git a/doc/html/_c_h_a_n_g_e_l_o_g_8md_source.html b/doc/html/_c_h_a_n_g_e_l_o_g_8md_source.html index 5f90a9f..eccca5a 100644 --- a/doc/html/_c_h_a_n_g_e_l_o_g_8md_source.html +++ b/doc/html/_c_h_a_n_g_e_l_o_g_8md_source.html @@ -85,7 +85,7 @@ $(document).ready(function(){initNavTree('_c_h_a_n_g_e_l_o_g_8md.html','');}); <div class="title">C:/u/workspace/dev/sdkwinauto/doc/CHANGELOG.md</div> </div> </div><!--header--> <div class="contents"> -<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> # Changelog {#section_changelog}</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> ## NVIDIA GfeSDK 1.1 (2018-02-28)</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> ### Improvements</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> * **Documentation** Top level documentation improvements</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> * **Buildable Sample** Include a simple DXUT buildable sample in the distribution, demonstrating API calls</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> * **Spectre/Meltdown** Compile with /QSpectre protection</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> * **Assets** Add final assets and image guide</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> ### Bug Fixes</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> * **Fix Crash** Fix race condition on startup</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> ## NVIDIA GfeSDK 1.1 (2018-01-22)</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> ### API Changes</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> * **SDK version incremented to 1.1** Allows old SDK clients to work with upcoming 3.13 GFE</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> * **Highlights Config parameters validation** Rejects Highlights of invalid type and significance</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> ## NVIDIA GfeSDK 1.0 (2018-01-16)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> ### Features for GFE 3.13+</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> * **UWP Support** Add support to Universal Windows Platform games</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> * **Target PID** Add support for whitelisted apps to record another process's PID</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> ### API Changes</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> * **Target PID** Added to NVGSDK_Create call</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> * **Unannounced Highlight Type** To prevent showing Highlights notifications for certain applications</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> ### Improvements</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> * **UWP Sample App** Add a new sample MarbleMaze app that demostrates a full Highlights integration</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> ### Bug Fixes</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> * **Fix Crash** Was occasionally crashing when communication with the backend could not be established</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> ## NVIDIA GfeSDK 1.0 (2017-08-01)</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> ### API Changes</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> * **Timeout:** Was returning NVGSDK_ERR_GENERIC when IPC call timed now. Now returning NVGSDK_ERR_IPC_FAILED</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> * **windows.h:** Removed windows.h from public includes</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> * **globals:** Removed macros from global namespace</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> * **stdint:** Standardize on stdint types</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> * **stdbool:** Use stdbool in C API instead of integer 0/1</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> * **namespace:** Renamed namespace from gfesdk to GfeSDK, and wrapped C API in namespace when using C++ bindings</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> * **Highlights split:** Split all Highlights features into their own headers</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> * **C++ Bindings RAII:** Update C++ bindings to follow recognized C++ idioms</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> * **package structure:** Standardize package structure to look like other GameWorks packages</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> * **Typed Callbacks:** Return typed callback data instead of void*</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> * **Naming:** Match naming standard to other GameWorks packages</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> ### Improvements</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> * **Thread Model**: Improve thread model. Prevent callbacks from occurring after Release. Allow Polling of callbacks</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> * **Documentation**: Improved and expanded documentation</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> ### Bug Fixes</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> * **Whitelist:** Fix error causing ShadowPlay to not whitelist game correctly.</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> * **Fix crash:** Was crashing when the same game ran twice.</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> * **Input validation:** Added input validation to return an error for C++ create instead of crash</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> * **Timeout return value:** Was returning NVGSDK_ERR_GENERIC instead of NVGSDK_ERR_IPC_FAILED</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> ### Features for GFE 3.9+</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> * **In-Game Overlay Notification:** Notify the app when the in-game overlay opens or closes.</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> ## NVIDIA GfeSDK 1.0 (2017-07-10)</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> ### Features for GFE 3.8+</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> * **ShadowPlay Highlights** Help Gamers automatically capture their most exciting gaming moments.</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div></div><!-- fragment --></div><!-- contents --> +<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> # Changelog</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> ## NVIDIA GfeSDK 1.1 (2018-03-08)</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> ### Improvements</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> * **Buildable Sample** Fix release configurations of sample, and fix compiler errors</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> </div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> ## NVIDIA GfeSDK 1.1 (2018-02-28)</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> ### Improvements</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> * **Documentation** Top level documentation improvements</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> * **Buildable Sample** Include a simple DXUT buildable sample in the distribution, demonstrating API calls</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> * **Spectre/Meltdown** Compile with /Qspectre protection</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> * **Assets** Add final assets and image guide</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> ### Bug Fixes</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> * **Fix Crash** Fix race condition on startup</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> ## NVIDIA GfeSDK 1.1 (2018-01-22)</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> ### API Changes</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> * **SDK version incremented to 1.1** Allows old SDK clients to work with upcoming 3.13 GFE</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> * **Highlights Config parameters validation** Rejects Highlights of invalid type and significance</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> ## NVIDIA GfeSDK 1.0 (2018-01-16)</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> ### Features for GFE 3.13+</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> * **Target PID** Add support for whitelisted apps to record another process's PID</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> ### API Changes</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> * **Target PID** Added to NVGSDK_Create call</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> * **Unannounced Highlight Type** To prevent showing Highlights notifications for certain applications</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> ### Bug Fixes</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> * **Fix Crash** Was occasionally crashing when communication with the backend could not be established</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> ## NVIDIA GfeSDK 1.0 (2017-08-01)</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> ### API Changes</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> * **Timeout:** Was returning NVGSDK_ERR_GENERIC when IPC call timed now. Now returning NVGSDK_ERR_IPC_FAILED</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> * **windows.h:** Removed windows.h from public includes</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> * **globals:** Removed macros from global namespace</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> * **stdint:** Standardize on stdint types</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> * **stdbool:** Use stdbool in C API instead of integer 0/1</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> * **namespace:** Renamed namespace from gfesdk to GfeSDK, and wrapped C API in namespace when using C++ bindings</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> * **Highlights split:** Split all Highlights features into their own headers</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> * **C++ Bindings RAII:** Update C++ bindings to follow recognized C++ idioms</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> * **package structure:** Standardize package structure to look like other GameWorks packages</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> * **Typed Callbacks:** Return typed callback data instead of void*</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> * **Naming:** Match naming standard to other GameWorks packages</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> ### Improvements</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> * **Thread Model**: Improve thread model. Prevent callbacks from occurring after Release. Allow Polling of callbacks</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> * **Documentation**: Improved and expanded documentation</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> ### Bug Fixes</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> * **Whitelist:** Fix error causing ShadowPlay to not whitelist game correctly.</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> * **Fix crash:** Was crashing when the same game ran twice.</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> * **Input validation:** Added input validation to return an error for C++ create instead of crash</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> * **Timeout return value:** Was returning NVGSDK_ERR_GENERIC instead of NVGSDK_ERR_IPC_FAILED</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> ### Features for GFE 3.9+</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> * **In-Game Overlay Notification:** Notify the app when the in-game overlay opens or closes.</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> ## NVIDIA GfeSDK 1.0 (2017-07-10)</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> ### Features for GFE 3.8+</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> * **ShadowPlay Highlights** Help Gamers automatically capture their most exciting gaming moments.</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div></div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- HTML footer for doxygen 1.8.12--> <!-- start footer part --> diff --git a/doc/html/config_8h_source.html b/doc/html/config_8h_source.html index fc4dbcc..80d9521 100644 --- a/doc/html/config_8h_source.html +++ b/doc/html/config_8h_source.html @@ -85,7 +85,7 @@ $(document).ready(function(){initNavTree('config_8h_source.html','');}); <div class="title">config.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="comment">/* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * NVIDIA CORPORATION and its licensors retain all intellectual property</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * and proprietary rights in and to this software, related documentation</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * and any modifications thereto. Any use, reproduction, disclosure or</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * license agreement from NVIDIA CORPORATION is strictly prohibited.</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> */</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="comment">// Warning: This file is generated. Do not edit</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="preprocessor">#ifndef _NVGSDK_CONFIG_H_</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define _NVGSDK_CONFIG_H_</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "gfe3_product_version.h"</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#define NVGSDK_PROJECT_NAME "GfeSDK"</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#define NVGSDK_VERSION_MAJOR 1</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#define NVGSDK_VERSION_MINOR 1</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#define NVGSDK_BUILD_NUMBER 186</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#define NVGSDK_BUILD_HASH 6007c22a</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#define NVGSDK_BUILD_HASH_STR "6007c22a"</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#endif // _NVGSDK_CONFIG_H_</span></div></div><!-- fragment --></div><!-- contents --> +<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * NVIDIA CORPORATION and its licensors retain all intellectual property</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * and proprietary rights in and to this software, related documentation</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * and any modifications thereto. Any use, reproduction, disclosure or</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * distribution of this software and related documentation without an express</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * license agreement from NVIDIA CORPORATION is strictly prohibited.</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> */</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="comment">// Warning: This file is generated. Do not edit</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="preprocessor">#ifndef _NVGSDK_CONFIG_H_</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define _NVGSDK_CONFIG_H_</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "gfe3_product_version.h"</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#define NVGSDK_PROJECT_NAME "GfeSDK"</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#define NVGSDK_VERSION_MAJOR 1</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#define NVGSDK_VERSION_MINOR 1</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#define NVGSDK_BUILD_NUMBER 191</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#define NVGSDK_BUILD_HASH c04488e1</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#define NVGSDK_BUILD_HASH_STR "c04488e1"</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#endif // _NVGSDK_CONFIG_H_</span></div></div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- HTML footer for doxygen 1.8.12--> <!-- start footer part --> diff --git a/doc/html/gfe3__product__version_8h_source.html b/doc/html/gfe3__product__version_8h_source.html index 6f36b74..76de5d4 100644 --- a/doc/html/gfe3__product__version_8h_source.html +++ b/doc/html/gfe3__product__version_8h_source.html @@ -85,7 +85,7 @@ $(document).ready(function(){initNavTree('gfe3__product__version_8h_source.html' <div class="title">gfe3_product_version.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="comment">//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// GFE3 product version: </span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// - A.B.XY.N, if X > 0</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// - A.B.Y.N, otherwise</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">//</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// A - Major release version.</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// B - Minor release version.</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// X - _dev to _rel_next rebase counter.</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// Y - _rel_next to _rel rebase counter.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// N - Build counter.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_MAJOR 3</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_MINOR 14</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_DEV_REBASE 0</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_RNEXT_REBASE 0</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_BUILD 30</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// Composite version values. We don't concatenate them here automatically because</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// (a) one can't use L-based wchar_t conversion with preprocessor-concatenated terminals; and</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// (b) some build scripts rely upon the explicit value for NVIDIA_GFE3_VERSION / NVIDIA_GFE3_VERSION_STRING_DOT</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">//</span></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="comment">// Format: A,B,XY,N</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION 3,14,0,30</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// Format: A.B.XY.N</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_DOT 3.14.0.30</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">// Format: "A.B.XY.N"</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_STRING "3.14.0.30"</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">//</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">// Some common strings</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">//</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#define NVIDIA_GFE3_PRODUCT_NAME "NVIDIA GeForce Experience"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">//</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// These values are taken from nvVer.h</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">//</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#define NV_COMPANY_NAME_STRING_SHORT "NVIDIA"</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#define NV_COMPANY_NAME_STRING_FULL "NVIDIA Corporation"</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#define NV_COMPANY_NAME_STRING NV_COMPANY_NAME_STRING_FULL</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#define NV_COPYRIGHT_YEAR "2017"</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define NV_COPYRIGHT "(C) " NV_COPYRIGHT_YEAR " " NV_COMPANY_NAME_STRING_FULL ". All rights reserved." // Please do not use the non-ascii copyright symbol for (C).</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div></div><!-- fragment --></div><!-- contents --> +<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// GFE3 product version: </span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// - A.B.XY.N, if X > 0</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// - A.B.Y.N, otherwise</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">//</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// A - Major release version.</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// B - Minor release version.</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// X - _dev to _rel_next rebase counter.</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// Y - _rel_next to _rel rebase counter.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// N - Build counter.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">//</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_MAJOR 3</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_MINOR 14</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_DEV_REBASE 0</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_RNEXT_REBASE 0</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_BUILD 39</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// Composite version values. We don't concatenate them here automatically because</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// (a) one can't use L-based wchar_t conversion with preprocessor-concatenated terminals; and</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// (b) some build scripts rely upon the explicit value for NVIDIA_GFE3_VERSION / NVIDIA_GFE3_VERSION_STRING_DOT</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">//</span></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="comment">// Format: A,B,XY,N</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION 3,14,0,39</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// Format: A.B.XY.N</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_DOT 3.14.0.39</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">// Format: "A.B.XY.N"</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#define NVIDIA_GFE3_VERSION_STRING "3.14.0.39"</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">//</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">// Some common strings</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">//</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#define NVIDIA_GFE3_PRODUCT_NAME "NVIDIA GeForce Experience"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">//</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// These values are taken from nvVer.h</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">//</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#define NV_COMPANY_NAME_STRING_SHORT "NVIDIA"</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#define NV_COMPANY_NAME_STRING_FULL "NVIDIA Corporation"</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#define NV_COMPANY_NAME_STRING NV_COMPANY_NAME_STRING_FULL</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#define NV_COPYRIGHT_YEAR "2017"</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#define NV_COPYRIGHT "(C) " NV_COPYRIGHT_YEAR " " NV_COMPANY_NAME_STRING_FULL ". All rights reserved." // Please do not use the non-ascii copyright symbol for (C).</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div></div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- HTML footer for doxygen 1.8.12--> <!-- start footer part --> diff --git a/doc/html/index.html b/doc/html/index.html index b8e54b8..9a665c8 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -91,14 +91,14 @@ $(document).ready(function(){initNavTree('index.html','');}); <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> createParams;</div><div class="line"> createParams.appName = <span class="stringliteral">"gfesdk_dx_sample"</span>; <span class="comment">// appName will only be used/visible if GFE cannot identify your game</span></div><div class="line"> createParams.pollForCallbacks = <span class="keyword">true</span>; <span class="comment">// We will poll for callbacks in order to execute callbacks from game loop</span></div><div class="line"> createParams.requiredScopes = {</div><div class="line"> GfeSDK::NVGSDK_SCOPE_HIGHLIGHTS,</div><div class="line"> GfeSDK::NVGSDK_SCOPE_HIGHLIGHTS_VIDEO,</div><div class="line"> GfeSDK::NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT</div><div class="line"> };</div><div class="line"> createParams.notificationCallback = std::bind(&HighlightsWrapper::OnNotification, <span class="keyword">this</span>, _1, _2);</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>* gfesdkCore = <a class="code" href="class_gfe_s_d_k_1_1_core.html#a0cb93acb8b273072cd37348c9b206e0d">GfeSDK::Core::Create</a>(createParams, response);</div><div class="line"> <span class="keywordflow">if</span> (GfeSDK::NVGSDK_SUCCEEDED(response.returnCode))</div><div class="line"> {</div><div class="line"> <span class="comment">// Valid handle has been returned</span></div><div class="line"> LOG(<span class="stringliteral">"Success: %s"</span>, GfeSDK::NVGSDK_RetCodeToString(response.returnCode));</div><div class="line"> LOG(<span class="stringliteral">"PC is running GFE version %s"</span>, response.nvidiaGfeVersion.c_str());</div><div class="line"> LOG(<span class="stringliteral">"PC is running GfeSDK version %d.%d"</span>, response.versionMajor, response.versionMinor);</div><div class="line"> <span class="keywordflow">switch</span> (response.returnCode)</div><div class="line"> {</div><div class="line"> <span class="keywordflow">case</span> GfeSDK::NVGSDK_SUCCESS_VERSION_OLD_GFE:</div><div class="line"> LOG(<span class="stringliteral">"Compatible, but the user should update to the latest version of GFE."</span>);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> GfeSDK::NVGSDK_SUCCESS_VERSION_OLD_SDK:</div><div class="line"> LOG(<span class="stringliteral">"Compatible, but this application should update to a more recent GfeSDK to get latest features/bugfixes"</span>);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> }</div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span></div><div class="line"> {</div><div class="line"> <span class="comment">// No valid handle</span></div><div class="line"> LOG(<span class="stringliteral">"Failure: %s"</span>, GfeSDK::NVGSDK_RetCodeToString(response.returnCode));</div><div class="line"> <span class="keywordflow">switch</span> (response.returnCode)</div><div class="line"> {</div><div class="line"> <span class="keywordflow">case</span> GfeSDK::NVGSDK_ERR_SDK_VERSION:</div><div class="line"> LOG(<span class="stringliteral">"This version of the SDK is too old to communicate with the user's SDK. We're never planning on this happening."</span>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GFE version %s"</span>, response.nvidiaGfeVersion.c_str());</div><div class="line"> LOG(<span class="stringliteral">"PC is running GfeSDK version %d.%d"</span>, response.versionMajor, response.versionMinor);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> GfeSDK::NVGSDK_SUCCESS_VERSION_OLD_SDK:</div><div class="line"> LOG(<span class="stringliteral">"The installed version of GFE is too old to continue. User must upgrade."</span>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GFE version %s"</span>, response.nvidiaGfeVersion.c_str());</div><div class="line"> LOG(<span class="stringliteral">"PC is running GfeSDK version %d.%d"</span>, response.versionMajor, response.versionMinor);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> }</div><div class="line"> <span class="keywordflow">return</span>;</div><div class="line"> }</div></div><!-- fragment --><p> // After using GfeSDK</p> <div class="fragment"><div class="line"> <span class="keyword">delete</span> gfesdkCore;</div></div><!-- fragment --> <h4>C API</h4> -<div class="fragment"><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[COUNT_OF(scopes)];</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">"gfesdk_dx_sample"</span>;</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">true</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;</div><div class="line"> inParams.<a class="code" href="struct_n_v_g_s_d_k___create_input_params.html#a8941e0c803ec2f821101cfc55a7f60a3">scopeTableSize</a> = COUNT_OF(scopes);</div><div class="line"> inParams.<a class="code" href="struct_n_v_g_s_d_k___create_input_params.html#adde61c0a8ea3a728c57081ec97081a72">notificationCallback</a> = handleNotification;</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> outParams;</div><div class="line"> memset(&outParams, 0, <span class="keyword">sizeof</span>(outParams));</div><div class="line"> outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#a9bc3e75a15cf9fcbc1084f2a7fde5a8f">scopePermissionTable</a> = &scopePermissions;</div><div class="line"> outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#a60aec9d469d10e8fe0efd7c010fb96e7">scopePermissionTableSize</a> = COUNT_OF(scopes);</div><div class="line"></div><div class="line"> NVGSDK_RetCode rc = <a class="code" href="isdk_8h.html#a95b3999b5808922e29a36375c22014b8">NVGSDK_Create</a>(&g_sdk, &inParams, &outParams);</div><div class="line"> <span class="keywordflow">if</span> (NVGSDK_SUCCEEDED(rc))</div><div class="line"> {</div><div class="line"> <span class="comment">// Valid handle has been returned</span></div><div class="line"> LOG(<span class="stringliteral">"Success: %s"</span>, NVGSDK_RetCodeToString(rc));</div><div class="line"> LOG(<span class="stringliteral">"PC is running GFE version %s"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aacdf644f5f6eb996dad6bb90b4145deb">gfeVersionStr</a>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GfeSDK version %d.%d"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aa595214daf18bdbc638ef98e1f22a30f">versionMajor</a>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#ad1687ba8b8d53a75b13a60874f3822be">versionMinor</a>);</div><div class="line"> <span class="keywordflow">switch</span> (rc)</div><div class="line"> {</div><div class="line"> <span class="keywordflow">case</span> NVGSDK_SUCCESS_VERSION_OLD_GFE:</div><div class="line"> LOG(<span class="stringliteral">"Compatible, but the user should update to the latest version of GFE."</span>);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> NVGSDK_SUCCESS_VERSION_OLD_SDK:</div><div class="line"> LOG(<span class="stringliteral">"Compatible, but this application should update to a more recent GfeSDK to get latest features/bugfixes"</span>);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> }</div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span></div><div class="line"> {</div><div class="line"> <span class="comment">// No valid handle</span></div><div class="line"> LOG(<span class="stringliteral">"Failure: %s"</span>, NVGSDK_RetCodeToString(rc));</div><div class="line"> <span class="keywordflow">switch</span> (rc)</div><div class="line"> {</div><div class="line"> <span class="keywordflow">case</span> NVGSDK_ERR_SDK_VERSION:</div><div class="line"> LOG(<span class="stringliteral">"This version of the SDK is too old to communicate with the user's SDK. We're never planning on this happening."</span>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GFE version %s"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aacdf644f5f6eb996dad6bb90b4145deb">gfeVersionStr</a>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GfeSDK version %d.%d"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aa595214daf18bdbc638ef98e1f22a30f">versionMajor</a>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#ad1687ba8b8d53a75b13a60874f3822be">versionMinor</a>);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> NVGSDK_SUCCESS_VERSION_OLD_SDK:</div><div class="line"> LOG(<span class="stringliteral">"The installed version of GFE is too old to continue. User must upgrade."</span>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GFE version %s"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aacdf644f5f6eb996dad6bb90b4145deb">gfeVersionStr</a>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GfeSDK version %d.%d"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aa595214daf18bdbc638ef98e1f22a30f">versionMajor</a>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#ad1687ba8b8d53a75b13a60874f3822be">versionMinor</a>);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> }</div><div class="line"> <span class="keywordflow">return</span>;</div><div class="line"> }</div></div><!-- fragment --><p> // After using GfeSDK</p> +<div class="fragment"><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[COUNT_OF(scopes)];</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">"gfesdk_dx_sample"</span>;</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">true</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> = COUNT_OF(scopes);</div><div class="line"> inParams.<a class="code" href="struct_n_v_g_s_d_k___create_input_params.html#adde61c0a8ea3a728c57081ec97081a72">notificationCallback</a> = handleNotification;</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> outParams;</div><div class="line"> memset(&outParams, 0, <span class="keyword">sizeof</span>(outParams));</div><div class="line"> outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#a9bc3e75a15cf9fcbc1084f2a7fde5a8f">scopePermissionTable</a> = &scopePermissions[0];</div><div class="line"> outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#a60aec9d469d10e8fe0efd7c010fb96e7">scopePermissionTableSize</a> = COUNT_OF(scopes);</div><div class="line"></div><div class="line"> NVGSDK_RetCode rc = <a class="code" href="isdk_8h.html#a95b3999b5808922e29a36375c22014b8">NVGSDK_Create</a>(&g_sdk, &inParams, &outParams);</div><div class="line"> <span class="keywordflow">if</span> (NVGSDK_SUCCEEDED(rc))</div><div class="line"> {</div><div class="line"> <span class="comment">// Valid handle has been returned</span></div><div class="line"> LOG(<span class="stringliteral">"Success: %s"</span>, NVGSDK_RetCodeToString(rc));</div><div class="line"> LOG(<span class="stringliteral">"PC is running GFE version %s"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aacdf644f5f6eb996dad6bb90b4145deb">gfeVersionStr</a>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GfeSDK version %d.%d"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aa595214daf18bdbc638ef98e1f22a30f">versionMajor</a>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#ad1687ba8b8d53a75b13a60874f3822be">versionMinor</a>);</div><div class="line"> <span class="keywordflow">switch</span> (rc)</div><div class="line"> {</div><div class="line"> <span class="keywordflow">case</span> NVGSDK_SUCCESS_VERSION_OLD_GFE:</div><div class="line"> LOG(<span class="stringliteral">"Compatible, but the user should update to the latest version of GFE."</span>);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> NVGSDK_SUCCESS_VERSION_OLD_SDK:</div><div class="line"> LOG(<span class="stringliteral">"Compatible, but this application should update to a more recent GfeSDK to get latest features/bugfixes"</span>);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> }</div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span></div><div class="line"> {</div><div class="line"> <span class="comment">// No valid handle</span></div><div class="line"> LOG(<span class="stringliteral">"Failure: %s"</span>, NVGSDK_RetCodeToString(rc));</div><div class="line"> <span class="keywordflow">switch</span> (rc)</div><div class="line"> {</div><div class="line"> <span class="keywordflow">case</span> NVGSDK_ERR_SDK_VERSION:</div><div class="line"> LOG(<span class="stringliteral">"This version of the SDK is too old to communicate with the user's SDK. We're never planning on this happening."</span>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GFE version %s"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aacdf644f5f6eb996dad6bb90b4145deb">gfeVersionStr</a>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GfeSDK version %d.%d"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aa595214daf18bdbc638ef98e1f22a30f">versionMajor</a>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#ad1687ba8b8d53a75b13a60874f3822be">versionMinor</a>);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> <span class="keywordflow">case</span> NVGSDK_SUCCESS_VERSION_OLD_SDK:</div><div class="line"> LOG(<span class="stringliteral">"The installed version of GFE is too old to continue. User must upgrade."</span>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GFE version %s"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aacdf644f5f6eb996dad6bb90b4145deb">gfeVersionStr</a>);</div><div class="line"> LOG(<span class="stringliteral">"PC is running GfeSDK version %d.%d"</span>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#aa595214daf18bdbc638ef98e1f22a30f">versionMajor</a>, outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#ad1687ba8b8d53a75b13a60874f3822be">versionMinor</a>);</div><div class="line"> <span class="keywordflow">break</span>;</div><div class="line"> }</div><div class="line"> <span class="keywordflow">return</span>;</div><div class="line"> }</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>(g_sdk);</div></div><!-- fragment --> <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">// Request Permissions if user hasn't decided yet</span></div><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_request_permissions_params.html">GfeSDK::RequestPermissionsParams</a> requestPermissionsParams;</div><div class="line"></div><div class="line"> <span class="comment">// 'response' came from create call. It tells us which permissions we requested during Create,</span></div><div class="line"> <span class="comment">// but the user hasn't yet made a decision on</span></div><div class="line"> <span class="keywordflow">for</span> (<span class="keyword">auto</span>&& entry : response.scopePermissions)</div><div class="line"> {</div><div class="line"> <span class="keywordflow">if</span> (entry.second == GfeSDK::NVGSDK_PERMISSION_MUST_ASK)</div><div class="line"> {</div><div class="line"> requestPermissionsParams.scopes.push_back(entry.first);</div><div class="line"> }</div><div class="line"> }</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (!requestPermissionsParams.scopes.empty())</div><div class="line"> {</div><div class="line"> <span class="comment">// If the user hasn't given permission for recording yet, ask them to do so now via overlay</span></div><div class="line"> m_gfesdk->RequestPermissionsAsync(requestPermissionsParams, [<span class="keyword">this</span>, defaultLocale, highlights, numHighlights](GfeSDK::NVGSDK_RetCode rc, <span class="keywordtype">void</span>* cbContext) {</div><div class="line"> UpdateLastResultString(rc);</div><div class="line"> <span class="keywordflow">if</span> (GfeSDK::NVGSDK_SUCCEEDED(rc))</div><div class="line"> {</div><div class="line"> ConfigureHighlights(defaultLocale, highlights, numHighlights);</div><div class="line"> }</div><div class="line"> });</div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span></div><div class="line"> {</div><div class="line"> <span class="comment">// Otherwise, go ahead and set up now</span></div><div class="line"> ConfigureHighlights(defaultLocale, highlights, numHighlights);</div><div class="line"> }</div></div><!-- fragment --> <h4>C API</h4> -<div class="fragment"><div class="line"> <span class="comment">// Request Permissions if user hasn't decided yet</span></div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___request_permissions_params.html">NVGSDK_RequestPermissionsParams</a> requestPermissionsParams = { 0 };</div><div class="line"> NVGSDK_Scope requestScopes[COUNT_OF(scopes)];</div><div class="line"> memset(requestScopes, NVGSDK_SCOPE_MAX, COUNT_OF(scopes));</div><div class="line"> requestPermissionsParams.scopeTable = &requestScopes;</div><div class="line"></div><div class="line"> <span class="comment">// 'response' came from create call. It tells us which permissions we requested during Create,</span></div><div class="line"> <span class="comment">// but the user hasn't yet made a decision on</span></div><div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0, j = 0; i < outParams.<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> (outParams.<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"> requestPermissionsParams.scopeTable[j++] = outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#a9bc3e75a15cf9fcbc1084f2a7fde5a8f">scopePermissionTable</a>[i].scope;</div><div class="line"> requestPermissionsParams.scopeTableSize++;</div><div class="line"> }</div><div class="line"> }</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (requestPermissionsParams.scopeTableSize > 0)</div><div class="line"> {</div><div class="line"> TConfigHolder* configHolder = malloc(<span class="keyword">sizeof</span>(TConfigHolder));</div><div class="line"> configHolder->defaultLocale = defaultLocale;</div><div class="line"> configHolder->highlights = highlights;</div><div class="line"> configHolder->numHighlights = numHighlights;</div><div class="line"></div><div class="line"> <span class="comment">// If the user hasn't given permission for recording yet, ask them to do so now via overlay</span></div><div class="line"> <a class="code" href="isdk_8h.html#a3e4b6afcafe9ac91c00a95b7d72305e5">NVGSDK_RequestPermissionsAsync</a>(g_sdk, &requestPermissionsParams, &handlePermissionRequested, configHolder);</div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span></div><div class="line"> {</div><div class="line"> <span class="comment">// Otherwise, go ahead and set up now</span></div><div class="line"> ConfigureHighlights(defaultLocale, highlights, numHighlights);</div><div class="line"> }</div></div><!-- fragment --> <p>This only needs to happen once ever. It is persistent. It could even happen during game installation.</p> +<div class="fragment"><div class="line"> <span class="comment">// Request Permissions if user hasn't decided yet</span></div><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___request_permissions_params.html">NVGSDK_RequestPermissionsParams</a> requestPermissionsParams = { 0 };</div><div class="line"> NVGSDK_Scope requestScopes[COUNT_OF(scopes)];</div><div class="line"> memset(requestScopes, NVGSDK_SCOPE_MAX, COUNT_OF(scopes));</div><div class="line"> requestPermissionsParams.scopeTable = &requestScopes[0];</div><div class="line"></div><div class="line"> <span class="comment">// 'response' came from create call. It tells us which permissions we requested during Create,</span></div><div class="line"> <span class="comment">// but the user hasn't yet made a decision on</span></div><div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0, j = 0; i < outParams.<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> (outParams.<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"> requestPermissionsParams.scopeTable[j++] = outParams.<a class="code" href="struct_n_v_g_s_d_k___create_response.html#a9bc3e75a15cf9fcbc1084f2a7fde5a8f">scopePermissionTable</a>[i].scope;</div><div class="line"> requestPermissionsParams.scopeTableSize++;</div><div class="line"> }</div><div class="line"> }</div><div class="line"></div><div class="line"> <span class="keywordflow">if</span> (requestPermissionsParams.scopeTableSize > 0)</div><div class="line"> {</div><div class="line"> TConfigHolder* configHolder = malloc(<span class="keyword">sizeof</span>(TConfigHolder));</div><div class="line"> configHolder->defaultLocale = defaultLocale;</div><div class="line"> configHolder->highlights = highlights;</div><div class="line"> configHolder->numHighlights = numHighlights;</div><div class="line"></div><div class="line"> <span class="comment">// If the user hasn't given permission for recording yet, ask them to do so now via overlay</span></div><div class="line"> <a class="code" href="isdk_8h.html#a3e4b6afcafe9ac91c00a95b7d72305e5">NVGSDK_RequestPermissionsAsync</a>(g_sdk, &requestPermissionsParams, &handlePermissionRequested, configHolder);</div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span></div><div class="line"> {</div><div class="line"> <span class="comment">// Otherwise, go ahead and set up now</span></div><div class="line"> ConfigureHighlights(defaultLocale, highlights, numHighlights);</div><div class="line"> }</div></div><!-- fragment --> <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">// Create handle to highlights module</span></div><div class="line"> m_highlights.reset(GfeSDK::Highlights::Create(m_gfesdk.get()));</div><div class="line"></div><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_highlight_config_params.html">GfeSDK::HighlightConfigParams</a> configParams;</div><div class="line"> configParams.defaultLocale = defaultLocale;</div><div class="line"></div><div class="line"> <span class="comment">// Set up highlight definition table</span></div><div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < numHighlights; ++i)</div><div class="line"> {</div><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_highlight_definition.html">GfeSDK::HighlightDefinition</a> highlightDef;</div><div class="line"> highlightDef.id = highlights[i].id;</div><div class="line"> highlightDef.userDefaultInterest = highlights[i].userInterest;</div><div class="line"> highlightDef.significance = highlights[i].significance;</div><div class="line"> highlightDef.highlightTags = highlights[i].highlightTags;</div><div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = 0; j < highlights[i].nameTableSize; ++j)</div><div class="line"> {</div><div class="line"> highlightDef.<a class="code" href="struct_gfe_s_d_k_1_1_highlight_definition.html#a2511ee17dafd2a096b15e6f62b1f77b2">nameLocaleTable</a>[highlights[i].nameTable[j].localeCode] = highlights[i].nameTable[j].localizedString;</div><div class="line"> }</div><div class="line"></div><div class="line"> configParams.highlightDefinitions.push_back(highlightDef);</div><div class="line"> }</div><div class="line"></div><div class="line"> m_highlights->ConfigureAsync(configParams, [<span class="keyword">this</span>](GfeSDK::NVGSDK_RetCode rc, <span class="keywordtype">void</span>*) {</div><div class="line"> UpdateLastResultString(rc);</div><div class="line"> });</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.html">NVGSDK_Highlight</a>* highlights = calloc(numHighlights, <span class="keyword">sizeof</span>(<a class="code" href="struct_n_v_g_s_d_k___highlight.html">NVGSDK_Highlight</a>));</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">false</span>;</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 = calloc(1, <span class="keyword">sizeof</span>(<a class="code" href="struct_n_v_g_s_d_k___highlight_config_params.html">NVGSDK_HighlightConfigParams</a>));</div><div class="line"> params-><a class="code" href="struct_n_v_g_s_d_k___highlight_config_params.html#a7f4f852d4fe97048f20dcdcc401ab82b">defaultLocale</a> = defaultLocale;</div><div class="line"> params->highlightDefinitionTable = highlights;</div><div class="line"> params->highlightTableSize = numHighlights;</div><div class="line"></div><div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < numHighlights; ++i)</div><div class="line"> {</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a1f95d7645df3e535efa830685488ae9b">id</a> = hl[i].id;</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a1e55e8efeca6cfabc9c68583e24f410b">highlightTags</a> = hl[i].highlightTags;</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3ecee6a0bd80c21b630559fb8ecfc0be">significance</a> = hl[i].significance;</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a9e0d5a1ba9081cb7f9b549499af61927">userInterest</a> = hl[i].userInterest;</div><div class="line"></div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a5522ae0afe385ba7d17afd83d19ed729">nameTableSize</a> = hl[i].nameTableSize;</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3aa8849a5921b0189c2642840c257247">nameTable</a> = hl[i].nameTableSize > 0 ? calloc(hl[i].nameTableSize, <span class="keyword">sizeof</span>(<a class="code" href="struct_n_v_g_s_d_k___localized_pair.html">NVGSDK_LocalizedPair</a>)) : NULL;</div><div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> name = 0; name < hl[i].nameTableSize; ++name)</div><div class="line"> {</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3aa8849a5921b0189c2642840c257247">nameTable</a>[name].<a class="code" href="struct_n_v_g_s_d_k___localized_pair.html#aa070c22ef7cf737497855504fb8795d6">localeCode</a> = calloc(NVGSDK_MAX_LENGTH, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div><div class="line"> strncpy_s(highlights[i].nameTable[name].localeCode, NVGSDK_MAX_LENGTH, hl[i].nameTable[name].localeCode, NVGSDK_MAX_LENGTH);</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3aa8849a5921b0189c2642840c257247">nameTable</a>[name].<a class="code" href="struct_n_v_g_s_d_k___localized_pair.html#a02d3e482f16824ccc790f1a3dc8b8952">localizedString</a> = calloc(NVGSDK_MAX_LENGTH, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div><div class="line"> strncpy_s(highlights[i].nameTable[name].localizedString, NVGSDK_MAX_LENGTH, hl[i].nameTable[name].localizedString, NVGSDK_MAX_LENGTH);</div><div class="line"> }</div><div class="line"> }</div><div class="line"></div><div class="line"> <a class="code" href="ihighlights_8h.html#a0407132e7fd44771370ecfa03fdfce8d">NVGSDK_Highlights_ConfigureAsync</a>(g_sdk, params, &handleConfigured, params);</div></div><!-- fragment --> <h4>C++ Bindings</h4> +<div class="fragment"><div class="line"> <a class="code" href="struct_n_v_g_s_d_k___highlight.html">NVGSDK_Highlight</a>* highlights = calloc(numHighlights, <span class="keyword">sizeof</span>(<a class="code" href="struct_n_v_g_s_d_k___highlight.html">NVGSDK_Highlight</a>));</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">false</span>;</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 = calloc(1, <span class="keyword">sizeof</span>(<a class="code" href="struct_n_v_g_s_d_k___highlight_config_params.html">NVGSDK_HighlightConfigParams</a>));</div><div class="line"> params-><a class="code" href="struct_n_v_g_s_d_k___highlight_config_params.html#a7f4f852d4fe97048f20dcdcc401ab82b">defaultLocale</a> = defaultLocale;</div><div class="line"> params->highlightDefinitionTable = highlights;</div><div class="line"> params->highlightTableSize = numHighlights;</div><div class="line"></div><div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < numHighlights; ++i)</div><div class="line"> {</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a1f95d7645df3e535efa830685488ae9b">id</a> = hl[i].id;</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a1e55e8efeca6cfabc9c68583e24f410b">highlightTags</a> = hl[i].highlightTags;</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3ecee6a0bd80c21b630559fb8ecfc0be">significance</a> = hl[i].significance;</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a9e0d5a1ba9081cb7f9b549499af61927">userInterest</a> = hl[i].userInterest;</div><div class="line"></div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a5522ae0afe385ba7d17afd83d19ed729">nameTableSize</a> = hl[i].nameTableSize;</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3aa8849a5921b0189c2642840c257247">nameTable</a> = hl[i].nameTableSize > 0 ? calloc(hl[i].nameTableSize, <span class="keyword">sizeof</span>(<a class="code" href="struct_n_v_g_s_d_k___localized_pair.html">NVGSDK_LocalizedPair</a>)) : NULL;</div><div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> name = 0; name < hl[i].nameTableSize; ++name)</div><div class="line"> {</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3aa8849a5921b0189c2642840c257247">nameTable</a>[name].<a class="code" href="struct_n_v_g_s_d_k___localized_pair.html#aa070c22ef7cf737497855504fb8795d6">localeCode</a> = calloc(NVGSDK_MAX_LENGTH, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div><div class="line"> strncpy_s((<span class="keywordtype">char</span>*)highlights[i].nameTable[name].localeCode, NVGSDK_MAX_LENGTH, hl[i].nameTable[name].localeCode, NVGSDK_MAX_LENGTH);</div><div class="line"> highlights[i].<a class="code" href="struct_n_v_g_s_d_k___highlight.html#a3aa8849a5921b0189c2642840c257247">nameTable</a>[name].<a class="code" href="struct_n_v_g_s_d_k___localized_pair.html#a02d3e482f16824ccc790f1a3dc8b8952">localizedString</a> = calloc(NVGSDK_MAX_LENGTH, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div><div class="line"> strncpy_s((<span class="keywordtype">char</span>*)highlights[i].nameTable[name].localizedString, NVGSDK_MAX_LENGTH, hl[i].nameTable[name].localizedString, NVGSDK_MAX_LENGTH);</div><div class="line"> }</div><div class="line"> }</div><div class="line"></div><div class="line"> <a class="code" href="ihighlights_8h.html#a0407132e7fd44771370ecfa03fdfce8d">NVGSDK_Highlights_ConfigureAsync</a>(g_sdk, params, &handleConfigured, params);</div></div><!-- fragment --> <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 = id;</div><div class="line"> params.groupDescriptionLocaleTable[<span class="stringliteral">"en-US"</span>] = id;</div><div class="line"> m_highlights->OpenGroupAsync(params, [<span class="keyword">this</span>](GfeSDK::NVGSDK_RetCode rc, <span class="keywordtype">void</span>*) {</div><div class="line"> UpdateLastResultString(rc);</div><div class="line"> });</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.startDelta = startDelta;</div><div class="line"> params.endDelta = endDelta;</div><div class="line"> params.groupId = groupId;</div><div class="line"> params.highlightId = highlightId;</div><div class="line"> m_highlights->SetVideoHighlightAsync(params, [<span class="keyword">this</span>](GfeSDK::NVGSDK_RetCode rc, <span class="keywordtype">void</span>*) {</div><div class="line"> UpdateLastResultString(rc);</div><div class="line"> });</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 = id;</div><div class="line"> params.destroyHighlights = destroy;</div><div class="line"> m_highlights->CloseGroupAsync(params, [<span class="keyword">this</span>](GfeSDK::NVGSDK_RetCode rc, <span class="keywordtype">void</span>*) {</div><div class="line"> UpdateLastResultString(rc);</div><div class="line"> });</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 = { 0 };</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___highlight_open_group_params.html#a3e9f6351540609fc3e853d5a16188da2">groupId</a> = groupId;</div><div class="line"> <a class="code" href="ihighlights_8h.html#aa49250dbc063e242607123333f8da892">NVGSDK_Highlights_OpenGroupAsync</a>(g_sdk, &params, &handleGenericResponse, 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> = groupId;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___video_highlight_params.html#a622f76afc439ed07a18e97ca95564ff0">highlightId</a> = highlightId;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___video_highlight_params.html#ac526b90af6638fec62174304aa175da1">startDelta</a> = startDelta;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___video_highlight_params.html#ae63c02443b1eeb24c4e1ed4d49154277">endDelta</a> = endDelta;</div><div class="line"> <a class="code" href="ihighlights_8h.html#a4812495c6dedfc7cc6b2d3c421c161ed">NVGSDK_Highlights_SetVideoHighlightAsync</a>(g_sdk, &params, &handleGenericResponse, 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 = { 0 };</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___highlight_close_group_params.html#a6f1e0e8a5399e868588a83e1c81ad9c3">groupId</a> = groupId;</div><div class="line"> params.<a class="code" href="struct_n_v_g_s_d_k___highlight_close_group_params.html#a3d7eae61163c4616a42569ca8d7785c6">destroyHighlights</a> = destroy;</div><div class="line"> <a class="code" href="ihighlights_8h.html#aa3b6190835ada28f4cee015645814e75">NVGSDK_Highlights_CloseGroupAsync</a>(g_sdk, &params, &handleGenericResponse, NULL);</div></div><!-- fragment --> <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"></div><div class="line"> <span class="comment">// Can show more than one group at a time, each with their own filters if desired</span></div><div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < numGroups; ++i)</div><div class="line"> {</div><div class="line"> <a class="code" href="struct_gfe_s_d_k_1_1_group_view.html">GfeSDK::GroupView</a> v;</div><div class="line"> v.groupId = groupIds[i];</div><div class="line"> v.significanceFilter = sigFilter;</div><div class="line"> v.tagsFilter = tagFilter;</div><div class="line"> params.groupViews.push_back(v);</div><div class="line"> }</div><div class="line"></div><div class="line"> m_highlights->OpenSummaryAsync(params, [<span class="keyword">this</span>](GfeSDK::NVGSDK_RetCode rc, <span class="keywordtype">void</span>*) {</div><div class="line"> UpdateLastResultString(rc);</div><div class="line"> });</div></div><!-- fragment --> <h4>C API</h4> diff --git a/doc/html/md__c_1_u_workspace_dev_sdkwinauto_doc__c_h_a_n_g_e_l_o_g.html b/doc/html/md__c_1_u_workspace_dev_sdkwinauto_doc__c_h_a_n_g_e_l_o_g.html new file mode 100644 index 0000000..7cf0064 --- /dev/null +++ b/doc/html/md__c_1_u_workspace_dev_sdkwinauto_doc__c_h_a_n_g_e_l_o_g.html @@ -0,0 +1,173 @@ +<!-- HTML header for doxygen 1.8.12--> +<!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.12"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>NVIDIAGeForceExperienceSDK: Changelog</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="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtreedata.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</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> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="customdoxygen.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 id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">NVIDIAGeForceExperienceSDK + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.12 --> +<script type="text/javascript"> +var searchBox = new SearchBox("searchBox", "search",false,'Search'); +</script> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +$(function() { + initMenu('',true,false,'search.php','Search'); + $(document).ready(function() { init_search(); }); +}); +</script> +<div id="main-nav"></div> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +$(document).ready(function(){initNavTree('md__c_1_u_workspace_dev_sdkwinauto_doc__c_h_a_n_g_e_l_o_g.html','');}); +</script> +<div id="doc-content"> +<!-- 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 class="header"> + <div class="headertitle"> +<div class="title">Changelog </div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock"><h2>NVIDIA GfeSDK 1.1 (2018-03-08)</h2> +<h3>Improvements</h3> +<ul> +<li><b>Buildable Sample</b> Fix release configurations of sample, and fix compiler errors</li> +</ul> +<h2>NVIDIA GfeSDK 1.1 (2018-02-28)</h2> +<h3>Improvements</h3> +<ul> +<li><b>Documentation</b> Top level documentation improvements</li> +<li><b>Buildable Sample</b> Include a simple DXUT buildable sample in the distribution, demonstrating API calls</li> +<li><b>Spectre/Meltdown</b> Compile with /Qspectre protection</li> +<li><b>Assets</b> Add final assets and image guide</li> +</ul> +<h3>Bug Fixes</h3> +<ul> +<li><b>Fix Crash</b> Fix race condition on startup</li> +</ul> +<h2>NVIDIA GfeSDK 1.1 (2018-01-22)</h2> +<h3>API Changes</h3> +<ul> +<li><b>SDK version incremented to 1.1</b> Allows old SDK clients to work with upcoming 3.13 GFE</li> +<li><b>Highlights Config parameters validation</b> Rejects Highlights of invalid type and significance</li> +</ul> +<h2>NVIDIA GfeSDK 1.0 (2018-01-16)</h2> +<h3>Features for GFE 3.13+</h3> +<ul> +<li><b>Target PID</b> Add support for whitelisted apps to record another process's PID</li> +</ul> +<h3>API Changes</h3> +<ul> +<li><b>Target PID</b> Added to NVGSDK_Create call</li> +<li><b>Unannounced Highlight Type</b> To prevent showing Highlights notifications for certain applications</li> +</ul> +<h3>Bug Fixes</h3> +<ul> +<li><b>Fix Crash</b> Was occasionally crashing when communication with the backend could not be established</li> +</ul> +<h2>NVIDIA GfeSDK 1.0 (2017-08-01)</h2> +<h3>API Changes</h3> +<ul> +<li><b>Timeout:</b> Was returning NVGSDK_ERR_GENERIC when IPC call timed now. Now returning NVGSDK_ERR_IPC_FAILED</li> +<li><b>windows.h:</b> Removed windows.h from public includes</li> +<li><b>globals:</b> Removed macros from global namespace</li> +<li><b>stdint:</b> Standardize on stdint types</li> +<li><b>stdbool:</b> Use stdbool in C API instead of integer 0/1</li> +<li><b>namespace:</b> Renamed namespace from gfesdk to GfeSDK, and wrapped C API in namespace when using C++ bindings</li> +<li><b>Highlights split:</b> Split all Highlights features into their own headers</li> +<li><b>C++ Bindings RAII:</b> Update C++ bindings to follow recognized C++ idioms</li> +<li><b>package structure:</b> Standardize package structure to look like other GameWorks packages</li> +<li><b>Typed Callbacks:</b> Return typed callback data instead of void*</li> +<li><b>Naming:</b> Match naming standard to other GameWorks packages</li> +</ul> +<h3>Improvements</h3> +<ul> +<li><b>Thread Model</b>: Improve thread model. Prevent callbacks from occurring after Release. Allow Polling of callbacks</li> +<li><b>Documentation</b>: Improved and expanded documentation</li> +</ul> +<h3>Bug Fixes</h3> +<ul> +<li><b>Whitelist:</b> Fix error causing ShadowPlay to not whitelist game correctly.</li> +<li><b>Fix crash:</b> Was crashing when the same game ran twice.</li> +<li><b>Input validation:</b> Added input validation to return an error for C++ create instead of crash</li> +<li><b>Timeout return value:</b> Was returning NVGSDK_ERR_GENERIC instead of NVGSDK_ERR_IPC_FAILED</li> +</ul> +<h3>Features for GFE 3.9+</h3> +<ul> +<li><b>In-Game Overlay Notification:</b> Notify the app when the in-game overlay opens or closes.</li> +</ul> +<h2>NVIDIA GfeSDK 1.0 (2017-07-10)</h2> +<h3>Features for GFE 3.8+</h3> +<ul> +<li><b>ShadowPlay Highlights</b> Help Gamers automatically capture their most exciting gaming moments. </li> +</ul> +</div></div><!-- contents --> +</div><!-- doc-content --> +<!-- HTML footer for doxygen 1.8.12--> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">Generated by + <a href="http://www.doxygen.org/index.html"> + doxygen</a> 1.8.12 </li> + </ul> +</div> +</body> +</html> diff --git a/doc/html/navtreedata.js b/doc/html/navtreedata.js index eaf2f8a..ec23a48 100644 --- a/doc/html/navtreedata.js +++ b/doc/html/navtreedata.js @@ -2,7 +2,7 @@ var NAVTREE = [ [ "NVIDIAGeForceExperienceSDK", "index.html", [ [ "Development Guide", "index.html", null ], - [ "Changelog", "section_changelog.html", null ], + [ "Changelog", "md__c_1_u_workspace_dev_sdkwinauto_doc__c_h_a_n_g_e_l_o_g.html", null ], [ "Classes", "annotated.html", [ [ "Class List", "annotated.html", "annotated_dup" ], [ "Class Index", "classes.html", null ], diff --git a/doc/html/navtreeindex0.js b/doc/html/navtreeindex0.js index a85c530..56329b5 100644 --- a/doc/html/navtreeindex0.js +++ b/doc/html/navtreeindex0.js @@ -118,6 +118,7 @@ var NAVTREEINDEX0 = "isdk__cpp_8h_source.html":[3,0,1,0,0,0,0,1], "isdk__cpp__impl_8h.html":[3,0,1,0,0,0,0,2], "isdk__cpp__impl_8h_source.html":[3,0,1,0,0,0,0,2], +"md__c_1_u_workspace_dev_sdkwinauto_doc__c_h_a_n_g_e_l_o_g.html":[1], "ops__types_8h.html":[3,0,1,0,0,2,1], "ops__types_8h_source.html":[3,0,1,0,0,2,1], "os__defines_8h_source.html":[3,0,1,0,0,4], @@ -145,7 +146,6 @@ var NAVTREEINDEX0 = "sdk__types_8h_source.html":[3,0,1,0,0,5], "sdk__types__cpp_8h_source.html":[3,0,1,0,0,0,0,3], "sdk__types__ipc_8h_source.html":[3,0,0,0,0,2], -"section_changelog.html":[1], "struct_gfe_s_d_k_1_1_create_input_params.html":[2,0,4,2], "struct_gfe_s_d_k_1_1_create_input_params.html#a3d101bfc3a6a28b678537d3f1198ab5e":[2,0,4,2,1], "struct_gfe_s_d_k_1_1_create_input_params.html#a642a81dc589d578d1c415099e85b9891":[2,0,4,2,3], diff --git a/doc/html/pages.html b/doc/html/pages.html index 570d191..a60af89 100644 --- a/doc/html/pages.html +++ b/doc/html/pages.html @@ -87,7 +87,7 @@ $(document).ready(function(){initNavTree('pages.html','');}); <div class="contents"> <div class="textblock">Here is a list of all related documentation pages:</div><div class="directory"> <table class="directory"> -<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="section_changelog.html" target="_self">Changelog</a></td><td class="desc"></td></tr> +<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="md__c_1_u_workspace_dev_sdkwinauto_doc__c_h_a_n_g_e_l_o_g.html" target="_self">Changelog</a></td><td class="desc"></td></tr> </table> </div><!-- directory --> </div><!-- contents --> diff --git a/doc/html/search/all_1.js b/doc/html/search/all_1.js index 3e101bf..706fe95 100644 --- a/doc/html/search/all_1.js +++ b/doc/html/search/all_1.js @@ -8,5 +8,5 @@ var searchData= ['createinputparams',['CreateInputParams',['../struct_gfe_s_d_k_1_1_create_input_params.html',1,'GfeSDK']]], ['createresponse',['CreateResponse',['../struct_gfe_s_d_k_1_1_create_response.html',1,'GfeSDK']]], ['culturecode',['cultureCode',['../struct_n_v_g_s_d_k___language.html#a61f6b2d2a3d08a27b37919e32b13ed75',1,'NVGSDK_Language']]], - ['changelog',['Changelog',['../section_changelog.html',1,'']]] + ['changelog',['Changelog',['../md__c_1_u_workspace_dev_sdkwinauto_doc__c_h_a_n_g_e_l_o_g.html',1,'']]] ]; diff --git a/doc/html/search/pages_0.js b/doc/html/search/pages_0.js index cb72189..328e5e5 100644 --- a/doc/html/search/pages_0.js +++ b/doc/html/search/pages_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['changelog',['Changelog',['../section_changelog.html',1,'']]] + ['changelog',['Changelog',['../md__c_1_u_workspace_dev_sdkwinauto_doc__c_h_a_n_g_e_l_o_g.html',1,'']]] ]; |