From f37d08c2dde47b5d55a257cde7dc7d450d2e8194 Mon Sep 17 00:00:00 2001 From: Dave Clark Date: Tue, 16 Jan 2018 17:45:06 -0500 Subject: Push Gfe SDK #168 --- doc/html/_c_h_a_n_g_e_l_o_g_8md_source.html | 2 +- doc/html/_m_a_i_n_p_a_g_e_8md_source.html | 2 +- doc/html/class_gfe_s_d_k_1_1_core_impl.html | 6 +- doc/html/config_8h_source.html | 6 +- doc/html/dir_10362ab7f5c0ce07ef57bf30752a9cd8.html | 101 ++++++++++++++++++++ doc/html/dir_10362ab7f5c0ce07ef57bf30752a9cd8.js | 6 ++ doc/html/dir_1c824c8e748d5ae4b3cfd93e0df1dd54.html | 101 ++++++++++++++++++++ doc/html/dir_1c824c8e748d5ae4b3cfd93e0df1dd54.js | 6 ++ doc/html/dir_3218f9f0b6327c4561f5657fde3efe5c.html | 101 ++++++++++++++++++++ doc/html/dir_3218f9f0b6327c4561f5657fde3efe5c.js | 4 + doc/html/dir_35d2c3225318c321406c9a6beb044d2f.html | 105 +++++++++++++++++++++ doc/html/dir_35d2c3225318c321406c9a6beb044d2f.js | 4 + doc/html/dir_4880193ad94c061e426bfa8c343d348d.html | 101 ++++++++++++++++++++ doc/html/dir_4880193ad94c061e426bfa8c343d348d.js | 6 ++ doc/html/dir_6b811c56f74854312f0f79bac710ab51.html | 105 +++++++++++++++++++++ doc/html/dir_6b811c56f74854312f0f79bac710ab51.js | 4 + doc/html/dir_76294dbb7031bb964dfb3c391c59b12d.html | 105 +++++++++++++++++++++ doc/html/dir_76294dbb7031bb964dfb3c391c59b12d.js | 4 + doc/html/dir_7b9333aa294694848b87f8f28ee05657.html | 101 ++++++++++++++++++++ doc/html/dir_7b9333aa294694848b87f8f28ee05657.js | 4 + doc/html/dir_93766c917ed92592c1894d5c5e65f172.html | 101 ++++++++++++++++++++ doc/html/dir_93766c917ed92592c1894d5c5e65f172.js | 4 + doc/html/dir_973d236028a0e57e29f65f6404c333f6.html | 105 +++++++++++++++++++++ doc/html/dir_973d236028a0e57e29f65f6404c333f6.js | 4 + doc/html/dir_c469821061bf53223a12dbcbed04c6e4.html | 101 ++++++++++++++++++++ doc/html/dir_c469821061bf53223a12dbcbed04c6e4.js | 6 ++ doc/html/dir_f25b3d081183182ac2c045e0b4d77442.html | 101 ++++++++++++++++++++ doc/html/dir_f25b3d081183182ac2c045e0b4d77442.js | 4 + doc/html/files.html | 6 +- doc/html/files.js | 2 +- doc/html/functions.html | 8 ++ doc/html/functions_vars.html | 8 ++ doc/html/gfe3__product__version_8h_source.html | 6 +- doc/html/globals.html | 22 +---- doc/html/globals_enum.html | 3 - doc/html/globals_eval.html | 15 --- doc/html/highlights__types_8h.html | 45 +-------- doc/html/highlights__types_8h.js | 7 -- doc/html/highlights__types_8h_source.html | 86 ++++++++--------- doc/html/highlights__types__cpp_8h_source.html | 15 ++- doc/html/ihighlights_8h_source.html | 20 ++-- doc/html/ihighlights__cpp_8h_source.html | 2 +- doc/html/ihighlights__cpp__impl_8h_source.html | 62 ++++++------ doc/html/index.html | 14 +-- doc/html/isdk_8h_source.html | 12 +-- doc/html/isdk__cpp_8h_source.html | 6 +- doc/html/isdk__cpp__impl_8h_source.html | 66 +++++++------ doc/html/menudata.js | 3 +- doc/html/navtreeindex0.js | 42 ++++----- doc/html/sdk__types_8h.html | 11 ++- doc/html/sdk__types_8h.js | 3 +- doc/html/sdk__types_8h_source.html | 60 ++++++------ doc/html/sdk__types__cpp_8h_source.html | 14 +-- doc/html/sdk__types__ipc_8h_source.html | 6 +- doc/html/search/all_8.js | 6 -- doc/html/search/all_d.js | 4 +- doc/html/search/enums_0.js | 1 - doc/html/search/enumvalues_0.js | 5 - doc/html/search/variables_c.js | 4 +- doc/html/section_changelog.html | 21 ++++- ..._gfe_s_d_k_1_1_create_input_params-members.html | 2 + .../struct_gfe_s_d_k_1_1_create_input_params.html | 8 ++ .../struct_gfe_s_d_k_1_1_create_input_params.js | 4 +- doc/html/struct_gfe_s_d_k_1_1_create_response.html | 2 +- ..._d_k_1_1_get_number_of_highlights_response.html | 2 +- ...ct_gfe_s_d_k_1_1_get_u_i_language_response.html | 2 +- ...t_gfe_s_d_k_1_1_get_user_settings_response.html | 2 +- .../struct_gfe_s_d_k_1_1_group_view-members.html | 5 +- doc/html/struct_gfe_s_d_k_1_1_group_view.html | 2 +- doc/html/struct_gfe_s_d_k_1_1_group_view.js | 1 + .../struct_gfe_s_d_k_1_1_highlight_definition.html | 2 +- ...truct_gfe_s_d_k_1_1_highlight_user_setting.html | 2 +- .../struct_gfe_s_d_k_1_1_notification_base.html | 2 +- ...d_k_1_1_overlay_state_changed_notification.html | 2 +- ...s_d_k_1_1_permissions_changed_notification.html | 2 +- ...t_gfe_s_d_k_1_1_request_permissions_params.html | 2 +- doc/html/struct_gfe_s_d_k_1_1_summary_params.html | 2 +- ..._n_v_g_s_d_k___create_input_params-members.html | 2 + .../struct_n_v_g_s_d_k___create_input_params.html | 10 +- .../struct_n_v_g_s_d_k___create_input_params.js | 4 +- doc/html/struct_n_v_g_s_d_k___create_response.html | 2 +- doc/html/struct_n_v_g_s_d_k___group_view.html | 4 +- doc/html/struct_n_v_g_s_d_k___highlight.html | 8 +- ...n_v_g_s_d_k___highlight_close_group_params.html | 4 +- ...ruct_n_v_g_s_d_k___highlight_config_params.html | 2 +- ..._n_v_g_s_d_k___highlight_open_group_params.html | 6 +- ...truct_n_v_g_s_d_k___highlight_user_setting.html | 2 +- ..._s_d_k___highlights___number_of_highlights.html | 2 +- ...t_n_v_g_s_d_k___highlights___user_settings.html | 2 +- doc/html/struct_n_v_g_s_d_k___language.html | 2 +- doc/html/struct_n_v_g_s_d_k___localized_pair.html | 2 +- doc/html/struct_n_v_g_s_d_k___notification.html | 2 +- ...s_d_k___overlay_state_changed_notification.html | 2 +- ...g_s_d_k___permissions_changed_notification.html | 2 +- ...t_n_v_g_s_d_k___request_permissions_params.html | 2 +- .../struct_n_v_g_s_d_k___scope_permission.html | 2 +- ..._n_v_g_s_d_k___screenshot_highlight_params.html | 2 +- doc/html/struct_n_v_g_s_d_k___summary_params.html | 2 +- ...truct_n_v_g_s_d_k___video_highlight_params.html | 2 +- 99 files changed, 1626 insertions(+), 371 deletions(-) create mode 100644 doc/html/dir_10362ab7f5c0ce07ef57bf30752a9cd8.html create mode 100644 doc/html/dir_10362ab7f5c0ce07ef57bf30752a9cd8.js create mode 100644 doc/html/dir_1c824c8e748d5ae4b3cfd93e0df1dd54.html create mode 100644 doc/html/dir_1c824c8e748d5ae4b3cfd93e0df1dd54.js create mode 100644 doc/html/dir_3218f9f0b6327c4561f5657fde3efe5c.html create mode 100644 doc/html/dir_3218f9f0b6327c4561f5657fde3efe5c.js create mode 100644 doc/html/dir_35d2c3225318c321406c9a6beb044d2f.html create mode 100644 doc/html/dir_35d2c3225318c321406c9a6beb044d2f.js create mode 100644 doc/html/dir_4880193ad94c061e426bfa8c343d348d.html create mode 100644 doc/html/dir_4880193ad94c061e426bfa8c343d348d.js create mode 100644 doc/html/dir_6b811c56f74854312f0f79bac710ab51.html create mode 100644 doc/html/dir_6b811c56f74854312f0f79bac710ab51.js create mode 100644 doc/html/dir_76294dbb7031bb964dfb3c391c59b12d.html create mode 100644 doc/html/dir_76294dbb7031bb964dfb3c391c59b12d.js create mode 100644 doc/html/dir_7b9333aa294694848b87f8f28ee05657.html create mode 100644 doc/html/dir_7b9333aa294694848b87f8f28ee05657.js create mode 100644 doc/html/dir_93766c917ed92592c1894d5c5e65f172.html create mode 100644 doc/html/dir_93766c917ed92592c1894d5c5e65f172.js create mode 100644 doc/html/dir_973d236028a0e57e29f65f6404c333f6.html create mode 100644 doc/html/dir_973d236028a0e57e29f65f6404c333f6.js create mode 100644 doc/html/dir_c469821061bf53223a12dbcbed04c6e4.html create mode 100644 doc/html/dir_c469821061bf53223a12dbcbed04c6e4.js create mode 100644 doc/html/dir_f25b3d081183182ac2c045e0b4d77442.html create mode 100644 doc/html/dir_f25b3d081183182ac2c045e0b4d77442.js (limited to 'doc/html') 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 bd4504e..ca64837 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','');});
C:/u/workspace/dev/sdkwinauto/doc/CHANGELOG.md
-
1 # Changelog {#section_changelog}
2 
3 ## NVIDIA GfeSDK 1.0 (2017-08-01)
4 
5 ### API Changes
6 * **Timeout:** Was returning NVGSDK_ERR_GENERIC when IPC call timed now. Now returning NVGSDK_ERR_IPC_FAILED
7 * **windows.h:** Removed windows.h from public includes
8 * **globals:** Removed macros from global namespace
9 * **stdint:** Standardize on stdint types
10 * **stdbool:** Use stdbool in C API instead of integer 0/1
11 * **namespace:** Renamed namespace from gfesdk to GfeSDK, and wrapped C API in namespace when using C++ bindings
12 * **Highlights split:** Split all Highlights features into their own headers
13 * **C++ Bindings RAII:** Update C++ bindings to follow recognized C++ idioms
14 * **package structure:** Standardize package structure to look like other GameWorks packages
15 * **Typed Callbacks:** Return typed callback data instead of void*
16 * **Naming:** Match naming standard to other GameWorks packages
17 
18 ### Improvements
19 * **Thread Model**: Improve thread model. Prevent callbacks from occurring after Release. Allow Polling of callbacks
20 * **Documentation**: Improved and expanded documentation
21 
22 ### Bug Fixes
23 * **Whitelist:** Fix error causing ShadowPlay to not whitelist game correctly.
24 * **Fix crash:** Was crashing when the same game ran twice.
25 * **Input validation:** Added input validation to return an error for C++ create instead of crash
26 * **Timeout return value:** Was returning NVGSDK_ERR_GENERIC instead of NVGSDK_ERR_IPC_FAILED
27 
28 ### Features for GFE 3.9+
29 * **In-Game Overlay Notification:** Notify the app when the in-game overlay opens or closes.
30 
31 ## NVIDIA GfeSDK 1.0 (2017-07-10)
32 
33 ### Features for GFE 3.8+
34 
35 * **ShadowPlay Highlights** Help Gamers automatically capture their most exciting gaming moments.
36 
+
1 # Changelog {#section_changelog}
2 
3 ## NVIDIA GfeSDK 1.0 (2018-01-16)
4 
5 ### Features for GFE 3.13+
6 * **UWP Support** Add support to Universal Windows Platform games
7 * **Target PID** Add support for whitelisted apps to record another process's PID
8 
9 ### API Changes
10 * **Target PID** Added to NVGSDK_Create call
11 * **Unannounced Highlight Type** To prevent showing Highlights notifications for certain applications
12 
13 ### Improvements
14 * **UWP Sample App** Add a new sample MarbleMaze app that demostrates a full Highlights integration
15 
16 ### Bug Fixes
17 * **Fix Crash** Was occasionally crashing when communication with the backend could not be established
18 
19 ## NVIDIA GfeSDK 1.0 (2017-08-01)
20 
21 ### API Changes
22 * **Timeout:** Was returning NVGSDK_ERR_GENERIC when IPC call timed now. Now returning NVGSDK_ERR_IPC_FAILED
23 * **windows.h:** Removed windows.h from public includes
24 * **globals:** Removed macros from global namespace
25 * **stdint:** Standardize on stdint types
26 * **stdbool:** Use stdbool in C API instead of integer 0/1
27 * **namespace:** Renamed namespace from gfesdk to GfeSDK, and wrapped C API in namespace when using C++ bindings
28 * **Highlights split:** Split all Highlights features into their own headers
29 * **C++ Bindings RAII:** Update C++ bindings to follow recognized C++ idioms
30 * **package structure:** Standardize package structure to look like other GameWorks packages
31 * **Typed Callbacks:** Return typed callback data instead of void*
32 * **Naming:** Match naming standard to other GameWorks packages
33 
34 ### Improvements
35 * **Thread Model**: Improve thread model. Prevent callbacks from occurring after Release. Allow Polling of callbacks
36 * **Documentation**: Improved and expanded documentation
37 
38 ### Bug Fixes
39 * **Whitelist:** Fix error causing ShadowPlay to not whitelist game correctly.
40 * **Fix crash:** Was crashing when the same game ran twice.
41 * **Input validation:** Added input validation to return an error for C++ create instead of crash
42 * **Timeout return value:** Was returning NVGSDK_ERR_GENERIC instead of NVGSDK_ERR_IPC_FAILED
43 
44 ### Features for GFE 3.9+
45 * **In-Game Overlay Notification:** Notify the app when the in-game overlay opens or closes.
46 
47 ## NVIDIA GfeSDK 1.0 (2017-07-10)
48 
49 ### Features for GFE 3.8+
50 
51 * **ShadowPlay Highlights** Help Gamers automatically capture their most exciting gaming moments.
52 
diff --git a/doc/html/_m_a_i_n_p_a_g_e_8md_source.html b/doc/html/_m_a_i_n_p_a_g_e_8md_source.html index 02544ac..f55c858 100644 --- a/doc/html/_m_a_i_n_p_a_g_e_8md_source.html +++ b/doc/html/_m_a_i_n_p_a_g_e_8md_source.html @@ -85,7 +85,7 @@ $(document).ready(function(){initNavTree('_m_a_i_n_p_a_g_e_8md.html','');});
MAINPAGE.md
-
1 # Development Guide # {#mainpage}
2 
3 # NVIDIA GeForce Experience SDK # {#section_main}
4 
5 * Version: 1.0.147.6ec890f0
6 * GeForce Experience minimum version: 3.8
7 * See [Changelog](\ref section_changelog)
8 
9 ## At a Glance {#section_glance}
10 
11 The GeForce SDK (GfeSDK) is a means for games to integrate with ShadowPlay Highlights allowing them to capture videos
12 and screenshots and present the resulting highlights back to users for viewing and sharing. GfeSDK will add other features
13 over time that benefit from games and applications working in concert with GFE functionality.
14 
15 ![Shadowplay Highlights](/img/gfesdk_highlights.png)
16 
17 ### Software Stack {#section_stack}
18 
19 ![Software Stack](/img/gfesdk_block.png)
20 
21 An application integrates with the GfeSDK via either the provided Unreal Engine 4 plug-in, C++ interface, or C interface. This integration, via the SDK, calls a compatible GFE 3.0 release.
22 
23 The developer (or associated publisher) distributes the application (including associated SDK libraries).
24 
25 NVIDIA distributes a GfeSDK package coupled with GfeSDK-compatible GFE releases. GFE maintains backwards SDK-compatibility; games integrated with older SDKs work with newer GFE releases.
26 
27 ### GfeSDK Package {#section_package}
28 
29 The distribution will look like the following
30 ```
31 .
32 +-- README.md
33 +-- LICENSE
34 +-- doc
35 | +-- index.html # Points to the deeper index.html
36 | +-- html
37 | | +-- index.html
38 | | ...
39 +-- include
40 | +-- gfesdk
41 | | +-- bindings
42 | | | +-- cpp # C++ bindings that sit on top of C API
43 | | +-- isdk.h
44 | | ...
45 +-- lib
46 | +-- win32
47 | | +-- GfeSDK.lib # x86 Import library for linking
48 | +-- win64
49 | | +-- GfeSDK.lib # x64 Import library for linking
50 +-- redist
51 | +-- assets
52 | | +-- img
53 | | | +-- xxxx.png # Images the game may redistribute
54 | +-- win32
55 | | +-- GfeSDK.dll # x86 DLL to be shipped with the game
56 | +-- win64
57 | | +-- GfeSDK.dll # x64 DLL to be shipped with the game
58 +-- samples
59 | +-- bin
60 | | +-- UnrealDemo # Binary game that demonstrates GfeSDK + Highlights
61 ```
62 
63 ### Compiling And Linking {#section_compiling}
64 
65 To compile, add the ./include (not the ./include/gfesdk) directory to the compiler's list of includes. The import libraries
66 are found in the ./lib folder and can be used to link the symbols into the game's executable. The proper GfeSDK.dll file
67 will need to be distributed with the game in a place that the game can find it.
68 
69 The C++ bindings are currently distributed in header-only form to avoid ABI incompatibilities between different compiler
70 versions. The linking and include steps are the same.
71 
72 ## Using GfeSDK ## {#section_using}
73 
74 Creation and destruction of an SDK instance is a prerequisite to making calls
75 to the SDK. The means of creating and destroying an instance depend on which
76 integration mechanism the client employs:
77 
78 See [Core header documentation](\ref isdk.h)
79 
80 See [Highlights header documentation](\ref ihighlights.h)
81 
82 ### Creation and Release {#section_example_create}
83 
84 #### C++ Bindings
85 
86 \snippet GfeSDKDemo.cpp Creation CPP
87 
88 // After using GfeSDK
89 
90 \snippet GfeSDKDemo.cpp Release CPP
91 
92 #### C API
93 
94 \snippet GfeSDKDemo.cpp Creation
95 
96 // After using GfeSDK
97 
98 \snippet GfeSDKDemo.cpp Release
99 
100 ### Request Permissions {#section_example_permission}
101 
102 The Create call will inform the app if one or more scopes require user
103 permission. If so, make this call. It will display the overlay UI.
104 
105 #### C++ Bindings
106 
107 \snippet GfeSDKDemo.cpp Permissions CPP
108 
109 #### C API
110 
111 \snippet GfeSDKDemo.cpp Permissions
112 
113 ### Configure Highlights {#section_example_highlightsconfigure}
114 
115 This only needs to happen once ever. It is persistent. It could even happen
116 during game installation.
117 
118 #### C++ Bindings
119 
120 \snippet GfeSDKDemo.cpp ConfigureHighlights CPP
121 
122 #### C API
123 
124 \snippet GfeSDKDemo.cpp ConfigureHighlights
125 
126 ### Groups and Saving Highlights {#section_Example_highlights}
127 
128 #### C++ Bindings
129 
130 \snippet GfeSDKDemo.cpp OpenGroup CPP
131 \snippet GfeSDKDemo.cpp SaveVideo CPP
132 \snippet GfeSDKDemo.cpp CloseGroup CPP
133 
134 #### C API
135 
136 \snippet GfeSDKDemo.cpp OpenGroup
137 \snippet GfeSDKDemo.cpp SaveVideo
138 \snippet GfeSDKDemo.cpp CloseGroup
139 
140 ### Open Highlight Summary {#section_example_summary}
141 
142 #### C++ Bindings
143 
144 \snippet GfeSDKDemo.cpp OpenSummary CPP
145 
146 #### C API
147 
148 \snippet GfeSDKDemo.cpp OpenSummary
149 
150 ## Concepts {#section_concepts}
151 
152 The GfeSDK is composed of two parts, the client/app, and the backend/server.
153 This distribution contains GfeSDK.dll which represents the client/app part.
154 The end-user downloads GFE onto their machine. The GFE package includes the
155 backend pieces necessary to support the calls coming from the client. See
156 \ref section_version for more information regarding this communication.
157 
158 Calls made will be serialized. Therefore, if the app makes two consecutive
159 calls to NVGSDK_Highlights_OpenGroup and then either
160 NVGSDK_Highlights_SetVideoHighlight or NVGSDK_Highlights_SetScreenshotHighlight,
161 before receiving the callback from open group, the set highlight call will
162 function normally. If open group succeeded, then the set highlights calls will
163 succeed as well. If it failed, the set highlights calls will fail, as there
164 will be no valid group to assign them to.
165 
166 ### Strings {#section_strings}
167 All strings are to be provided in single-byte width, UTF-8 encoded.
168 
169 ### Versioning {#section_version}
170 Because there are two different parts, and the client / user's machine may
171 be mismatched at times, the game should be aware of the versioning system.
172 It's GfeSDK's goal to make this as seamless as possible, but there could still
173 be compatibility issues to be aware of.
174 
175 The GfeSDK version contains 4 parts, MAJOR.MINOR.BUILD.HASH. The BUILD and HASH
176 components are descriptive and don't have any effect on functionality. The
177 MAJOR component identifies overall compatibility. If the client and server
178 mismatch on the major version number, no communication is possible. **There
179 are no current plans to update from 1, breaking communication**. The major
180 version number gives a way to show incompatibility if the fundamental
181 architecture of GFE ever changes. The minor version number indicates feature
182 compatibility. When a new feature gets added / modified on the SDK, the minor
183 version number will be bumped. This means that for older games / newer GFE
184 installations, the game is simply missing out on newer features. This will
185 generally not be a problem. For a game with a newer version of the GfeSDK,
186 and a user with an older installation of GFE, some features may not function,
187 and the user should be encouraged to update GFE.
188 
189 With that in mind, here are the possible return values from \ref NVGSDK_Create,
190 with regards to versioning:
191 * **NVGSDK_SUCCESS** - Perfect version match
192 * **NVGSDK_SUCCESS_OLD_GFE** - Minor version mismatch. User has an older
193 version of GFE installed. Newer features distributed by the game will not
194 function properly until the user upgrades.
195 * **NVGSDK_SUCCESS_OLD_SDK** - Minor version mismatch.
196 Game is distributing an older version of GfeSDK.
197 Game could be missing out on latest features, but no compatibily issue.
198 * **NVGSDK_ERR_GFE_VERSION** - Major version mismatch. User has a GFE
199 installation that predates the GfeSDK. User must upgrade to get functionality.
200 * **NVGSDK_ERR_SDK_VERSION** - Major version mismatch. GFE has changed
201 fundamentally. **There are no plans to do this. This is to cover all bases**
202 
203 ### Permissions {#section_permissions}
204 Certain actions require permission from the user. For example, recording video
205 for Highlights requires the user to agree to the recording. To achieve this,
206 the app must know what features it wishes to enable. It will pass these
207 "scopes" into the NVGSDK_Create call via NVGSDK_CreateInputParams. Consider
208 the typical Highlights case as an example. The app will pass in a list of
209 the scopes NVGSDK_SCOPE_HIGHLIGHTS, NVGSDK_SCOPE_HIGHLIGHTS_VIDEO, and
210 NVGSDK_SCOPE_SCREENSHOT. The first of these is required in order for any
211 of the NVGSDK_Highlights_* calls to succeed and send a message to the server.
212 It will allocate the resources required in the DLL and on the server in order
213 to achieve this. The second of these permissions is required in order to
214 capture video of the gameplay, and the final is to capture a screenshot.
215 
216 The first time the user runs the game, and the game calls NVGSDK_Create(...),
217 and passes in these three permissions, the game might receive back that
218 NVGSDK_SCOPE_HIGHLIGHTS has been granted permission implicitly, but that
219 NVGSDK_SCOPE_HIGHLIGHTS_VIDEO and NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT
220 currently have "must ask" permission. In other words, the game must ask
221 GFE for permission to record video before it will succeed in doing so. To
222 achieve this, the game will call NVGSDK_RequestPermissionsAsync with two
223 scopes in the list, NVGSDK_SCOPE_HIGHLIGHTS_VIDEO and
224 NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT. It's not necessary to request permission
225 for a scope that has implicitly been granted permission already.
226 
227 The call to NVGSDK_RequestPermissions is required because it will trigger
228 GFE to put up an \ref section_igo. The game might not want this to occur
229 during NVGSDK_Create time. Once called, the user will see the overlay
230 pop up, asking them for permission.
231 
232 ![Highlights Permission](/img/permission.png)
233 
234 The async callback will be triggered as soon as the message is processed
235 by the GFE backend. The user will be able to accept, deny, or defer the
236 request. If the user accepts or denies the request, the app will recieve
237 a \ref NVGSDK_NOTIFICATION_PERMISSIONS_CHANGED notification with the results.
238 If \ref NVGSDK_RequestPermissionsAsync is called again when the permission is
239 already granted or denied, the overlay will not be displayed a second time.
240 The user can reverse their decision in either case later on in GFE3 on
241 the games details page.
242 
243 ### Asynchronous Calls {#section_async}
244 Most of the calls to GfeSDK are asynchronous. This is due to the client/server
245 architecture described in \ref section_concepts. For each asynchronous call, a
246 callback and an opaque void* context are passed in as arguments. If the app
247 does not care or desire to know what happens to the call, is it fine to pass
248 in NULL. If the app does care, supply a callback of the proper type, and
249 optionally a pointer as a context to receive back during the callback.
250 
251 The callbacks are properly typed. For callbacks that return nothing but the
252 return value and context, a \ref NVGSDK_EmptyCallback is passed in. For
253 versions that do return data, a typed callback is passed in, such as
254 \ref NVGSDK_GetUILanguageCallback.
255 
256 The callback will be called on one of three threads, depending on the
257 situation. If NVGSDK_CreateInputParams::pollForCallbacks is set to false
258 during creation, the callback will always occur on a GfeSDK controller thread.
259 If the app desires callback to occur on their own thread, true is passed in
260 instead. In that case, the callback will occur on the thread that calls
261 \ref NVGSDK_Poll. The exception is that during \ref NVGSDK_Destroy, GfeSDK
262 pushes out all remaining callbacks. If the app is awaiting any callbacks
263 during this time, they will be called on the same thread that called
264 NVGSDK_Destroy. Usually, this will be the same thread that calls NVGSDK_Poll,
265 so it shouldn't cause any surprises, but it's something to be aware of. See
266 \ref section_threading for more information
267 
268 **Note:** There is currently a limitation in the GfeSDK backend that depends
269 on game frames being rendered during certain API calls. Therefore, the game
270 cannot block the render loop while awaiting an asynchronous callback. Doing
271 so will result in a deadlock.
272 
273 ### Notifications ### {#section_notifications}
274 
275 In addition to the async callbacks that most of the APIs accept as an argument,
276 the app can also register to recieve unsolicited notifications when certain
277 events occur. For example, the app might want to know when the user can
278 given / removed permission for recording video from the app, either through
279 the permissions dialog, or via GFE3. See \ref NVGSDK_CreateInputParams and
280 \ref NVGSDK_NotificationType
281 
282 This notification will get called on either the GfeSDK callback thread, or
283 the thread that calls \ref NVGSDK_Poll, depending on params passed in to
284 \ref NVGSDK_Create. See \ref section_threading for more information.
285 
286 ### Threading {#section_threading}
287 There are two different threading models that may be used. The model used
288 depends on the value passed in to \ref NVGSDK_CreateInputParams
289 
290 ##### GfeSDK Controller Callback Model
291 In this model, all callbacks will occur as soon as they are processed on the
292 internal GfeSDK callback thread.
293 
294 ##### Polling Model
295 The app can choose to use this model if it wants to take action during the
296 callback that depend on being on the game loop. Callbacks are queued up, and
297 executed when the app calls \ref NVGSDK_Poll. This means that callbacks will
298 be blocked indefinitely if that API is never called.
299 
300 The exception occurs during \ref NVGSDK_Destroy. Because the normal case is
301 to make NVGSDK_Destroy and NVGSDK_Poll calls from the same thread, GfeSDK
302 can't block and wait for another poll call. All remaining callbacks will be
303 executed during \ref NVGSDK_Destroy. See \ref section_async for more info.
304 
305 ### In Game Overlay {#section_igo}
306 ![In Game Overlay](/img/igo.png)
307 
308 The In-Game overlay can be used by the user to change Highlights settings, and
309 view Highlights that have been saved to the gallery. It's also used to display
310 the permissions dialog from \ref NVGSDK_RequestPermissionsAsync, and the
311 group summary from \ref NVGSDK_OpenGroupSummaryAsync. The user can open it
312 up by themselves using the default keybinding Alt+Z
313 
314 ## UX Guidance {#section_ux}
315 
316 ### Highlights Summary
317 
318 Many times a button is used to display the Highlights Summary. Suggested UX:
319 "View \%d highlights" or "\%d new highlights". Include an icon to the left of
320 the text. The icon to use is located in
321 GfeSDK/redist/assets/img/img_logo_experience_512.png
322 
323 ## Logging {#section_log}
324 By default, GfeSDK stores its own logs for problem triage in
325 %LOCALAPPDATA%\NVIDIA Corporation\GfeSDK. This behavior can be adjusted by
326 the following calls:
327 
328 * \ref NVGSDK_SetLogLevel
329 * \ref NVGSDK_AttachLogListener
330 * \ref NVGSDK_SetListenerLogLevel
+
1 # Development Guide # {#mainpage}
2 
3 # NVIDIA GeForce Experience SDK # {#section_main}
4 
5 * Version: 1.0.168.8a267a87
6 * GeForce Experience minimum version: 3.8
7 * See [Changelog](\ref section_changelog)
8 
9 ## At a Glance {#section_glance}
10 
11 The GeForce SDK (GfeSDK) is a means for games to integrate with ShadowPlay Highlights allowing them to capture videos
12 and screenshots and present the resulting highlights back to users for viewing and sharing. GfeSDK will add other features
13 over time that benefit from games and applications working in concert with GFE functionality.
14 
15 ![Shadowplay Highlights](/img/gfesdk_highlights.png)
16 
17 ### Software Stack {#section_stack}
18 
19 ![Software Stack](/img/gfesdk_block.png)
20 
21 An application integrates with the GfeSDK via either the provided Unreal Engine 4 plug-in, C++ interface, or C interface. This integration, via the SDK, calls a compatible GFE 3.0 release.
22 
23 The developer (or associated publisher) distributes the application (including associated SDK libraries).
24 
25 NVIDIA distributes a GfeSDK package coupled with GfeSDK-compatible GFE releases. GFE maintains backwards SDK-compatibility; games integrated with older SDKs work with newer GFE releases.
26 
27 ### GfeSDK Package {#section_package}
28 
29 The distribution will look like the following
30 ```
31 .
32 +-- README.md
33 +-- LICENSE
34 +-- doc
35 | +-- index.html # Points to the deeper index.html
36 | +-- html
37 | | +-- index.html
38 | | ...
39 +-- include
40 | +-- gfesdk
41 | | +-- bindings
42 | | | +-- cpp # C++ bindings that sit on top of C API
43 | | +-- isdk.h
44 | | ...
45 +-- lib
46 | +-- win32
47 | | +-- GfeSDK.lib # x86 Import library for linking
48 | +-- win64
49 | | +-- GfeSDK.lib # x64 Import library for linking
50 +-- redist
51 | +-- assets
52 | | +-- img
53 | | | +-- xxxx.png # Images the game may redistribute
54 | +-- win32
55 | | +-- GfeSDK.dll # x86 DLL to be shipped with the game
56 | +-- win64
57 | | +-- GfeSDK.dll # x64 DLL to be shipped with the game
58 +-- samples
59 | +-- bin
60 | | +-- UnrealDemo # Binary game that demonstrates GfeSDK + Highlights
61 ```
62 
63 ### Compiling And Linking {#section_compiling}
64 
65 To compile, add the ./include (not the ./include/gfesdk) directory to the compiler's list of includes. The import libraries
66 are found in the ./lib folder and can be used to link the symbols into the game's executable. The proper GfeSDK.dll file
67 will need to be distributed with the game in a place that the game can find it.
68 
69 The C++ bindings are currently distributed in header-only form to avoid ABI incompatibilities between different compiler
70 versions. The linking and include steps are the same.
71 
72 ## Using GfeSDK ## {#section_using}
73 
74 Creation and destruction of an SDK instance is a prerequisite to making calls
75 to the SDK. The means of creating and destroying an instance depend on which
76 integration mechanism the client employs:
77 
78 See [Core header documentation](\ref isdk.h)
79 
80 See [Highlights header documentation](\ref ihighlights.h)
81 
82 ### Creation and Release {#section_example_create}
83 
84 #### C++ Bindings
85 
86 \snippet GfeSDKDemo.cpp Creation CPP
87 
88 // After using GfeSDK
89 
90 \snippet GfeSDKDemo.cpp Release CPP
91 
92 #### C API
93 
94 \snippet GfeSDKDemo.cpp Creation
95 
96 // After using GfeSDK
97 
98 \snippet GfeSDKDemo.cpp Release
99 
100 ### Request Permissions {#section_example_permission}
101 
102 The Create call will inform the app if one or more scopes require user
103 permission. If so, make this call. It will display the overlay UI.
104 
105 #### C++ Bindings
106 
107 \snippet GfeSDKDemo.cpp Permissions CPP
108 
109 #### C API
110 
111 \snippet GfeSDKDemo.cpp Permissions
112 
113 ### Configure Highlights {#section_example_highlightsconfigure}
114 
115 This only needs to happen once ever. It is persistent. It could even happen
116 during game installation.
117 
118 #### C++ Bindings
119 
120 \snippet GfeSDKDemo.cpp ConfigureHighlights CPP
121 
122 #### C API
123 
124 \snippet GfeSDKDemo.cpp ConfigureHighlights
125 
126 ### Groups and Saving Highlights {#section_Example_highlights}
127 
128 #### C++ Bindings
129 
130 \snippet GfeSDKDemo.cpp OpenGroup CPP
131 \snippet GfeSDKDemo.cpp SaveVideo CPP
132 \snippet GfeSDKDemo.cpp CloseGroup CPP
133 
134 #### C API
135 
136 \snippet GfeSDKDemo.cpp OpenGroup
137 \snippet GfeSDKDemo.cpp SaveVideo
138 \snippet GfeSDKDemo.cpp CloseGroup
139 
140 ### Open Highlight Summary {#section_example_summary}
141 
142 #### C++ Bindings
143 
144 \snippet GfeSDKDemo.cpp OpenSummary CPP
145 
146 #### C API
147 
148 \snippet GfeSDKDemo.cpp OpenSummary
149 
150 ## Concepts {#section_concepts}
151 
152 The GfeSDK is composed of two parts, the client/app, and the backend/server.
153 This distribution contains GfeSDK.dll which represents the client/app part.
154 The end-user downloads GFE onto their machine. The GFE package includes the
155 backend pieces necessary to support the calls coming from the client. See
156 \ref section_version for more information regarding this communication.
157 
158 Calls made will be serialized. Therefore, if the app makes two consecutive
159 calls to NVGSDK_Highlights_OpenGroup and then either
160 NVGSDK_Highlights_SetVideoHighlight or NVGSDK_Highlights_SetScreenshotHighlight,
161 before receiving the callback from open group, the set highlight call will
162 function normally. If open group succeeded, then the set highlights calls will
163 succeed as well. If it failed, the set highlights calls will fail, as there
164 will be no valid group to assign them to.
165 
166 ### Strings {#section_strings}
167 All strings are to be provided in single-byte width, UTF-8 encoded.
168 
169 ### Versioning {#section_version}
170 Because there are two different parts, and the client / user's machine may
171 be mismatched at times, the game should be aware of the versioning system.
172 It's GfeSDK's goal to make this as seamless as possible, but there could still
173 be compatibility issues to be aware of.
174 
175 The GfeSDK version contains 4 parts, MAJOR.MINOR.BUILD.HASH. The BUILD and HASH
176 components are descriptive and don't have any effect on functionality. The
177 MAJOR component identifies overall compatibility. If the client and server
178 mismatch on the major version number, no communication is possible. **There
179 are no current plans to update from 1, breaking communication**. The major
180 version number gives a way to show incompatibility if the fundamental
181 architecture of GFE ever changes. The minor version number indicates feature
182 compatibility. When a new feature gets added / modified on the SDK, the minor
183 version number will be bumped. This means that for older games / newer GFE
184 installations, the game is simply missing out on newer features. This will
185 generally not be a problem. For a game with a newer version of the GfeSDK,
186 and a user with an older installation of GFE, some features may not function,
187 and the user should be encouraged to update GFE.
188 
189 With that in mind, here are the possible return values from \ref NVGSDK_Create,
190 with regards to versioning:
191 * **NVGSDK_SUCCESS** - Perfect version match
192 * **NVGSDK_SUCCESS_OLD_GFE** - Minor version mismatch. User has an older
193 version of GFE installed. Newer features distributed by the game will not
194 function properly until the user upgrades.
195 * **NVGSDK_SUCCESS_OLD_SDK** - Minor version mismatch.
196 Game is distributing an older version of GfeSDK.
197 Game could be missing out on latest features, but no compatibily issue.
198 * **NVGSDK_ERR_GFE_VERSION** - Major version mismatch. User has a GFE
199 installation that predates the GfeSDK. User must upgrade to get functionality.
200 * **NVGSDK_ERR_SDK_VERSION** - Major version mismatch. GFE has changed
201 fundamentally. **There are no plans to do this. This is to cover all bases**
202 
203 ### Permissions {#section_permissions}
204 Certain actions require permission from the user. For example, recording video
205 for Highlights requires the user to agree to the recording. To achieve this,
206 the app must know what features it wishes to enable. It will pass these
207 "scopes" into the NVGSDK_Create call via NVGSDK_CreateInputParams. Consider
208 the typical Highlights case as an example. The app will pass in a list of
209 the scopes NVGSDK_SCOPE_HIGHLIGHTS, NVGSDK_SCOPE_HIGHLIGHTS_VIDEO, and
210 NVGSDK_SCOPE_SCREENSHOT. The first of these is required in order for any
211 of the NVGSDK_Highlights_* calls to succeed and send a message to the server.
212 It will allocate the resources required in the DLL and on the server in order
213 to achieve this. The second of these permissions is required in order to
214 capture video of the gameplay, and the final is to capture a screenshot.
215 
216 The first time the user runs the game, and the game calls NVGSDK_Create(...),
217 and passes in these three permissions, the game might receive back that
218 NVGSDK_SCOPE_HIGHLIGHTS has been granted permission implicitly, but that
219 NVGSDK_SCOPE_HIGHLIGHTS_VIDEO and NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT
220 currently have "must ask" permission. In other words, the game must ask
221 GFE for permission to record video before it will succeed in doing so. To
222 achieve this, the game will call NVGSDK_RequestPermissionsAsync with two
223 scopes in the list, NVGSDK_SCOPE_HIGHLIGHTS_VIDEO and
224 NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT. It's not necessary to request permission
225 for a scope that has implicitly been granted permission already.
226 
227 The call to NVGSDK_RequestPermissions is required because it will trigger
228 GFE to put up an \ref section_igo. The game might not want this to occur
229 during NVGSDK_Create time. Once called, the user will see the overlay
230 pop up, asking them for permission.
231 
232 ![Highlights Permission](/img/permission.png)
233 
234 The async callback will be triggered as soon as the message is processed
235 by the GFE backend. The user will be able to accept, deny, or defer the
236 request. If the user accepts or denies the request, the app will recieve
237 a \ref NVGSDK_NOTIFICATION_PERMISSIONS_CHANGED notification with the results.
238 If \ref NVGSDK_RequestPermissionsAsync is called again when the permission is
239 already granted or denied, the overlay will not be displayed a second time.
240 The user can reverse their decision in either case later on in GFE3 on
241 the games details page.
242 
243 ### Asynchronous Calls {#section_async}
244 Most of the calls to GfeSDK are asynchronous. This is due to the client/server
245 architecture described in \ref section_concepts. For each asynchronous call, a
246 callback and an opaque void* context are passed in as arguments. If the app
247 does not care or desire to know what happens to the call, is it fine to pass
248 in NULL. If the app does care, supply a callback of the proper type, and
249 optionally a pointer as a context to receive back during the callback.
250 
251 The callbacks are properly typed. For callbacks that return nothing but the
252 return value and context, a \ref NVGSDK_EmptyCallback is passed in. For
253 versions that do return data, a typed callback is passed in, such as
254 \ref NVGSDK_GetUILanguageCallback.
255 
256 The callback will be called on one of three threads, depending on the
257 situation. If NVGSDK_CreateInputParams::pollForCallbacks is set to false
258 during creation, the callback will always occur on a GfeSDK controller thread.
259 If the app desires callback to occur on their own thread, true is passed in
260 instead. In that case, the callback will occur on the thread that calls
261 \ref NVGSDK_Poll. The exception is that during \ref NVGSDK_Destroy, GfeSDK
262 pushes out all remaining callbacks. If the app is awaiting any callbacks
263 during this time, they will be called on the same thread that called
264 NVGSDK_Destroy. Usually, this will be the same thread that calls NVGSDK_Poll,
265 so it shouldn't cause any surprises, but it's something to be aware of. See
266 \ref section_threading for more information
267 
268 **Note:** There is currently a limitation in the GfeSDK backend that depends
269 on game frames being rendered during certain API calls. Therefore, the game
270 cannot block the render loop while awaiting an asynchronous callback. Doing
271 so will result in a deadlock.
272 
273 ### Notifications ### {#section_notifications}
274 
275 In addition to the async callbacks that most of the APIs accept as an argument,
276 the app can also register to recieve unsolicited notifications when certain
277 events occur. For example, the app might want to know when the user can
278 given / removed permission for recording video from the app, either through
279 the permissions dialog, or via GFE3. See \ref NVGSDK_CreateInputParams and
280 \ref NVGSDK_NotificationType
281 
282 This notification will get called on either the GfeSDK callback thread, or
283 the thread that calls \ref NVGSDK_Poll, depending on params passed in to
284 \ref NVGSDK_Create. See \ref section_threading for more information.
285 
286 ### Threading {#section_threading}
287 There are two different threading models that may be used. The model used
288 depends on the value passed in to \ref NVGSDK_CreateInputParams
289 
290 ##### GfeSDK Controller Callback Model
291 In this model, all callbacks will occur as soon as they are processed on the
292 internal GfeSDK callback thread.
293 
294 ##### Polling Model
295 The app can choose to use this model if it wants to take action during the
296 callback that depend on being on the game loop. Callbacks are queued up, and
297 executed when the app calls \ref NVGSDK_Poll. This means that callbacks will
298 be blocked indefinitely if that API is never called.
299 
300 The exception occurs during \ref NVGSDK_Destroy. Because the normal case is
301 to make NVGSDK_Destroy and NVGSDK_Poll calls from the same thread, GfeSDK
302 can't block and wait for another poll call. All remaining callbacks will be
303 executed during \ref NVGSDK_Destroy. See \ref section_async for more info.
304 
305 ### In Game Overlay {#section_igo}
306 ![In Game Overlay](/img/igo.png)
307 
308 The In-Game overlay can be used by the user to change Highlights settings, and
309 view Highlights that have been saved to the gallery. It's also used to display
310 the permissions dialog from \ref NVGSDK_RequestPermissionsAsync, and the
311 group summary from \ref NVGSDK_OpenGroupSummaryAsync. The user can open it
312 up by themselves using the default keybinding Alt+Z
313 
314 ## UX Guidance {#section_ux}
315 
316 ### Highlights Summary
317 
318 Many times a button is used to display the Highlights Summary. Suggested UX:
319 "View \%d highlights" or "\%d new highlights". Include an icon to the left of
320 the text. The icon to use is located in
321 GfeSDK/redist/assets/img/img_logo_experience_512.png
322 
323 ## Logging {#section_log}
324 By default, GfeSDK stores its own logs for problem triage in
325 \%LOCALAPPDATA\%\\NVIDIA Corporation\\GfeSDK. This behavior can be adjusted by
326 the following calls:
327 
328 * \ref NVGSDK_SetLogLevel
329 * \ref NVGSDK_AttachLogListener
330 * \ref NVGSDK_SetListenerLogLevel
diff --git a/doc/html/class_gfe_s_d_k_1_1_core_impl.html b/doc/html/class_gfe_s_d_k_1_1_core_impl.html index e3a37e0..7683bd3 100644 --- a/doc/html/class_gfe_s_d_k_1_1_core_impl.html +++ b/doc/html/class_gfe_s_d_k_1_1_core_impl.html @@ -165,7 +165,7 @@ Additional Inherited Members

Implements GfeSDK::Core.

-

Definition at line 128 of file isdk_cpp_impl.h.

+

Definition at line 132 of file isdk_cpp_impl.h.

@@ -212,7 +212,7 @@ Additional Inherited Members

Implements GfeSDK::Core.

-

Definition at line 133 of file isdk_cpp_impl.h.

+

Definition at line 137 of file isdk_cpp_impl.h.

@@ -253,7 +253,7 @@ Additional Inherited Members

Implements GfeSDK::Core.

-

Definition at line 141 of file isdk_cpp_impl.h.

+

Definition at line 145 of file isdk_cpp_impl.h.

diff --git a/doc/html/config_8h_source.html b/doc/html/config_8h_source.html index 58e744d..971fe45 100644 --- a/doc/html/config_8h_source.html +++ b/doc/html/config_8h_source.html @@ -6,7 +6,7 @@ -NVIDIAGeForceExperienceSDK: C:/u/workspace/dev/sdkwinauto/_build/msvc120_x64_RelWithDebInfo/sdk/include/gfesdk/config.h Source File +NVIDIAGeForceExperienceSDK: C:/u/workspace/dev/sdkwinauto/_build/sys-msvc141-uwp_x64_RelWithDebInfo/sdk/include/gfesdk/config.h Source File @@ -85,13 +85,13 @@ $(document).ready(function(){initNavTree('config_8h_source.html','');});
config.h
-
1 /* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
2  *
3  * NVIDIA CORPORATION and its licensors retain all intellectual property
4  * and proprietary rights in and to this software, related documentation
5  * and any modifications thereto. Any use, reproduction, disclosure or
6  * distribution of this software and related documentation without an express
7  * license agreement from NVIDIA CORPORATION is strictly prohibited.
8  */
9 
10 // Warning: This file is generated. Do not edit
11 
12 #ifndef _NVGSDK_CONFIG_H_
13 #define _NVGSDK_CONFIG_H_
14 
15 #include "gfe3_product_version.h"
16 
17 #define NVGSDK_PROJECT_NAME "GfeSDK"
18 
19 #define NVGSDK_VERSION_MAJOR 1
20 #define NVGSDK_VERSION_MINOR 0
21 #define NVGSDK_BUILD_NUMBER 147
22 #define NVGSDK_BUILD_HASH 6ec890f0
23 #define NVGSDK_BUILD_HASH_STR "6ec890f0"
24 
25 #endif // _NVGSDK_CONFIG_H_
+
1 /* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
2  *
3  * NVIDIA CORPORATION and its licensors retain all intellectual property
4  * and proprietary rights in and to this software, related documentation
5  * and any modifications thereto. Any use, reproduction, disclosure or
6  * distribution of this software and related documentation without an express
7  * license agreement from NVIDIA CORPORATION is strictly prohibited.
8  */
9 
10 // Warning: This file is generated. Do not edit
11 
12 #ifndef _NVGSDK_CONFIG_H_
13 #define _NVGSDK_CONFIG_H_
14 
15 #include "gfe3_product_version.h"
16 
17 #define NVGSDK_PROJECT_NAME "GfeSDK"
18 
19 #define NVGSDK_VERSION_MAJOR 1
20 #define NVGSDK_VERSION_MINOR 0
21 #define NVGSDK_BUILD_NUMBER 168
22 #define NVGSDK_BUILD_HASH 8a267a87
23 #define NVGSDK_BUILD_HASH_STR "8a267a87"
24 
25 #endif // _NVGSDK_CONFIG_H_

Possible significance values

-

Definition at line 50 of file highlights_types.h.

+

Definition at line 23 of file highlights_types.h.

diff --git a/doc/html/highlights__types_8h.js b/doc/html/highlights__types_8h.js index b41e998..6df030d 100644 --- a/doc/html/highlights__types_8h.js +++ b/doc/html/highlights__types_8h.js @@ -13,13 +13,6 @@ var highlights__types_8h = [ "NVGSDK_Highlights_NumberOfHighlights", "struct_n_v_g_s_d_k___highlights___number_of_highlights.html", "struct_n_v_g_s_d_k___highlights___number_of_highlights" ], [ "NVGSDK_Highlights_GetUserSettingsCallback", "highlights__types_8h.html#a87a246f3f9c2a0f0670b1208b22fa2d9", null ], [ "NVGSDK_Highlights_GetNumberOfHighlightsCallback", "highlights__types_8h.html#a1ace1def4d575aa419abae45b2738db0", null ], - [ "NVGSDK_HighlightType", "highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9", [ - [ "NVGSDK_HIGHLIGHT_TYPE_MILESTONE", "highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9a27f6aa8f0032b9f74b74c0305a3580a2", null ], - [ "NVGSDK_HIGHLIGHT_TYPE_ACHIEVEMENT", "highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9a1b1d72ef2076a2d54b01f7ae61a1776a", null ], - [ "NVGSDK_HIGHLIGHT_TYPE_INCIDENT", "highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9adc9c1285140adfa7b92ff9d7272b5c20", null ], - [ "NVGSDK_HIGHLIGHT_TYPE_STATE_CHANGE", "highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9a24c166ddd62845ab324ebfaabc459dee", null ], - [ "NVGSDK_HIGHLIGHT_TYPE_MAX", "highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9a297a0746730ac96171af7d2cbcd7e3d5", null ] - ] ], [ "NVGSDK_HighlightSignificance", "highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1", [ [ "NVGSDK_HIGHLIGHT_SIGNIFICANCE_EXTREMELY_BAD", "highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a382341c19e60011159821ea6ef8708bf", null ], [ "NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_BAD", "highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a9ab0134caa370a97c00b23f337e678b9", null ], diff --git a/doc/html/highlights__types_8h_source.html b/doc/html/highlights__types_8h_source.html index eaa7ccc..2587455 100644 --- a/doc/html/highlights__types_8h_source.html +++ b/doc/html/highlights__types_8h_source.html @@ -85,53 +85,47 @@ $(document).ready(function(){initNavTree('highlights__types_8h_source.html','');
highlights_types.h
-Go to the documentation of this file.
1 /* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
15 #ifndef HIGHLIGHTS_TYPES_H
16 #define HIGHLIGHTS_TYPES_H
17 
18 #include <gfesdk/sdk_types.h>
19 #include <stdint.h>
20 #include <stdbool.h>
21 
23 typedef enum
24 {
38 
44 
48 
50 typedef enum
51 {
52  NVGSDK_HIGHLIGHT_SIGNIFICANCE_EXTREMELY_BAD = 0x00000001,
53  NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_BAD = 0x00000002,
54  NVGSDK_HIGHLIGHT_SIGNIFICANCE_BAD = 0x00000004,
55  NVGSDK_HIGHLIGHT_SIGNIFICANCE_NEUTRAL = 0x00000010,
56  NVGSDK_HIGHLIGHT_SIGNIFICANCE_GOOD = 0x00000100,
57  NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_GOOD = 0x00000200,
58  NVGSDK_HIGHLIGHT_SIGNIFICANCE_EXTREMELY_GOOD = 0x00000400,
59  NVGSDK_HIGHLIGHT_SIGNIFICANCE_MAX = 0x00000800
61 
63 typedef struct
64 {
65  char const* id;
66  bool userInterest;
72  size_t nameTableSize;
74 
76 typedef struct
77 {
78  NVGSDK_Highlight* highlightDefinitionTable;
79  size_t highlightTableSize;
80  char const* defaultLocale;
82 
84 typedef struct
85 {
86  char const* id;
87  bool enabled;
89 
91 typedef struct
92 {
93  char const* groupId;
99 
101 typedef struct
102 {
103  char const* groupId;
107 
109 typedef struct
110 {
111  char const* groupId;
112  char const* highlightId;
114 
116 typedef struct
117 {
118  char const* groupId;
119  char const* highlightId;
120  int32_t startDelta;
121  int32_t endDelta;
123 
125 typedef struct
126 {
127  char const* groupId;
131 
133 typedef struct
134 {
138 
139 
141 
143 typedef struct
144 {
145  NVGSDK_HighlightUserSetting* highlightSettingTable;
146  size_t highlightSettingTableSize;
149 typedef void(__stdcall* NVGSDK_Highlights_GetUserSettingsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_UserSettings const*, void*);
150 
152 typedef struct
153 {
154  uint16_t numberOfHighlights;
157 typedef void(__stdcall* NVGSDK_Highlights_GetNumberOfHighlightsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_NumberOfHighlights const*, void*);
158 
159 #endif // HIGHLIGHTS_TYPES_H
char const * groupId
Required ID of the group this highlight is attached to.
-
int32_t endDelta
Milliseconds between the time of request, and end of desired video clip.
-
NVGSDK_HighlightSignificance significanceFilter
If not zero, represents a bitfield of significance values to include.
- -
bool enabled
Boolean for whether the user wants to record this type of highlight.
- -
NVGSDK_HighlightSignificance significance
How significant the highlight is.
- -
void(__stdcall * NVGSDK_Highlights_GetUserSettingsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_UserSettings const *, void *)
-
char const * highlightId
Refers to unique highlight id in highlight table.
-
char const * groupId
Required ID of the group this highlight is attached to.
-
NVGSDK_HighlightSignificance
- -
char const * defaultLocale
Default locality, used for hinting GFE which translation to use. Defaults to en-us.
- -
char const * id
Unique id for game event. Max length NVGSDK_MAX_LENGTH - 1.
-
NVGSDK_HighlightType
-
NVGSDK_HighlightType highlightTags
Tags for this highlight.
- -
NVGSDK_LocalizedPair * groupDescriptionTable
-
char const * highlightId
Refers to unique highlight id in highlight table.
-
NVGSDK_GroupView * groupSummaryTable
Pass in all the groups to display on screen.
-
NVGSDK_LocalizedPair * nameTable
-
char const * id
Unique id for game event.
-
size_t groupSummaryTableSize
Number of groups contained in the table pointer.
- -
size_t nameTableSize
Number of entries in the localeNameTable */.
- -
char const * groupId
Unique ID of the group to open.
-
Invalid default value.
- - -
int32_t startDelta
Milliseconds between the time of request, and the start of desired video clip.
- -
size_t groupDescriptionTableSize
Number of entries in the groupDescriptionTable */.
-
NVGSDK_HighlightType tagsFilter
If not zero, represents a bitfield of tags to include.
-
void(__stdcall * NVGSDK_Highlights_GetNumberOfHighlightsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_NumberOfHighlights const *, void *)
- - - - +Go to the documentation of this file.
1 /* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
15 #ifndef HIGHLIGHTS_TYPES_H
16 #define HIGHLIGHTS_TYPES_H
17 
18 #include <gfesdk/sdk_types.h>
19 #include <stdint.h>
20 #include <stdbool.h>
21 
23 typedef enum
24 {
25  NVGSDK_HIGHLIGHT_SIGNIFICANCE_EXTREMELY_BAD = 0x00000001,
26  NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_BAD = 0x00000002,
27  NVGSDK_HIGHLIGHT_SIGNIFICANCE_BAD = 0x00000004,
28  NVGSDK_HIGHLIGHT_SIGNIFICANCE_NEUTRAL = 0x00000010,
29  NVGSDK_HIGHLIGHT_SIGNIFICANCE_GOOD = 0x00000100,
30  NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_GOOD = 0x00000200,
31  NVGSDK_HIGHLIGHT_SIGNIFICANCE_EXTREMELY_GOOD = 0x00000400,
32  NVGSDK_HIGHLIGHT_SIGNIFICANCE_MAX = 0x00000800
34 
36 typedef struct
37 {
38  char const* id;
39  bool userInterest;
41  NVGSDK_HighlightType highlightTags;
45  size_t nameTableSize;
47 
49 typedef struct
50 {
51  NVGSDK_Highlight* highlightDefinitionTable;
52  size_t highlightTableSize;
53  char const* defaultLocale;
55 
57 typedef struct
58 {
59  char const* id;
60  bool enabled;
62 
64 typedef struct
65 {
66  char const* groupId;
72 
74 typedef struct
75 {
76  char const* groupId;
80 
82 typedef struct
83 {
84  char const* groupId;
85  char const* highlightId;
87 
89 typedef struct
90 {
91  char const* groupId;
92  char const* highlightId;
93  int32_t startDelta;
94  int32_t endDelta;
96 
98 typedef struct
99 {
100  char const* groupId;
101  NVGSDK_HighlightType tagsFilter;
104 
106 typedef struct
107 {
111 
112 
114 
116 typedef struct
117 {
118  NVGSDK_HighlightUserSetting* highlightSettingTable;
119  size_t highlightSettingTableSize;
122 typedef void(__stdcall* NVGSDK_Highlights_GetUserSettingsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_UserSettings const*, void*);
123 
125 typedef struct
126 {
127  uint16_t numberOfHighlights;
130 typedef void(__stdcall* NVGSDK_Highlights_GetNumberOfHighlightsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_NumberOfHighlights const*, void*);
131 
132 #endif // HIGHLIGHTS_TYPES_H
char const * groupId
Required ID of the group this highlight is attached to.
+
int32_t endDelta
Milliseconds between the time of request, and end of desired video clip.
+
NVGSDK_HighlightSignificance significanceFilter
If not zero, represents a bitfield of significance values to include.
+ +
bool enabled
Boolean for whether the user wants to record this type of highlight.
+ +
NVGSDK_HighlightSignificance significance
How significant the highlight is.
+ +
void(__stdcall * NVGSDK_Highlights_GetUserSettingsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_UserSettings const *, void *)
+
char const * highlightId
Refers to unique highlight id in highlight table.
+
char const * groupId
Required ID of the group this highlight is attached to.
+
NVGSDK_HighlightSignificance
+ +
char const * defaultLocale
Default locality, used for hinting GFE which translation to use. Defaults to en-us.
+ +
char const * id
Unique id for game event. Max length NVGSDK_MAX_LENGTH - 1.
+
NVGSDK_HighlightType highlightTags
Tags for this highlight.
+ +
NVGSDK_LocalizedPair * groupDescriptionTable
+
char const * highlightId
Refers to unique highlight id in highlight table.
+
NVGSDK_GroupView * groupSummaryTable
Pass in all the groups to display on screen.
+
NVGSDK_LocalizedPair * nameTable
+
char const * id
Unique id for game event.
+
size_t groupSummaryTableSize
Number of groups contained in the table pointer.
+
size_t nameTableSize
Number of entries in the localeNameTable */.
+ +
char const * groupId
Unique ID of the group to open.
+ + +
int32_t startDelta
Milliseconds between the time of request, and the start of desired video clip.
+
size_t groupDescriptionTableSize
Number of entries in the groupDescriptionTable */.
+
NVGSDK_HighlightType tagsFilter
If not zero, represents a bitfield of tags to include.
+
void(__stdcall * NVGSDK_Highlights_GetNumberOfHighlightsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_NumberOfHighlights const *, void *)
+ + + - -
char const * groupId
Unique group ID that was used to Open a group previously.
- - - + +
char const * groupId
Unique group ID that was used to Open a group previously.
+ +
diff --git a/doc/html/highlights__types__cpp_8h_source.html b/doc/html/highlights__types__cpp_8h_source.html index 6f68674..6be7759 100644 --- a/doc/html/highlights__types__cpp_8h_source.html +++ b/doc/html/highlights__types__cpp_8h_source.html @@ -85,23 +85,22 @@ $(document).ready(function(){initNavTree('highlights__types__cpp_8h_source.html'
highlights_types_cpp.h
-
1 /* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
10 #ifndef HIGHLIGHTS_TYPES_CPP_H
11 #define HIGHLIGHTS_TYPES_CPP_H
12 
13 #include <gfesdk/bindings/cpp/sdk_types_cpp.h>
14 
15 // Avoid polluting global namespace with C api
16 namespace GfeSDK
17 {
19 }
20 
21 namespace GfeSDK
22 {
23 
26 {
27  std::string id;
28  bool userDefaultInterest;
29  NVGSDK_HighlightType highlightTags;
30  NVGSDK_HighlightSignificance significance;
31  TTranslationTable nameLocaleTable;
32 };
33 
36 {
37  std::vector<HighlightDefinition> highlightDefinitions;
38  std::string defaultLocale;
39 };
40 
43 {
44  std::string groupId;
45  TTranslationTable groupDescriptionLocaleTable;
46 };
47 
50 {
51  std::string groupId;
52  bool destroyHighlights;
53 };
54 
57 {
58  std::string groupId;
59  std::string highlightId;
60 };
61 
64 {
65  std::string groupId;
66  std::string highlightId;
67  int32_t startDelta;
68  int32_t endDelta;
69 };
70 
72 struct GroupView
73 {
74  std::string groupId;
75  NVGSDK_HighlightType tagsFilter;
76  NVGSDK_HighlightSignificance significanceFilter;
77 };
78 
81 {
82  std::vector<GroupView> groupViews;
83 };
84 
87 {
88  std::string highlightId;
89  bool enabled;
90 };
91 
93 
96 {
97  uint16_t numHighlights;
98 };
99 typedef std::function<void(NVGSDK_RetCode rc, GetNumberOfHighlightsResponse const*, void*)> TGetNumberOfHighlightsCallback;
100 
103 {
104  std::vector<HighlightUserSetting> highlightSettings;
105 };
106 typedef std::function<void(NVGSDK_RetCode rc, GetUserSettingsResponse const*, void*)> TGetUserSettingsCallback;
107 
108 }
109 
110 #endif //HIGHLIGHTS_TYPES_CPP_H
C++ binding for NVGSDK_SummaryParams.
+
1 /* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
10 #ifndef HIGHLIGHTS_TYPES_CPP_H
11 #define HIGHLIGHTS_TYPES_CPP_H
12 
13 #include <gfesdk/bindings/cpp/sdk_types_cpp.h>
14 
15 // Avoid polluting global namespace with C api
16 namespace GfeSDK
17 {
19 }
20 
21 namespace GfeSDK
22 {
23 
26 {
27  std::string id;
28  bool userDefaultInterest;
29  NVGSDK_HighlightType highlightTags;
30  NVGSDK_HighlightSignificance significance;
31  TTranslationTable nameLocaleTable;
32 };
33 
36 {
37  std::vector<HighlightDefinition> highlightDefinitions;
38  std::string defaultLocale;
39 };
40 
43 {
44  std::string groupId;
45  TTranslationTable groupDescriptionLocaleTable;
46 };
47 
50 {
51  std::string groupId;
52  bool destroyHighlights;
53 };
54 
57 {
58  std::string groupId;
59  std::string highlightId;
60 };
61 
64 {
65  std::string groupId;
66  std::string highlightId;
67  int32_t startDelta;
68  int32_t endDelta;
69 };
70 
72 struct GroupView
73 {
74  std::string groupId;
75  NVGSDK_HighlightType tagsFilter;
76  NVGSDK_HighlightSignificance significanceFilter;
77  GroupView() : tagsFilter(NVGSDK_HighlightType(0)), significanceFilter(NVGSDK_HighlightSignificance(0)) {}
78 };
79 
82 {
83  std::vector<GroupView> groupViews;
84 };
85 
88 {
89  std::string highlightId;
90  bool enabled;
91 };
92 
94 
97 {
98  uint16_t numHighlights;
99 };
100 typedef std::function<void(NVGSDK_RetCode rc, GetNumberOfHighlightsResponse const*, void*)> TGetNumberOfHighlightsCallback;
101 
104 {
105  std::vector<HighlightUserSetting> highlightSettings;
106 };
107 typedef std::function<void(NVGSDK_RetCode rc, GetUserSettingsResponse const*, void*)> TGetUserSettingsCallback;
108 
109 }
110 
111 #endif //HIGHLIGHTS_TYPES_CPP_H
C++ binding for NVGSDK_SummaryParams.
C++ binding for NVGSDK_ScreenshotHighlightParams.
C++ binding for NVGSDK_HighlightCloseGroupParams.
C++ binding for NVGSDK_HighlightOpenGroupParams.
-
C++ binding for NVGSDK_Highlights_GetUserSettingsResponse.
-
NVGSDK_HighlightSignificance
+
C++ binding for NVGSDK_Highlights_GetUserSettingsResponse.
+
NVGSDK_HighlightSignificance
C++ binding for NVGSDK_HighlightConfigParams.
C++ binding for NVGSDK_VideoHighlightParams.
-
NVGSDK_HighlightType
-
std::string highlightId
Unique id for game event.
+
std::string highlightId
Unique id for game event.
C++ binding for NVGSDK_GroupView.
-
bool enabled
Boolean for whether the user wants to record this type of highlight.
-
C++ binding for NVGSDK_GetNumberOfHighlightsResponse.
+
bool enabled
Boolean for whether the user wants to record this type of highlight.
+
C++ binding for NVGSDK_GetNumberOfHighlightsResponse.
C++ binding for NVGSDK_Highlight.
TTranslationTable nameLocaleTable
Locale/translation pairs.
-
C++ binding for NVGSDK_HighlightUserSetting.
+
C++ binding for NVGSDK_HighlightUserSetting.
diff --git a/doc/html/ihighlights_8h_source.html b/doc/html/ihighlights_8h_source.html index a4ff766..bc6dfe4 100644 --- a/doc/html/ihighlights_8h_source.html +++ b/doc/html/ihighlights_8h_source.html @@ -85,24 +85,24 @@ $(document).ready(function(){initNavTree('ihighlights_8h_source.html','');});
ihighlights.h
-Go to the documentation of this file.
1 /* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
15 #ifndef GFESDK_IHIGHLIGHTS_H
16 #define GFESDK_IHIGHLIGHTS_H
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
23 
38 NVGSDK_EXPORT void NVGSDKApi
39 NVGSDK_Highlights_ConfigureAsync(NVGSDK_HANDLE* handle, NVGSDK_HighlightConfigParams const* config, NVGSDK_EmptyCallback callback, void* context);
40 
53 NVGSDK_EXPORT void NVGSDKApi
55 
71 NVGSDK_EXPORT void NVGSDKApi
72 NVGSDK_Highlights_OpenGroupAsync(NVGSDK_HANDLE* handle, NVGSDK_HighlightOpenGroupParams const* params, NVGSDK_EmptyCallback callback, void* context);
73 
86 NVGSDK_EXPORT void NVGSDKApi
87 NVGSDK_Highlights_CloseGroupAsync(NVGSDK_HANDLE* handle, NVGSDK_HighlightCloseGroupParams const* params, NVGSDK_EmptyCallback callback, void* context);
88 
101 NVGSDK_EXPORT void NVGSDKApi
102 NVGSDK_Highlights_SetScreenshotHighlightAsync(NVGSDK_HANDLE* handle, NVGSDK_ScreenshotHighlightParams const* params, NVGSDK_EmptyCallback callback, void* context);
103 
126 NVGSDK_EXPORT void NVGSDKApi
127 NVGSDK_Highlights_SetVideoHighlightAsync(NVGSDK_HANDLE* handle, NVGSDK_VideoHighlightParams const*, NVGSDK_EmptyCallback callback, void* context);
128 
138 NVGSDK_EXPORT void NVGSDKApi
139 NVGSDK_Highlights_OpenSummaryAsync(NVGSDK_HANDLE* handle, NVGSDK_SummaryParams const* params, NVGSDK_EmptyCallback callback, void* context);
140 
150 NVGSDK_EXPORT void NVGSDKApi
152 
153 #ifdef __cplusplus
154 }
155 #endif
156 
157 #endif // GFESDK_IHIGHLIGHTS_H
- - -
void(__stdcall * NVGSDK_Highlights_GetUserSettingsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_UserSettings const *, void *)
- +Go to the documentation of this file.
1 /* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
15 #ifndef GFESDK_IHIGHLIGHTS_H
16 #define GFESDK_IHIGHLIGHTS_H
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
23 
38 NVGSDK_EXPORT void NVGSDKApi
39 NVGSDK_Highlights_ConfigureAsync(NVGSDK_HANDLE* handle, NVGSDK_HighlightConfigParams const* config, NVGSDK_EmptyCallback callback, void* context);
40 
53 NVGSDK_EXPORT void NVGSDKApi
55 
71 NVGSDK_EXPORT void NVGSDKApi
72 NVGSDK_Highlights_OpenGroupAsync(NVGSDK_HANDLE* handle, NVGSDK_HighlightOpenGroupParams const* params, NVGSDK_EmptyCallback callback, void* context);
73 
86 NVGSDK_EXPORT void NVGSDKApi
87 NVGSDK_Highlights_CloseGroupAsync(NVGSDK_HANDLE* handle, NVGSDK_HighlightCloseGroupParams const* params, NVGSDK_EmptyCallback callback, void* context);
88 
101 NVGSDK_EXPORT void NVGSDKApi
102 NVGSDK_Highlights_SetScreenshotHighlightAsync(NVGSDK_HANDLE* handle, NVGSDK_ScreenshotHighlightParams const* params, NVGSDK_EmptyCallback callback, void* context);
103 
126 NVGSDK_EXPORT void NVGSDKApi
127 NVGSDK_Highlights_SetVideoHighlightAsync(NVGSDK_HANDLE* handle, NVGSDK_VideoHighlightParams const*, NVGSDK_EmptyCallback callback, void* context);
128 
138 NVGSDK_EXPORT void NVGSDKApi
139 NVGSDK_Highlights_OpenSummaryAsync(NVGSDK_HANDLE* handle, NVGSDK_SummaryParams const* params, NVGSDK_EmptyCallback callback, void* context);
140 
150 NVGSDK_EXPORT void NVGSDKApi
152 
153 #ifdef __cplusplus
154 }
155 #endif
156 
157 #endif // GFESDK_IHIGHLIGHTS_H
+ + +
void(__stdcall * NVGSDK_Highlights_GetUserSettingsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_UserSettings const *, void *)
+
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_OpenGroupAsync(NVGSDK_HANDLE *handle, NVGSDK_HighlightOpenGroupParams const *params, NVGSDK_EmptyCallback callback, void *context)
- +
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_GetUserSettingsAsync(NVGSDK_HANDLE *handle, NVGSDK_Highlights_GetUserSettingsCallback cb, void *cbContext)
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_SetScreenshotHighlightAsync(NVGSDK_HANDLE *handle, NVGSDK_ScreenshotHighlightParams const *params, NVGSDK_EmptyCallback callback, void *context)
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_ConfigureAsync(NVGSDK_HANDLE *handle, NVGSDK_HighlightConfigParams const *config, NVGSDK_EmptyCallback callback, void *context)
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_GetNumberOfHighlightsAsync(NVGSDK_HANDLE *handle, NVGSDK_GroupView const *groupParams, NVGSDK_Highlights_GetNumberOfHighlightsCallback cb, void *context)
- +
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_CloseGroupAsync(NVGSDK_HANDLE *handle, NVGSDK_HighlightCloseGroupParams const *params, NVGSDK_EmptyCallback callback, void *context)
-
void(__stdcall * NVGSDK_EmptyCallback)(NVGSDK_RetCode, void *)
Definition: sdk_types.h:132
+
void(__stdcall * NVGSDK_EmptyCallback)(NVGSDK_RetCode, void *)
Definition: sdk_types.h:136
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_SetVideoHighlightAsync(NVGSDK_HANDLE *handle, NVGSDK_VideoHighlightParams const *, NVGSDK_EmptyCallback callback, void *context)
-
void(__stdcall * NVGSDK_Highlights_GetNumberOfHighlightsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_NumberOfHighlights const *, void *)
+
void(__stdcall * NVGSDK_Highlights_GetNumberOfHighlightsCallback)(NVGSDK_RetCode, NVGSDK_Highlights_NumberOfHighlights const *, void *)
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_OpenSummaryAsync(NVGSDK_HANDLE *handle, NVGSDK_SummaryParams const *params, NVGSDK_EmptyCallback callback, void *context)
- +
diff --git a/doc/html/ihighlights__cpp_8h_source.html b/doc/html/ihighlights__cpp_8h_source.html index fec6e91..a7f941c 100644 --- a/doc/html/ihighlights__cpp_8h_source.html +++ b/doc/html/ihighlights__cpp_8h_source.html @@ -86,7 +86,7 @@ $(document).ready(function(){initNavTree('ihighlights__cpp_8h_source.html','');}
Go to the documentation of this file.
1 /* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
16 #ifndef GFESDK_IHIGHLIGHTS_CPP_H
17 #define GFESDK_IHIGHLIGHTS_CPP_H
18 
20 #include <gfesdk/bindings/cpp/highlights/highlights_types_cpp.h>
21 
22 namespace GfeSDK
23 {
24 // Avoid polluting global namespace with C api, so put it inside namespace
26 
29 {
30 public:
31  static Highlights* Create(Core* core);
32  virtual ~Highlights() {}
33 
35  virtual void ConfigureAsync(HighlightConfigParams const& params, TCallback cb = nullptr, void* cbContext = nullptr) = 0;
37  virtual void GetUserSettingsAsync(TGetUserSettingsCallback cb = nullptr, void* cbContext = nullptr) const = 0;
39  virtual void OpenGroupAsync(HighlightOpenGroupParams const& params, TCallback cb = nullptr, void* cbContext = nullptr) = 0;
41  virtual void CloseGroupAsync(HighlightCloseGroupParams const& params, TCallback cb = nullptr, void* cbContext = nullptr) = 0;
43  virtual void SetScreenshotHighlightAsync(ScreenshotHighlightParams const& params, TCallback cb = nullptr, void* cbContext = nullptr) = 0;
45  virtual void SetVideoHighlightAsync(VideoHighlightParams const& params, TCallback cb = nullptr, void* cbContext = nullptr) = 0;
47  virtual void OpenSummaryAsync(SummaryParams const& params, TCallback cb = nullptr, void* cbContext = nullptr) = 0;
49  virtual void GetNumberOfHighlightsAsync(GroupView const& params, TGetNumberOfHighlightsCallback cb = nullptr, void* cbContext = nullptr) = 0;
50 };
51 }
52 
53 #endif //GFESDK_IHIGHLIGHTS_CPP_H
virtual void GetNumberOfHighlightsAsync(GroupView const &params, TGetNumberOfHighlightsCallback cb=nullptr, void *cbContext=nullptr)=0
-
C++ binding for NVGSDK_SummaryParams.
+
C++ binding for NVGSDK_SummaryParams.
C++ binding for NVGSDK_ScreenshotHighlightParams.
C++ binding for NVGSDK_HighlightCloseGroupParams.
C++ binding for NVGSDK_HighlightOpenGroupParams.
diff --git a/doc/html/ihighlights__cpp__impl_8h_source.html b/doc/html/ihighlights__cpp__impl_8h_source.html index 92b6a0f..ffdb728 100644 --- a/doc/html/ihighlights__cpp__impl_8h_source.html +++ b/doc/html/ihighlights__cpp__impl_8h_source.html @@ -85,64 +85,64 @@ $(document).ready(function(){initNavTree('ihighlights__cpp__impl_8h_source.html'
ihighlights_cpp_impl.h
-Go to the documentation of this file.
1 /* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
16 #ifndef GFESDK_IHIGHLIGHTS_CPP_IMPL_H
17 #define GFESDK_IHIGHLIGHTS_CPP_IMPL_H
18 
19 #include "ihighlights_cpp.h"
21 
22 #include <memory>
23 
24 namespace GfeSDK
25 {
26 class HighlightsImpl : public Highlights
27 {
28 public:
30  virtual void ConfigureAsync(HighlightConfigParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
32  virtual void GetUserSettingsAsync(TGetUserSettingsCallback cb = nullptr, void* cbContext = nullptr) const;
34  virtual void OpenGroupAsync(HighlightOpenGroupParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
36  virtual void CloseGroupAsync(HighlightCloseGroupParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
38  virtual void SetScreenshotHighlightAsync(ScreenshotHighlightParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
40  virtual void SetVideoHighlightAsync(VideoHighlightParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
42  virtual void OpenSummaryAsync(SummaryParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
44  virtual void GetNumberOfHighlightsAsync(GroupView const& params, TGetNumberOfHighlightsCallback cb = nullptr, void* cbContext = nullptr);
45 
46  friend class Highlights;
47 private:
48  // Remove default construct, copy and assignment operators
49  HighlightsImpl(Core* core) : m_handle(core ? core->GetHandle() : nullptr) {}
50  HighlightsImpl(const HighlightsImpl& other) {}
51  HighlightsImpl& operator=(const HighlightsImpl& other) {}
52 
53 private:
54  NVGSDK_HANDLE* m_handle;
55 };
56 
57 inline Highlights* Highlights::Create(Core* core)
58 {
59  return new HighlightsImpl(core);
60 }
61 
62 inline void HighlightsImpl::ConfigureAsync(HighlightConfigParams const& params, TCallback callback, void* context)
63 {
65  std::vector<NVGSDK_Highlight> cHighlights;
66  std::vector<std::vector<NVGSDK_LocalizedPair>> cLocaleMaps;
67  for (auto it = params.highlightDefinitions.begin(); it != params.highlightDefinitions.end(); ++it)
68  {
69  cLocaleMaps.push_back(std::vector<NVGSDK_LocalizedPair>());
70  for (auto localeIt = it->nameLocaleTable.begin(); localeIt != it->nameLocaleTable.end(); ++localeIt)
71  {
72  cLocaleMaps.back().push_back({
73  localeIt->first.c_str(),
74  localeIt->second.c_str()
75  });
76  }
77  cHighlights.push_back({
78  it->id.c_str(),
79  it->userDefaultInterest,
80  it->highlightTags,
81  it->significance,
82  &cLocaleMaps.back()[0],
83  it->nameLocaleTable.size()
84  });
85  }
86  cParams.highlightDefinitionTable = &cHighlights[0];
87  cParams.highlightTableSize = cHighlights.size();
88  cParams.defaultLocale = params.defaultLocale.c_str();
89  NVGSDK_Highlights_ConfigureAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
90 }
91 
92 inline void HighlightsImpl::GetUserSettingsAsync(TGetUserSettingsCallback callback, void* context) const
93 {
94  NVGSDK_Highlights_GetUserSettingsAsync(m_handle, [](NVGSDK_RetCode rc, NVGSDK_Highlights_UserSettings const* data, void* context) {
95  std::unique_ptr<CoreImpl::CallbackContext<TGetUserSettingsCallback>> callbackContext(reinterpret_cast<CoreImpl::CallbackContext<TGetUserSettingsCallback>*>(context));
96  if (!callbackContext->callback) return;
97 
98  if (NVGSDK_FAILED(rc))
99  {
100  return callbackContext->callback(rc, nullptr, callbackContext->appContext);
101  }
102 
104  for (size_t i = 0; i < data->highlightSettingTableSize; ++i)
105  {
106  r.highlightSettings.push_back({
107  data->highlightSettingTable[i].id,
108  data->highlightSettingTable[i].enabled
109  });
110  }
111  callbackContext->callback(rc, &r, callbackContext->appContext);
112  }, new CoreImpl::CallbackContext<TGetUserSettingsCallback>({ callback, context }));
113 }
114 
115 inline void HighlightsImpl::OpenGroupAsync(HighlightOpenGroupParams const& params, TCallback callback, void* context)
116 {
118 
119  std::vector<NVGSDK_LocalizedPair> localePairs;
120  CoreImpl::translateLocaleTable(params.groupDescriptionLocaleTable, localePairs);
121  cParams.groupId = params.groupId.c_str();
122  cParams.groupDescriptionTable = &localePairs[0];
123  cParams.groupDescriptionTableSize = localePairs.size();
124 
125  NVGSDK_Highlights_OpenGroupAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
126 }
127 
128 inline void HighlightsImpl::CloseGroupAsync(HighlightCloseGroupParams const& params, TCallback callback, void* context)
129 {
131  cParams.groupId = params.groupId.c_str();
132  cParams.destroyHighlights = params.destroyHighlights;
133 
134  NVGSDK_Highlights_CloseGroupAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
135 }
136 
137 inline void HighlightsImpl::SetScreenshotHighlightAsync(ScreenshotHighlightParams const& params, TCallback callback, void* context)
138 {
140  cParams.groupId = params.groupId.c_str();
141  cParams.highlightId = params.highlightId.c_str();
142  NVGSDK_Highlights_SetScreenshotHighlightAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
143 }
144 
145 inline void HighlightsImpl::SetVideoHighlightAsync(VideoHighlightParams const& params, TCallback callback, void* context)
146 {
148  cParams.groupId = params.groupId.c_str();
149  cParams.highlightId = params.highlightId.c_str();
150  cParams.startDelta = params.startDelta;
151  cParams.endDelta = params.endDelta;
152  NVGSDK_Highlights_SetVideoHighlightAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
153 }
154 
155 inline void HighlightsImpl::OpenSummaryAsync(SummaryParams const& params, TCallback callback, void* context)
156 {
157  std::vector<NVGSDK_GroupView> cGroupViews;
158  for (auto it = params.groupViews.begin(); it != params.groupViews.end(); ++it)
159  {
160  cGroupViews.push_back({
161  it->groupId.c_str(),
162  it->tagsFilter,
163  it->significanceFilter
164  });
165  }
166 
167  NVGSDK_SummaryParams cParams;
168  cParams.groupSummaryTable = &cGroupViews[0];
169  cParams.groupSummaryTableSize = cGroupViews.size();
170  NVGSDK_Highlights_OpenSummaryAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
171 }
172 
173 inline void HighlightsImpl::GetNumberOfHighlightsAsync(GroupView const& params, TGetNumberOfHighlightsCallback callback, void* context)
174 {
175  NVGSDK_GroupView cParams;
176  cParams.groupId = params.groupId.c_str();
177  cParams.tagsFilter = params.tagsFilter;
178  cParams.significanceFilter = params.significanceFilter;
179  NVGSDK_Highlights_GetNumberOfHighlightsAsync(m_handle, &cParams, [](NVGSDK_RetCode rc, NVGSDK_Highlights_NumberOfHighlights const* data, void* context) {
180  std::unique_ptr<CoreImpl::CallbackContext<TGetNumberOfHighlightsCallback>> callbackContext(reinterpret_cast<CoreImpl::CallbackContext<TGetNumberOfHighlightsCallback>*>(context));
181  if (!callbackContext->callback) return;
182 
183  if (NVGSDK_FAILED(rc))
184  {
185  return callbackContext->callback(rc, nullptr, callbackContext->appContext);
186  }
187 
189  num.numHighlights = data->numberOfHighlights;
190  callbackContext->callback(rc, &num, callbackContext->appContext);
191  }, new CoreImpl::CallbackContext<TGetNumberOfHighlightsCallback>({ callback, context }));
192 }
193 
194 }
195 
196 #endif //GFESDK_IHIGHLIGHTS_CPP_IMPL_H
char const * groupId
Required ID of the group this highlight is attached to.
-
int32_t endDelta
Milliseconds between the time of request, and end of desired video clip.
-
C++ binding for NVGSDK_SummaryParams.
-
NVGSDK_HighlightSignificance significanceFilter
If not zero, represents a bitfield of significance values to include.
+Go to the documentation of this file.
1 /* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
16 #ifndef GFESDK_IHIGHLIGHTS_CPP_IMPL_H
17 #define GFESDK_IHIGHLIGHTS_CPP_IMPL_H
18 
19 #include "ihighlights_cpp.h"
21 
22 #include <memory>
23 
24 namespace GfeSDK
25 {
26 class HighlightsImpl : public Highlights
27 {
28 public:
30  virtual void ConfigureAsync(HighlightConfigParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
32  virtual void GetUserSettingsAsync(TGetUserSettingsCallback cb = nullptr, void* cbContext = nullptr) const;
34  virtual void OpenGroupAsync(HighlightOpenGroupParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
36  virtual void CloseGroupAsync(HighlightCloseGroupParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
38  virtual void SetScreenshotHighlightAsync(ScreenshotHighlightParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
40  virtual void SetVideoHighlightAsync(VideoHighlightParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
42  virtual void OpenSummaryAsync(SummaryParams const& params, TCallback cb = nullptr, void* cbContext = nullptr);
44  virtual void GetNumberOfHighlightsAsync(GroupView const& params, TGetNumberOfHighlightsCallback cb = nullptr, void* cbContext = nullptr);
45 
46  friend class Highlights;
47 private:
48  // Remove default construct, copy and assignment operators
49  HighlightsImpl(Core* core) : m_handle(core ? core->GetHandle() : nullptr) {}
50  HighlightsImpl(const HighlightsImpl& other) {}
51  HighlightsImpl& operator=(const HighlightsImpl& other) {}
52 
53 private:
54  NVGSDK_HANDLE* m_handle;
55 };
56 
57 inline Highlights* Highlights::Create(Core* core)
58 {
59  return new HighlightsImpl(core);
60 }
61 
62 inline void HighlightsImpl::ConfigureAsync(HighlightConfigParams const& params, TCallback callback, void* context)
63 {
65  std::vector<NVGSDK_Highlight> cHighlights;
66  std::vector<std::vector<NVGSDK_LocalizedPair>> cLocaleMaps;
67  for (auto it = params.highlightDefinitions.begin(); it != params.highlightDefinitions.end(); ++it)
68  {
69  cLocaleMaps.push_back(std::vector<NVGSDK_LocalizedPair>());
70  for (auto localeIt = it->nameLocaleTable.begin(); localeIt != it->nameLocaleTable.end(); ++localeIt)
71  {
72  cLocaleMaps.back().push_back({
73  localeIt->first.c_str(),
74  localeIt->second.c_str()
75  });
76  }
77  cHighlights.push_back({
78  it->id.c_str(),
79  it->userDefaultInterest,
80  it->highlightTags,
81  it->significance,
82  &cLocaleMaps.back()[0],
83  it->nameLocaleTable.size()
84  });
85  }
86  cParams.highlightDefinitionTable = &cHighlights[0];
87  cParams.highlightTableSize = cHighlights.size();
88  cParams.defaultLocale = params.defaultLocale.c_str();
89  NVGSDK_Highlights_ConfigureAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
90 }
91 
92 inline void HighlightsImpl::GetUserSettingsAsync(TGetUserSettingsCallback callback, void* context) const
93 {
94  NVGSDK_Highlights_GetUserSettingsAsync(m_handle, [](NVGSDK_RetCode rc, NVGSDK_Highlights_UserSettings const* data, void* context) {
95  std::unique_ptr<CoreImpl::CallbackContext<TGetUserSettingsCallback>> callbackContext(reinterpret_cast<CoreImpl::CallbackContext<TGetUserSettingsCallback>*>(context));
96  if (!callbackContext->callback) return;
97 
98  if (NVGSDK_FAILED(rc))
99  {
100  return callbackContext->callback(rc, nullptr, callbackContext->appContext);
101  }
102 
104  for (size_t i = 0; i < data->highlightSettingTableSize; ++i)
105  {
106  r.highlightSettings.push_back({
107  data->highlightSettingTable[i].id,
108  data->highlightSettingTable[i].enabled
109  });
110  }
111  callbackContext->callback(rc, &r, callbackContext->appContext);
112  }, new CoreImpl::CallbackContext<TGetUserSettingsCallback>({ callback, context }));
113 }
114 
115 inline void HighlightsImpl::OpenGroupAsync(HighlightOpenGroupParams const& params, TCallback callback, void* context)
116 {
118 
119  std::vector<NVGSDK_LocalizedPair> localePairs;
120  CoreImpl::translateLocaleTable(params.groupDescriptionLocaleTable, localePairs);
121  cParams.groupId = params.groupId.c_str();
122  cParams.groupDescriptionTable = &localePairs[0];
123  cParams.groupDescriptionTableSize = localePairs.size();
124 
125  NVGSDK_Highlights_OpenGroupAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
126 }
127 
128 inline void HighlightsImpl::CloseGroupAsync(HighlightCloseGroupParams const& params, TCallback callback, void* context)
129 {
131  cParams.groupId = params.groupId.c_str();
132  cParams.destroyHighlights = params.destroyHighlights;
133 
134  NVGSDK_Highlights_CloseGroupAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
135 }
136 
137 inline void HighlightsImpl::SetScreenshotHighlightAsync(ScreenshotHighlightParams const& params, TCallback callback, void* context)
138 {
140  cParams.groupId = params.groupId.c_str();
141  cParams.highlightId = params.highlightId.c_str();
142  NVGSDK_Highlights_SetScreenshotHighlightAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
143 }
144 
145 inline void HighlightsImpl::SetVideoHighlightAsync(VideoHighlightParams const& params, TCallback callback, void* context)
146 {
148  cParams.groupId = params.groupId.c_str();
149  cParams.highlightId = params.highlightId.c_str();
150  cParams.startDelta = params.startDelta;
151  cParams.endDelta = params.endDelta;
152  NVGSDK_Highlights_SetVideoHighlightAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
153 }
154 
155 inline void HighlightsImpl::OpenSummaryAsync(SummaryParams const& params, TCallback callback, void* context)
156 {
157  std::vector<NVGSDK_GroupView> cGroupViews;
158  for (auto it = params.groupViews.begin(); it != params.groupViews.end(); ++it)
159  {
160  cGroupViews.push_back({
161  it->groupId.c_str(),
162  it->tagsFilter,
163  it->significanceFilter
164  });
165  }
166 
167  NVGSDK_SummaryParams cParams;
168  cParams.groupSummaryTable = &cGroupViews[0];
169  cParams.groupSummaryTableSize = cGroupViews.size();
170  NVGSDK_Highlights_OpenSummaryAsync(m_handle, &cParams, CoreImpl::callbackWrapper, new CoreImpl::CallbackContext<TCallback>({ callback, context }));
171 }
172 
173 inline void HighlightsImpl::GetNumberOfHighlightsAsync(GroupView const& params, TGetNumberOfHighlightsCallback callback, void* context)
174 {
175  NVGSDK_GroupView cParams;
176  cParams.groupId = params.groupId.c_str();
177  cParams.tagsFilter = params.tagsFilter;
178  cParams.significanceFilter = params.significanceFilter;
179  NVGSDK_Highlights_GetNumberOfHighlightsAsync(m_handle, &cParams, [](NVGSDK_RetCode rc, NVGSDK_Highlights_NumberOfHighlights const* data, void* context) {
180  std::unique_ptr<CoreImpl::CallbackContext<TGetNumberOfHighlightsCallback>> callbackContext(reinterpret_cast<CoreImpl::CallbackContext<TGetNumberOfHighlightsCallback>*>(context));
181  if (!callbackContext->callback) return;
182 
183  if (NVGSDK_FAILED(rc))
184  {
185  return callbackContext->callback(rc, nullptr, callbackContext->appContext);
186  }
187 
189  num.numHighlights = data->numberOfHighlights;
190  callbackContext->callback(rc, &num, callbackContext->appContext);
191  }, new CoreImpl::CallbackContext<TGetNumberOfHighlightsCallback>({ callback, context }));
192 }
193 
194 }
195 
196 #endif //GFESDK_IHIGHLIGHTS_CPP_IMPL_H
char const * groupId
Required ID of the group this highlight is attached to.
+
int32_t endDelta
Milliseconds between the time of request, and end of desired video clip.
+
C++ binding for NVGSDK_SummaryParams.
+
NVGSDK_HighlightSignificance significanceFilter
If not zero, represents a bitfield of significance values to include.
virtual void GetNumberOfHighlightsAsync(GroupView const &params, TGetNumberOfHighlightsCallback cb=nullptr, void *cbContext=nullptr)
- +
C++ binding for NVGSDK_ScreenshotHighlightParams.
-
bool enabled
Boolean for whether the user wants to record this type of highlight.
+
bool enabled
Boolean for whether the user wants to record this type of highlight.
C++ binding for NVGSDK_HighlightCloseGroupParams.
C++ binding for NVGSDK_HighlightOpenGroupParams.
virtual void SetVideoHighlightAsync(VideoHighlightParams const &params, TCallback cb=nullptr, void *cbContext=nullptr)
- -
C++ binding for NVGSDK_Highlights_GetUserSettingsResponse.
- -
char const * highlightId
Refers to unique highlight id in highlight table.
+ +
C++ binding for NVGSDK_Highlights_GetUserSettingsResponse.
+ +
char const * highlightId
Refers to unique highlight id in highlight table.
virtual void CloseGroupAsync(HighlightCloseGroupParams const &params, TCallback cb=nullptr, void *cbContext=nullptr)
-
char const * groupId
Required ID of the group this highlight is attached to.
- -
char const * defaultLocale
Default locality, used for hinting GFE which translation to use. Defaults to en-us.
+
char const * groupId
Required ID of the group this highlight is attached to.
+ +
char const * defaultLocale
Default locality, used for hinting GFE which translation to use. Defaults to en-us.
virtual void OpenGroupAsync(HighlightOpenGroupParams const &params, TCallback cb=nullptr, void *cbContext=nullptr)
C++ binding for NVGSDK_HighlightConfigParams.
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_OpenGroupAsync(NVGSDK_HANDLE *handle, NVGSDK_HighlightOpenGroupParams const *params, NVGSDK_EmptyCallback callback, void *context)
C++ binding for NVGSDK_VideoHighlightParams.
- +
virtual void OpenSummaryAsync(SummaryParams const &params, TCallback cb=nullptr, void *cbContext=nullptr)
-
NVGSDK_LocalizedPair * groupDescriptionTable
-
char const * highlightId
Refers to unique highlight id in highlight table.
-
NVGSDK_GroupView * groupSummaryTable
Pass in all the groups to display on screen.
+
NVGSDK_LocalizedPair * groupDescriptionTable
+
char const * highlightId
Refers to unique highlight id in highlight table.
+
NVGSDK_GroupView * groupSummaryTable
Pass in all the groups to display on screen.
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_GetUserSettingsAsync(NVGSDK_HANDLE *handle, NVGSDK_Highlights_GetUserSettingsCallback cb, void *cbContext)
-
char const * id
Unique id for game event.
+
char const * id
Unique id for game event.
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_SetScreenshotHighlightAsync(NVGSDK_HANDLE *handle, NVGSDK_ScreenshotHighlightParams const *params, NVGSDK_EmptyCallback callback, void *context)
-
size_t groupSummaryTableSize
Number of groups contained in the table pointer.
+
size_t groupSummaryTableSize
Number of groups contained in the table pointer.
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_ConfigureAsync(NVGSDK_HANDLE *handle, NVGSDK_HighlightConfigParams const *config, NVGSDK_EmptyCallback callback, void *context)
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_GetNumberOfHighlightsAsync(NVGSDK_HANDLE *handle, NVGSDK_GroupView const *groupParams, NVGSDK_Highlights_GetNumberOfHighlightsCallback cb, void *context)
virtual void SetScreenshotHighlightAsync(ScreenshotHighlightParams const &params, TCallback cb=nullptr, void *cbContext=nullptr)
- +
C++ binding for NVGSDK_GroupView.
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_CloseGroupAsync(NVGSDK_HANDLE *handle, NVGSDK_HighlightCloseGroupParams const *params, NVGSDK_EmptyCallback callback, void *context)
-
char const * groupId
Unique ID of the group to open.
- +
char const * groupId
Unique ID of the group to open.
+
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_SetVideoHighlightAsync(NVGSDK_HANDLE *handle, NVGSDK_VideoHighlightParams const *, NVGSDK_EmptyCallback callback, void *context)
virtual void ConfigureAsync(HighlightConfigParams const &params, TCallback cb=nullptr, void *cbContext=nullptr)
-
C++ binding for NVGSDK_GetNumberOfHighlightsResponse.
-
int32_t startDelta
Milliseconds between the time of request, and the start of desired video clip.
+
C++ binding for NVGSDK_GetNumberOfHighlightsResponse.
+
int32_t startDelta
Milliseconds between the time of request, and the start of desired video clip.
-
size_t groupDescriptionTableSize
Number of entries in the groupDescriptionTable */.
-
NVGSDK_HighlightType tagsFilter
If not zero, represents a bitfield of tags to include.
+
size_t groupDescriptionTableSize
Number of entries in the groupDescriptionTable */.
+
NVGSDK_HighlightType tagsFilter
If not zero, represents a bitfield of tags to include.
virtual void GetUserSettingsAsync(TGetUserSettingsCallback cb=nullptr, void *cbContext=nullptr) const
- - + +
NVGSDK_EXPORT void NVGSDKApi NVGSDK_Highlights_OpenSummaryAsync(NVGSDK_HANDLE *handle, NVGSDK_SummaryParams const *params, NVGSDK_EmptyCallback callback, void *context)
-
char const * groupId
Unique group ID that was used to Open a group previously.
- - +
char const * groupId
Unique group ID that was used to Open a group previously.
+ +
diff --git a/doc/html/index.html b/doc/html/index.html index bde4500..ef483a1 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -88,7 +88,7 @@ $(document).ready(function(){initNavTree('index.html','');});

NVIDIA GeForce Experience SDK

@@ -122,20 +122,20 @@ Using GfeSDK

Creation and Release

C++ Bindings

-
inParams.appName = "MyGame";
inParams.requiredScopes = { NVGSDK_SCOPE_HIGHLIGHTS, NVGSDK_SCOPE_HIGHLIGHTS_VIDEO, NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT };
inParams.pollForCallbacks = false;
GfeSDK::Core* core = GfeSDK::Core::Create(&inParams, &response);
GfeSDK::Highlights* highlights = GfeSDK::Highlights::Create(core);

// After using GfeSDK

+
inParams.appName = "MyGame";
inParams.requiredScopes = { NVGSDK_SCOPE_HIGHLIGHTS, NVGSDK_SCOPE_HIGHLIGHTS_VIDEO, NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT };
inParams.pollForCallbacks = false;
GfeSDK::Core* core = GfeSDK::Core::Create(&inParams, &response);
GfeSDK::Highlights* highlights = GfeSDK::Highlights::Create(core);

// After using GfeSDK

delete core;

C API

-
NVGSDK_HANDLE* handle;
memset(inParams, 0, sizeof(inParams));
NVGSDK_Scope scopes[] = { NVGSDK_SCOPE_HIGHLIGHTS, NVGSDK_SCOPE_HIGHLIGHTS_VIDEO, NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT };
NVGSDK_Scope scopePermissions[3];
inParams.appName = "MyGame";
inParams.scopeTable = &scopes[0];
inParams.scopeTableSize = 3;
inParams.pollForCallbacks = false;
response.scopePermissionTable = &scopePermissions[0];
response.scopePermissionsTableSize = 3;
NVGSDK_Create(handle, &inParams, &response);

// After using GfeSDK

+
NVGSDK_HANDLE* handle;
memset(inParams, 0, sizeof(inParams));
NVGSDK_Scope scopes[] = { NVGSDK_SCOPE_HIGHLIGHTS, NVGSDK_SCOPE_HIGHLIGHTS_VIDEO, NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT };
NVGSDK_ScopePermission scopePermissions[3];
inParams.appName = "MyGame";
inParams.scopeTable = &scopes[0];
inParams.scopeTableSize = 3;
inParams.pollForCallbacks = false;
response.scopePermissionTable = &scopePermissions[0];
response.scopePermissionsTableSize = 3;
NVGSDK_Create(handle, &inParams, &response);

// After using GfeSDK

NVGSDK_Release(handle);

Request Permissions

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.

C++ Bindings

// Got GfeSDK::CreateResponse after GfeSDK::Core::Create call
for (auto& scopePermission : response.scopePermissions)
{
if (scopePermission.permission == NVGSDK_PERMISSION_MUST_ASK)
{
params.scope.push_back(scopePermission.scope);
}
}
core->RequestPermissions(&params);

C API

-
// Got NVGSDK_CreateResponse after NVGSDK_Create call
NVGSDK_Scope scopesToRequest[3];
int n = 0;
for (int i = 0; i < response.scopePermissionTableSize; ++i)
{
if (response.scopePermissionTable[i].permission == NVGSDK_PERMISSION_MUST_ASK)
{
scopesToRequest[n++] = response.scopePermissionTable[i].scope;
}
}
params.scopeTable = &scopesToRequest[0];
params.scopeTableSize = n;
// Will display overlay UI to the user
NVGSDK_RequestPermissionsAsync(handle, &params, NULL, NULL);

+
// Got NVGSDK_CreateResponse after NVGSDK_Create call
NVGSDK_Scope scopesToRequest[3];
int n = 0;
for (int i = 0; i < response.scopePermissionTableSize; ++i)
{
if (response.scopePermissionTable[i].permission == NVGSDK_PERMISSION_MUST_ASK)
{
scopesToRequest[n++] = response.scopePermissionTable[i].scope;
}
}
params.scopeTable = &scopesToRequest[0];
params.scopeTableSize = n;
// Will display overlay UI to the user
NVGSDK_RequestPermissionsAsync(handle, &params, NULL, NULL);

Configure Highlights

This only needs to happen once ever. It is persistent. It could even happen during game installation.

C++ Bindings

-
// Must have handle to Highlights object via GfeSDK::Highlights::Create()
HighlightsConfigParams params;
params.highlightDefinitions = {
{
"highlight1",
true,
NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_GOOD,
{
{ "en-US", "Highlight One" },
{ "es-MX", "Resalte Uno" }
}
},
{
"highlight2",
true,
NVGSDK_HIGHLIGHT_TYPE_MILESTONE | NVGSDK_HIGHLIGHTS_TYPE_STATE_CHANGE,
NVGSDK_HIGHLIGHT_SIGNIFICANCE_NEUTRAL,
{
{ "en-US", "Highlight Two" },
{ "es-MX", "Resalte Dos" }
}
},
};
params.defaultLocale = "en-US";
highlights->ConfigureAsync(&params);

C API

-
int const NUM_HIGHLIGHTS = 2;
NVGSDK_Highlight highlights[NUM_HIGHLIGHTS];
memset(highlights, 0, sizeof(NVGSDK_Highlight * NUM_HIGHLIGHTS));
NVGSDK_LocalizedPair highlight1Translation[2] = {
{ "en-US", "Highlight One" },
{ "es-MX", "Resalte Uno" }
};
highlights[0].id = "highlight1";
highlights[0].userInterest = true;
highlights[0].significance = NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_GOOD;
highlights[0].nameTable = &highlight1Translation[0];
highlights[0].nameTableSize = 2;
NVGSDK_LocalizedPair highlight2Translation[2] = {
{ "en-US", "Highlight Two" },
{ "es-MX", "Resalte Dos" }
};
highlights[1].id = "highlight2";
highlights[1].userInterest = true;
highlights[1].highlightTags = NVGSDK_HIGHLIGHT_TYPE_MILESTONE | NVGSDK_HIGHLIGHTS_TYPE_STATE_CHANGE;
highlights[1].significance = NVGSDK_HIGHLIGHT_SIGNIFICANCE_NEUTRAL;
highlights[1].nameTable = &highlight2Translation[0];
highlights[1].nameTableSize = 2;
params.highlightDefinitionTable = &highlights[0];
params.highlightTableSize = NUM_HIGHLIGHTS;
params.defaultLocale = "en-US";
NVGSDK_Highlights_ConfigureAsync(handle, &params, NULL, NULL);

+
// Must have handle to Highlights object via GfeSDK::Highlights::Create()
HighlightsConfigParams params;
params.highlightDefinitions = {
{
"highlight1",
true,
NVGSDK_HIGHLIGHT_TYPE_ACHIEVEMENT,
NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_GOOD,
{
{ "en-US", "Highlight One" },
{ "es-MX", "Resalte Uno" }
}
},
{
"highlight2",
true,
NVGSDK_HIGHLIGHT_TYPE_MILESTONE | NVGSDK_HIGHLIGHTS_TYPE_STATE_CHANGE,
NVGSDK_HIGHLIGHT_SIGNIFICANCE_NEUTRAL,
{
{ "en-US", "Highlight Two" },
{ "es-MX", "Resalte Dos" }
}
},
};
params.defaultLocale = "en-US";
highlights->ConfigureAsync(&params);

C API

+
int const NUM_HIGHLIGHTS = 2;
NVGSDK_Highlight highlights[NUM_HIGHLIGHTS];
memset(highlights, 0, sizeof(NVGSDK_Highlight * NUM_HIGHLIGHTS));
NVGSDK_LocalizedPair highlight1Translation[2] = {
{ "en-US", "Highlight One" },
{ "es-MX", "Resalte Uno" }
};
highlights[0].id = "highlight1";
highlights[0].userInterest = true;
highlights[0].highlightTags = NVGSDK_HIGHLIGHT_TYPE_ACHIEVEMENT;
highlights[0].significance = NVGSDK_HIGHLIGHT_SIGNIFICANCE_VERY_GOOD;
highlights[0].nameTable = &highlight1Translation[0];
highlights[0].nameTableSize = 2;
NVGSDK_LocalizedPair highlight2Translation[2] = {
{ "en-US", "Highlight Two" },
{ "es-MX", "Resalte Dos" }
};
highlights[1].id = "highlight2";
highlights[1].userInterest = true;
highlights[1].highlightTags = NVGSDK_HIGHLIGHT_TYPE_MILESTONE | NVGSDK_HIGHLIGHTS_TYPE_STATE_CHANGE;
highlights[1].significance = NVGSDK_HIGHLIGHT_SIGNIFICANCE_NEUTRAL;
highlights[1].nameTable = &highlight2Translation[0];
highlights[1].nameTableSize = 2;
params.highlightDefinitionTable = &highlights[0];
params.highlightTableSize = NUM_HIGHLIGHTS;
params.defaultLocale = "en-US";
NVGSDK_Highlights_ConfigureAsync(handle, &params, NULL, NULL);

Groups and Saving Highlights

C++ Bindings

params.groupId = "group1";
params.groupDescriptionLocaleTable = {
{ "en-US", "Group One" },
{ "es-MX", "Groupa Uno" }
};
highlights->OpenGroupAsync(&params);
params.groupId = "group1";
params.highlightsId = "highlight1";
params.startDelta = -5000; // Should be dynamic i.e. start of killstreak
params.endDetla = 2000;
highlights->SetVideoHighlightAsync(&params);
params.groupId = "group1";
params.destroyHighlights = false;
highlights->CloseGroupAsync(&params);

C API

@@ -202,7 +202,7 @@ UX Guidance

Many times a button is used to display the Highlights Summary. Suggested UX: "View \%d highlights" or "\%d new highlights". Include an icon to the left of the text. The icon to use is located in GfeSDK/redist/assets/img/img_logo_experience_512.png

Logging

-

By default, GfeSDK stores its own logs for problem triage in LOCALAPPDATA% Corporation. This behavior can be adjusted by the following calls:

+

By default, GfeSDK stores its own logs for problem triage in %LOCALAPPDATA%\NVIDIA Corporation\GfeSDK. This behavior can be adjusted by the following calls:

Go to the documentation of this file.
1 /* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
2  *
3  * NVIDIA CORPORATION and its licensors retain all intellectual property
4  * and proprietary rights in and to this software, related documentation
5  * and any modifications thereto. Any use, reproduction, disclosure or
6  * distribution of this software and related documentation without an express
7  * license agreement from NVIDIA CORPORATION is strictly prohibited.
8  */
9 
15 #ifndef GFESDK_ISDK_H
16 #define GFESDK_ISDK_H
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #include <gfesdk/os_defines.h>
23 #include <gfesdk/sdk_types.h>
24 #include <gfesdk/sdk_types_ipc.h>
25 #include <gfesdk/config.h>
26 #include "stdint.h"
27 
29 
74 NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_Create(NVGSDK_HANDLE** handle, NVGSDK_CreateInputParams const* inParams, NVGSDK_CreateResponse* outParams);
75 
86 NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_Release(NVGSDK_HANDLE* handle);
87 
95 NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_Poll(NVGSDK_HANDLE* handle);
96 
103 NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_SetLogLevel(NVGSDK_LogLevel fileLevel);
104 
112 NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_AttachLogListener(NVGSDK_LoggingCallback callback);
113 
122 NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_SetListenerLogLevel(NVGSDK_LogLevel level);
123 
135 NVGSDK_EXPORT void NVGSDKApi NVGSDK_RequestPermissionsAsync(NVGSDK_HANDLE* handle, NVGSDK_RequestPermissionsParams const* params, NVGSDK_EmptyCallback callback, void* context);
136 
152 NVGSDK_EXPORT void NVGSDKApi NVGSDK_GetUILanguageAsync(NVGSDK_HANDLE* handle, NVGSDK_GetUILanguageCallback callback, void* context);
153 
154 #ifdef __cplusplus
155 }
156 #endif
157 
158 #endif // GFESDK_ISDK_H
NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_Poll(NVGSDK_HANDLE *handle)
-
void(__stdcall * NVGSDK_GetUILanguageCallback)(NVGSDK_RetCode, NVGSDK_Language const *, void *)
Definition: sdk_types.h:140
+
void(__stdcall * NVGSDK_GetUILanguageCallback)(NVGSDK_RetCode, NVGSDK_Language const *, void *)
Definition: sdk_types.h:144
NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_AttachLogListener(NVGSDK_LoggingCallback callback)
NVGSDK_EXPORT void NVGSDKApi NVGSDK_RequestPermissionsAsync(NVGSDK_HANDLE *handle, NVGSDK_RequestPermissionsParams const *params, NVGSDK_EmptyCallback callback, void *context)
NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_Release(NVGSDK_HANDLE *handle)
-
void(__stdcall * NVGSDK_EmptyCallback)(NVGSDK_RetCode, void *)
Definition: sdk_types.h:132
-
void(__stdcall * NVGSDK_LoggingCallback)(NVGSDK_LogLevel level, char const *message)
Definition: sdk_types.h:57
- +
void(__stdcall * NVGSDK_EmptyCallback)(NVGSDK_RetCode, void *)
Definition: sdk_types.h:136
+
void(__stdcall * NVGSDK_LoggingCallback)(NVGSDK_LogLevel level, char const *message)
Definition: sdk_types.h:58
+
NVGSDK_EXPORT void NVGSDKApi NVGSDK_GetUILanguageAsync(NVGSDK_HANDLE *handle, NVGSDK_GetUILanguageCallback callback, void *context)
- - + +
NVGSDK_LogLevel
Definition: sdk_types.h:39
NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_SetLogLevel(NVGSDK_LogLevel fileLevel)
NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_SetListenerLogLevel(NVGSDK_LogLevel level)
diff --git a/doc/html/isdk__cpp_8h_source.html b/doc/html/isdk__cpp_8h_source.html index 09817bc..f715b4c 100644 --- a/doc/html/isdk__cpp_8h_source.html +++ b/doc/html/isdk__cpp_8h_source.html @@ -88,15 +88,15 @@ $(document).ready(function(){initNavTree('isdk__cpp_8h_source.html','');}); Go to the documentation of this file.
1 /* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
15 #ifndef GFESDK_ISDK_CPP_H
16 #define GFESDK_ISDK_CPP_H
17 
18 #include "sdk_types_cpp.h"
19 
20 namespace GfeSDK
21 {
22 // Avoid polluting global namespace with C api, so put it inside namespace
23 #include <gfesdk/isdk.h>
24 
25 // Static functions that don't depend on an instance of the SDK
26 // Giving an alias to these to remove the NVGSDK_ prefix in lieu of the namespace
28 inline NVGSDK_RetCode SetFileLogLevel(NVGSDK_LogLevel level) { return NVGSDK_SetLogLevel(level); }
30 inline NVGSDK_RetCode AttachLogListener(NVGSDK_LoggingCallback callback) { return NVGSDK_AttachLogListener(callback); }
32 inline NVGSDK_RetCode SetListenerLogLevel(NVGSDK_LogLevel level) { return NVGSDK_SetListenerLogLevel(level); }
34 inline const char* RetCodeToString(NVGSDK_RetCode rc) { return NVGSDK_RetCodeToString(rc); }
35 
37 class Core
38 {
39 public:
41  static Core* Create(CreateInputParams const&, CreateResponse&);
42  virtual ~Core() {}
43 
45  virtual NVGSDK_RetCode Poll(void) = 0;
47  virtual void RequestPermissionsAsync(RequestPermissionsParams const&, TCallback cb = nullptr, void* cbContext = nullptr) = 0;
49  virtual void GetUILanguageAsync(TGetUILanguageCallback cb = nullptr, void* cbContext = nullptr) = 0;
50 
51  // Return the C API handle;
52  virtual NVGSDK_HANDLE* GetHandle() = 0;
53 };
54 }
55 
56 #endif //GFESDK_ISDK_CPP_H
virtual void GetUILanguageAsync(TGetUILanguageCallback cb=nullptr, void *cbContext=nullptr)=0
NVGSDK_RetCode SetListenerLogLevel(NVGSDK_LogLevel level)
Definition: isdk_cpp.h:32
const char * RetCodeToString(NVGSDK_RetCode rc)
Definition: isdk_cpp.h:34
-
C++ binding for NVGSDK_CreateResponse.
Definition: sdk_types_cpp.h:57
+
C++ binding for NVGSDK_CreateResponse.
Definition: sdk_types_cpp.h:60
virtual void RequestPermissionsAsync(RequestPermissionsParams const &, TCallback cb=nullptr, void *cbContext=nullptr)=0
NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_AttachLogListener(NVGSDK_LoggingCallback callback)
- +
virtual NVGSDK_RetCode Poll(void)=0
NVGSDK_RetCode SetFileLogLevel(NVGSDK_LogLevel level)
Definition: isdk_cpp.h:28
-
void(__stdcall * NVGSDK_LoggingCallback)(NVGSDK_LogLevel level, char const *message)
Definition: sdk_types.h:57
+
void(__stdcall * NVGSDK_LoggingCallback)(NVGSDK_LogLevel level, char const *message)
Definition: sdk_types.h:58
static Core * Create(CreateInputParams const &, CreateResponse &)
Definition: isdk_cpp_impl.h:64
diff --git a/doc/html/isdk__cpp__impl_8h_source.html b/doc/html/isdk__cpp__impl_8h_source.html index 78621f0..fa2e507 100644 --- a/doc/html/isdk__cpp__impl_8h_source.html +++ b/doc/html/isdk__cpp__impl_8h_source.html @@ -85,49 +85,53 @@ $(document).ready(function(){initNavTree('isdk__cpp__impl_8h_source.html','');})
isdk_cpp_impl.h
-Go to the documentation of this file.
1 /* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
16 #ifndef GFESDK_ISDK_CPP_IMPL_H
17 #define GFESDK_ISDK_CPP_IMPL_H
18 
19 #include "isdk_cpp.h"
20 
21 #include <memory>
22 
23 namespace GfeSDK
24 {
25 class CoreImpl : public Core
26 {
27 public:
28  ~CoreImpl();
29 
30  virtual NVGSDK_RetCode Poll(void);
31  virtual void RequestPermissionsAsync(RequestPermissionsParams const&, TCallback cb = nullptr, void* cbContext = nullptr);
32  virtual void GetUILanguageAsync(TGetUILanguageCallback cb = nullptr, void* cbContext = nullptr);
33 
34  NVGSDK_HANDLE* GetHandle();
35 
36  friend class Core;
37  friend class HighlightsImpl;
38 private:
39  // Remove default construct, copy and assignment operators
40  CoreImpl() {}
41  CoreImpl(const CoreImpl& other) {}
42  CoreImpl& operator=(const CoreImpl& other) {}
43 
44 private:
45  template <typename T>
46  struct CallbackContext
47  {
48  T callback;
49  void* appContext;
50  };
51  struct CallbackNotificationContext
52  {
53  TNotificationCallback callback;
54  void* appContext;
55  };
56  static void __stdcall callbackWrapper(NVGSDK_RetCode rc, void* appContext);
57  static void __stdcall callbackNotificationWrapper(NVGSDK_NotificationType type, NVGSDK_Notification const* data, void* context);
58  static inline void translateLocaleTable(std::map<std::string, std::string> const& localeMap, std::vector<NVGSDK_LocalizedPair>& pairs);
59 
60  NVGSDK_HANDLE* m_handle;
61  std::unique_ptr<CallbackNotificationContext> m_notificationCallbackContext;
62 };
63 
64 inline Core* Core::Create(CreateInputParams const& inParams, CreateResponse& outParams)
65 {
66  CoreImpl* core = new CoreImpl();
67 
68  NVGSDK_CreateInputParams cInputParams;
69  memset(&cInputParams, 0, sizeof(cInputParams));
70  cInputParams.appName = inParams.appName.c_str();
71  cInputParams.pollForCallbacks = inParams.pollForCallbacks;
72  if (!inParams.requiredScopes.empty())
73  {
74  cInputParams.scopeTable = const_cast<NVGSDK_Scope*>(&inParams.requiredScopes[0]);
75  cInputParams.scopeTableSize = inParams.requiredScopes.size();
76  }
77  if (inParams.notificationCallback)
78  {
79  cInputParams.notificationCallback = &CoreImpl::callbackNotificationWrapper;
80  core->m_notificationCallbackContext.reset(new CoreImpl::CallbackNotificationContext({ inParams.notificationCallback, inParams.notificationCallbackContext }));
81  cInputParams.notificationCallbackContext = core->m_notificationCallbackContext.get();
82 
83  }
84 
85  NVGSDK_CreateResponse cOutputParams = { 0 };
86  std::vector<NVGSDK_ScopePermission> cScopePermissionList;
87  cScopePermissionList.resize(inParams.requiredScopes.size());
88 
89  if (!inParams.requiredScopes.empty())
90  {
91  cOutputParams.scopePermissionTable = &cScopePermissionList[0];
92  cOutputParams.scopePermissionTableSize = cScopePermissionList.size();
93  }
94 
95  outParams.returnCode = NVGSDK_Create(&core->m_handle, &cInputParams, &cOutputParams);
96  outParams.versionMajor = cOutputParams.versionMajor;
97  outParams.versionMinor = cOutputParams.versionMinor;
98  outParams.nvidiaGfeVersion = cOutputParams.gfeVersionStr;
99 
100  if (NVGSDK_FAILED(outParams.returnCode))
101  {
102  delete core;
103  return nullptr;
104  }
105 
106  if (cOutputParams.scopePermissionTable)
107  {
108  for (size_t i = 0; i < cOutputParams.scopePermissionTableSize; ++i)
109  {
110  NVGSDK_ScopePermission const& scopePermission = cOutputParams.scopePermissionTable[i];
111  outParams.scopePermissions[scopePermission.scope] = scopePermission.permission;
112  }
113  }
114 
115  return core;
116 }
117 
118 inline CoreImpl::~CoreImpl()
119 {
120  if (!m_handle)
121  {
122  return;
123  }
124 
125  NVGSDK_Release(m_handle);
126 }
127 
128 inline NVGSDK_RetCode CoreImpl::Poll(void)
129 {
130  return NVGSDK_Poll(m_handle);
131 }
132 
133 inline void CoreImpl::RequestPermissionsAsync(RequestPermissionsParams const& params, TCallback callback, void* context)
134 {
136  cParams.scopeTable = const_cast<NVGSDK_Scope*>(&params.scopes[0]);
137  cParams.scopeTableSize = params.scopes.size();
138  return NVGSDK_RequestPermissionsAsync(m_handle, &cParams, callbackWrapper, new CallbackContext<TCallback>({ callback, context }));
139 }
140 
141 inline void CoreImpl::GetUILanguageAsync(TGetUILanguageCallback callback, void* context)
142 {
143  NVGSDK_GetUILanguageAsync(m_handle, [](NVGSDK_RetCode rc, NVGSDK_Language const* data, void* context) {
144  std::unique_ptr<CallbackContext<TGetUILanguageCallback>> callbackContext(reinterpret_cast<CallbackContext<TGetUILanguageCallback>*>(context));
145  if (!callbackContext->callback) return;
146 
147  if (NVGSDK_FAILED(rc))
148  {
149  return callbackContext->callback(rc, nullptr, callbackContext->appContext);
150  }
151 
152  GetUILanguageResponse language;
153  language.cultureCode = data->cultureCode;
154  callbackContext->callback(rc, &language, callbackContext->appContext);
155  }, new CallbackContext<TGetUILanguageCallback>({ callback, context }));
156 }
157 
158 inline NVGSDK_HANDLE* CoreImpl::GetHandle()
159 {
160  return m_handle;
161 }
162 
163 inline void CoreImpl::callbackWrapper(NVGSDK_RetCode rc, void* context)
164 {
165  std::unique_ptr<CallbackContext<TCallback>> callbackContext(reinterpret_cast<CallbackContext<TCallback>*>(context));
166  if (!callbackContext->callback) return;
167 
168  callbackContext->callback(rc, callbackContext->appContext);
169 }
170 
171 inline void CoreImpl::callbackNotificationWrapper(NVGSDK_NotificationType type, NVGSDK_Notification const* data, void* context)
172 {
173  CallbackNotificationContext* callbackContext(reinterpret_cast<CallbackNotificationContext*>(context));
174  if (!callbackContext->callback) return;
175 
176  switch (type)
177  {
179  {
180  PermissionsChangedNotification notification;
181  notification.context = callbackContext->appContext;
182  for (size_t i = 0; i < data->permissionsChanged.scopePermissionTableSize; ++i)
183  {
184  notification.scopePermissions[data->permissionsChanged.scopePermissionTable[i].scope] = data->permissionsChanged.scopePermissionTable[i].permission;
185  }
186  callbackContext->callback(type, notification);
187  break;
188  }
190  {
191  OverlayStateChangedNotification notification;
192  notification.context = callbackContext->appContext;
193  notification.open = data->overlayStateChanged.open;
194  notification.state = data->overlayStateChanged.state;
195  callbackContext->callback(type, notification);
196  break;
197  }
198  default:
199  break;
200  }
201 }
202 
203 inline void CoreImpl::translateLocaleTable(std::map<std::string, std::string> const& localeMap, std::vector<NVGSDK_LocalizedPair>& pairs)
204 {
205  for (auto it = localeMap.begin(); it != localeMap.end(); ++it)
206  {
207  pairs.push_back({
208  it->first.c_str(),
209  it->second.c_str()
210  });
211  }
212 }
213 }
214 
215 #endif //GFESDK_ISDK_CPP_H
-
NVGSDK_ScopePermission * scopePermissionTable
Must be provided to call. Will be filled with scope/permission pairs.
Definition: sdk_types.h:128
+Go to the documentation of this file.
1 /* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
16 #ifndef GFESDK_ISDK_CPP_IMPL_H
17 #define GFESDK_ISDK_CPP_IMPL_H
18 
19 #include "isdk_cpp.h"
20 
21 #include <memory>
22 
23 namespace GfeSDK
24 {
25 class CoreImpl : public Core
26 {
27 public:
28  ~CoreImpl();
29 
30  virtual NVGSDK_RetCode Poll(void);
31  virtual void RequestPermissionsAsync(RequestPermissionsParams const&, TCallback cb = nullptr, void* cbContext = nullptr);
32  virtual void GetUILanguageAsync(TGetUILanguageCallback cb = nullptr, void* cbContext = nullptr);
33 
34  NVGSDK_HANDLE* GetHandle();
35 
36  friend class Core;
37  friend class HighlightsImpl;
38 private:
39  // Remove default construct, copy and assignment operators
40  CoreImpl() {}
41  CoreImpl(const CoreImpl& other) {}
42  CoreImpl& operator=(const CoreImpl& other) {}
43 
44 private:
45  template <typename T>
46  struct CallbackContext
47  {
48  T callback;
49  void* appContext;
50  };
51  struct CallbackNotificationContext
52  {
53  TNotificationCallback callback;
54  void* appContext;
55  };
56  static void __stdcall callbackWrapper(NVGSDK_RetCode rc, void* appContext);
57  static void __stdcall callbackNotificationWrapper(NVGSDK_NotificationType type, NVGSDK_Notification const* data, void* context);
58  static inline void translateLocaleTable(std::map<std::string, std::string> const& localeMap, std::vector<NVGSDK_LocalizedPair>& pairs);
59 
60  NVGSDK_HANDLE* m_handle;
61  std::unique_ptr<CallbackNotificationContext> m_notificationCallbackContext;
62 };
63 
64 inline Core* Core::Create(CreateInputParams const& inParams, CreateResponse& outParams)
65 {
66  CoreImpl* core = new CoreImpl();
67 
68  NVGSDK_CreateInputParams cInputParams;
69  memset(&cInputParams, 0, sizeof(cInputParams));
70  cInputParams.appName = inParams.appName.c_str();
71  cInputParams.pollForCallbacks = inParams.pollForCallbacks;
72  if (!inParams.requiredScopes.empty())
73  {
74  cInputParams.scopeTable = const_cast<NVGSDK_Scope*>(&inParams.requiredScopes[0]);
75  cInputParams.scopeTableSize = inParams.requiredScopes.size();
76  }
77  if (inParams.notificationCallback)
78  {
79  cInputParams.notificationCallback = &CoreImpl::callbackNotificationWrapper;
80  core->m_notificationCallbackContext.reset(new CoreImpl::CallbackNotificationContext({ inParams.notificationCallback, inParams.notificationCallbackContext }));
81  cInputParams.notificationCallbackContext = core->m_notificationCallbackContext.get();
82  }
83  cInputParams.targetPid = inParams.targetPid;
84  if (!inParams.targetPath.empty())
85  {
86  cInputParams.targetPath = inParams.targetPath.c_str();
87  }
88 
89  NVGSDK_CreateResponse cOutputParams = { 0 };
90  std::vector<NVGSDK_ScopePermission> cScopePermissionList;
91  cScopePermissionList.resize(inParams.requiredScopes.size());
92 
93  if (!inParams.requiredScopes.empty())
94  {
95  cOutputParams.scopePermissionTable = &cScopePermissionList[0];
96  cOutputParams.scopePermissionTableSize = cScopePermissionList.size();
97  }
98 
99  outParams.returnCode = NVGSDK_Create(&core->m_handle, &cInputParams, &cOutputParams);
100  outParams.versionMajor = cOutputParams.versionMajor;
101  outParams.versionMinor = cOutputParams.versionMinor;
102  outParams.nvidiaGfeVersion = cOutputParams.gfeVersionStr;
103 
104  if (NVGSDK_FAILED(outParams.returnCode))
105  {
106  delete core;
107  return nullptr;
108  }
109 
110  if (cOutputParams.scopePermissionTable)
111  {
112  for (size_t i = 0; i < cOutputParams.scopePermissionTableSize; ++i)
113  {
114  NVGSDK_ScopePermission const& scopePermission = cOutputParams.scopePermissionTable[i];
115  outParams.scopePermissions[scopePermission.scope] = scopePermission.permission;
116  }
117  }
118 
119  return core;
120 }
121 
122 inline CoreImpl::~CoreImpl()
123 {
124  if (!m_handle)
125  {
126  return;
127  }
128 
129  NVGSDK_Release(m_handle);
130 }
131 
132 inline NVGSDK_RetCode CoreImpl::Poll(void)
133 {
134  return NVGSDK_Poll(m_handle);
135 }
136 
137 inline void CoreImpl::RequestPermissionsAsync(RequestPermissionsParams const& params, TCallback callback, void* context)
138 {
140  cParams.scopeTable = const_cast<NVGSDK_Scope*>(&params.scopes[0]);
141  cParams.scopeTableSize = params.scopes.size();
142  return NVGSDK_RequestPermissionsAsync(m_handle, &cParams, callbackWrapper, new CallbackContext<TCallback>({ callback, context }));
143 }
144 
145 inline void CoreImpl::GetUILanguageAsync(TGetUILanguageCallback callback, void* context)
146 {
147  NVGSDK_GetUILanguageAsync(m_handle, [](NVGSDK_RetCode rc, NVGSDK_Language const* data, void* context) {
148  std::unique_ptr<CallbackContext<TGetUILanguageCallback>> callbackContext(reinterpret_cast<CallbackContext<TGetUILanguageCallback>*>(context));
149  if (!callbackContext->callback) return;
150 
151  if (NVGSDK_FAILED(rc))
152  {
153  return callbackContext->callback(rc, nullptr, callbackContext->appContext);
154  }
155 
156  GetUILanguageResponse language;
157  language.cultureCode = data->cultureCode;
158  callbackContext->callback(rc, &language, callbackContext->appContext);
159  }, new CallbackContext<TGetUILanguageCallback>({ callback, context }));
160 }
161 
162 inline NVGSDK_HANDLE* CoreImpl::GetHandle()
163 {
164  return m_handle;
165 }
166 
167 inline void CoreImpl::callbackWrapper(NVGSDK_RetCode rc, void* context)
168 {
169  std::unique_ptr<CallbackContext<TCallback>> callbackContext(reinterpret_cast<CallbackContext<TCallback>*>(context));
170  if (!callbackContext->callback) return;
171 
172  callbackContext->callback(rc, callbackContext->appContext);
173 }
174 
175 inline void CoreImpl::callbackNotificationWrapper(NVGSDK_NotificationType type, NVGSDK_Notification const* data, void* context)
176 {
177  CallbackNotificationContext* callbackContext(reinterpret_cast<CallbackNotificationContext*>(context));
178  if (!callbackContext->callback) return;
179 
180  switch (type)
181  {
183  {
184  PermissionsChangedNotification notification;
185  notification.context = callbackContext->appContext;
186  for (size_t i = 0; i < data->permissionsChanged.scopePermissionTableSize; ++i)
187  {
188  notification.scopePermissions[data->permissionsChanged.scopePermissionTable[i].scope] = data->permissionsChanged.scopePermissionTable[i].permission;
189  }
190  callbackContext->callback(type, notification);
191  break;
192  }
194  {
195  OverlayStateChangedNotification notification;
196  notification.context = callbackContext->appContext;
197  notification.open = data->overlayStateChanged.open;
198  notification.state = data->overlayStateChanged.state;
199  callbackContext->callback(type, notification);
200  break;
201  }
202  default:
203  break;
204  }
205 }
206 
207 inline void CoreImpl::translateLocaleTable(std::map<std::string, std::string> const& localeMap, std::vector<NVGSDK_LocalizedPair>& pairs)
208 {
209  for (auto it = localeMap.begin(); it != localeMap.end(); ++it)
210  {
211  pairs.push_back({
212  it->first.c_str(),
213  it->second.c_str()
214  });
215  }
216 }
217 }
218 
219 #endif //GFESDK_ISDK_CPP_H
+
NVGSDK_ScopePermission * scopePermissionTable
Must be provided to call. Will be filled with scope/permission pairs.
Definition: sdk_types.h:132
NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_Poll(NVGSDK_HANDLE *handle)
- -
C++ binding for NVGSDK_GetUILanguageResponse.
Definition: sdk_types_cpp.h:67
-
char gfeVersionStr[NVGSDK_MAX_LENGTH]
Must be provided to call. Will be populated by GFE version string.
Definition: sdk_types.h:127
-
NVGSDK_OverlayState state
State the overlay is closing from or opening to.
Definition: sdk_types.h:86
-
C++ binding for NVGSDK_CreateResponse.
Definition: sdk_types_cpp.h:57
-
Sent when the user accepts/denies the permissions dialog, or toggles in GFE3.
Definition: sdk_types.h:51
-
char const * appName
Provide the name of the application. Will be used in cases when NVIDIA cannot detect game...
Definition: sdk_types.h:104
-
NVGSDK_Scope * scopeTable
List of scopes used by the application.
Definition: sdk_types.h:105
+ +
C++ binding for NVGSDK_GetUILanguageResponse.
Definition: sdk_types_cpp.h:70
+
char gfeVersionStr[NVGSDK_MAX_LENGTH]
Must be provided to call. Will be populated by GFE version string.
Definition: sdk_types.h:131
+
NVGSDK_OverlayState state
State the overlay is closing from or opening to.
Definition: sdk_types.h:87
+
C++ binding for NVGSDK_CreateResponse.
Definition: sdk_types_cpp.h:60
+
Sent when the user accepts/denies the permissions dialog, or toggles in GFE3.
Definition: sdk_types.h:52
+
char const * appName
Provide the name of the application. Will be used in cases when NVIDIA cannot detect game...
Definition: sdk_types.h:105
+
NVGSDK_Scope * scopeTable
List of scopes used by the application.
Definition: sdk_types.h:106
-
NVGSDK_NotificationType
Definition: sdk_types.h:49
- - +
NVGSDK_NotificationType
Definition: sdk_types.h:50
+ +
uint32_t targetPid
Advanced usage.
Definition: sdk_types_cpp.h:45
+
NVGSDK_EXPORT void NVGSDKApi NVGSDK_RequestPermissionsAsync(NVGSDK_HANDLE *handle, NVGSDK_RequestPermissionsParams const *params, NVGSDK_EmptyCallback callback, void *context)
-
size_t scopeTableSize
Number of entries in the scope table.
Definition: sdk_types.h:106
+
size_t scopeTableSize
Number of entries in the scope table.
Definition: sdk_types.h:107
-
void * notificationCallbackContext
Passed along unchanged with each notification.
Definition: sdk_types.h:110
+
std::string targetPath
Advanced usage.
Definition: sdk_types_cpp.h:46
+
void * notificationCallbackContext
Passed along unchanged with each notification.
Definition: sdk_types.h:111
NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_Release(NVGSDK_HANDLE *handle)
- -
bool pollForCallbacks
Set to true to poll for asynchronous callbacks on an app thread. If false, callbacks will occur on a ...
Definition: sdk_types.h:107
-
char const * cultureCode
Will be populated by the user&#39;s GFE language selection.
Definition: sdk_types.h:137
+ +
bool pollForCallbacks
Set to true to poll for asynchronous callbacks on an app thread. If false, callbacks will occur on a ...
Definition: sdk_types.h:108
+
char const * cultureCode
Will be populated by the user&#39;s GFE language selection.
Definition: sdk_types.h:141
-
uint16_t versionMinor
Will be populated with SDK minor version.
Definition: sdk_types.h:126
-
virtual void RequestPermissionsAsync(RequestPermissionsParams const &, TCallback cb=nullptr, void *cbContext=nullptr)
-
virtual void GetUILanguageAsync(TGetUILanguageCallback cb=nullptr, void *cbContext=nullptr)
- +
uint16_t versionMinor
Will be populated with SDK minor version.
Definition: sdk_types.h:130
+
virtual void RequestPermissionsAsync(RequestPermissionsParams const &, TCallback cb=nullptr, void *cbContext=nullptr)
+
virtual void GetUILanguageAsync(TGetUILanguageCallback cb=nullptr, void *cbContext=nullptr)
+
NVGSDK_EXPORT void NVGSDKApi NVGSDK_GetUILanguageAsync(NVGSDK_HANDLE *handle, NVGSDK_GetUILanguageCallback callback, void *context)
-
virtual NVGSDK_RetCode Poll(void)
- +
virtual NVGSDK_RetCode Poll(void)
+ - +
uint32_t targetPid
Advanced usage.
Definition: sdk_types.h:113
+ +
char const * targetPath
Advanced usage.
Definition: sdk_types.h:114
static Core * Create(CreateInputParams const &, CreateResponse &)
Definition: isdk_cpp_impl.h:64
- -
bool open
true if the overlay is opening, false if it is closing
Definition: sdk_types.h:85
-
uint16_t versionMajor
Will be populated with SDK major version.
Definition: sdk_types.h:125
-
Sent when the in-game overlay is shown or removed.
Definition: sdk_types.h:52
+ +
bool open
true if the overlay is opening, false if it is closing
Definition: sdk_types.h:86
+
uint16_t versionMajor
Will be populated with SDK major version.
Definition: sdk_types.h:129
+
Sent when the in-game overlay is shown or removed.
Definition: sdk_types.h:53
NVGSDK_EXPORT NVGSDK_RetCode NVGSDKApi NVGSDK_Create(NVGSDK_HANDLE **handle, NVGSDK_CreateInputParams const *inParams, NVGSDK_CreateResponse *outParams)
-
NVGSDK_NotificationCallback notificationCallback
Called on unsolicited notifications.
Definition: sdk_types.h:109
-
size_t scopePermissionTableSize
Must be provided to call.
Definition: sdk_types.h:129
+
NVGSDK_NotificationCallback notificationCallback
Called on unsolicited notifications.
Definition: sdk_types.h:110
+
size_t scopePermissionTableSize
Must be provided to call.
Definition: sdk_types.h:133
diff --git a/doc/html/menudata.js b/doc/html/menudata.js index 0740f28..3f63df8 100644 --- a/doc/html/menudata.js +++ b/doc/html/menudata.js @@ -43,8 +43,7 @@ var menudata={children:[ {text:'Files',url:'files.html',children:[ {text:'File List',url:'files.html'}, {text:'File Members',url:'globals.html',children:[ -{text:'All',url:'globals.html',children:[ -{text:'n',url:'globals.html#index_n'}]}, +{text:'All',url:'globals.html'}, {text:'Functions',url:'globals_func.html'}, {text:'Typedefs',url:'globals_type.html'}, {text:'Enumerations',url:'globals_enum.html'}, diff --git a/doc/html/navtreeindex0.js b/doc/html/navtreeindex0.js index 5bb8b25..6a7f123 100644 --- a/doc/html/navtreeindex0.js +++ b/doc/html/navtreeindex0.js @@ -38,12 +38,12 @@ var NAVTREEINDEX0 = "class_gfe_s_d_k_1_1_highlights_impl.html#adfee0bca7a525fd81406d719ad1aaed9":[2,0,0,13,0], "classes.html":[2,1], "config_8h_source.html":[3,0,0,0,0,0], +"dir_10362ab7f5c0ce07ef57bf30752a9cd8.html":[3,0,0,0,0], "dir_2f4536f343cdc104d7b83de3fff7416d.html":[3,0,1,0,0,1], +"dir_35d2c3225318c321406c9a6beb044d2f.html":[3,0,0,0], "dir_37f49c9d6a230916a5077fbd270eac2a.html":[3,0,1,0], -"dir_390af76a80c76dfa5a23f6376ad8cc11.html":[3,0,0,0], "dir_4522e853adfb3285c34ceee6be627ffe.html":[3,0,1], -"dir_49109e8c96924d2158a64521a5ac85f8.html":[3,0,0], -"dir_73e42c5862c52b872fcb0da49c863746.html":[3,0,0,0,0], +"dir_93766c917ed92592c1894d5c5e65f172.html":[3,0,0], "dir_9e1fb0299a0600dff10179bfe2b8a156.html":[3,0,1,0,0,0,0,0], "dir_ab8ba62fc8fdaf78364406bae0a66d43.html":[3,0,1,0,0,0,0], "dir_eb56eea0ff74c30c2a48b22915222057.html":[3,0,1,0,0], @@ -61,22 +61,16 @@ var NAVTREEINDEX0 = "hierarchy.html":[2,2], "highlights__types_8h.html":[3,0,1,0,0,1,0], "highlights__types_8h.html#a1ace1def4d575aa419abae45b2738db0":[3,0,1,0,0,1,0,12], -"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1":[3,0,1,0,0,1,0,14], -"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a2c1a3f3aae27ef260bfead90d731820e":[3,0,1,0,0,1,0,14,4], -"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a382341c19e60011159821ea6ef8708bf":[3,0,1,0,0,1,0,14,0], -"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a5060cb8b47c65666bb4ed2ff7221fdc3":[3,0,1,0,0,1,0,14,6], -"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a6d18de7dc0b08ec06d76ee4e3deafc2b":[3,0,1,0,0,1,0,14,5], -"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a9ab0134caa370a97c00b23f337e678b9":[3,0,1,0,0,1,0,14,1], -"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a9d7f1ca61ade91d03693eeddcb0514c0":[3,0,1,0,0,1,0,14,2], -"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1ac2c1a2d60663dc468ce265119b6da38c":[3,0,1,0,0,1,0,14,3], -"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1ae3cfe37ca22805137d41c2d694fa9401":[3,0,1,0,0,1,0,14,7], +"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1":[3,0,1,0,0,1,0,13], +"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a2c1a3f3aae27ef260bfead90d731820e":[3,0,1,0,0,1,0,13,4], +"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a382341c19e60011159821ea6ef8708bf":[3,0,1,0,0,1,0,13,0], +"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a5060cb8b47c65666bb4ed2ff7221fdc3":[3,0,1,0,0,1,0,13,6], +"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a6d18de7dc0b08ec06d76ee4e3deafc2b":[3,0,1,0,0,1,0,13,5], +"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a9ab0134caa370a97c00b23f337e678b9":[3,0,1,0,0,1,0,13,1], +"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1a9d7f1ca61ade91d03693eeddcb0514c0":[3,0,1,0,0,1,0,13,2], +"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1ac2c1a2d60663dc468ce265119b6da38c":[3,0,1,0,0,1,0,13,3], +"highlights__types_8h.html#a3d7cffeef9ff6fc0170b249784535cc1ae3cfe37ca22805137d41c2d694fa9401":[3,0,1,0,0,1,0,13,7], "highlights__types_8h.html#a87a246f3f9c2a0f0670b1208b22fa2d9":[3,0,1,0,0,1,0,11], -"highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9":[3,0,1,0,0,1,0,13], -"highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9a1b1d72ef2076a2d54b01f7ae61a1776a":[3,0,1,0,0,1,0,13,1], -"highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9a24c166ddd62845ab324ebfaabc459dee":[3,0,1,0,0,1,0,13,3], -"highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9a27f6aa8f0032b9f74b74c0305a3580a2":[3,0,1,0,0,1,0,13,0], -"highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9a297a0746730ac96171af7d2cbcd7e3d5":[3,0,1,0,0,1,0,13,4], -"highlights__types_8h.html#aa7eb5af11e651aded9f08b8cd8ba91a9adc9c1285140adfa7b92ff9d7272b5c20":[3,0,1,0,0,1,0,13,2], "highlights__types_8h_source.html":[3,0,1,0,0,1,0], "highlights__types__cpp_8h_source.html":[3,0,1,0,0,0,0,0,0], "ihighlights_8h.html":[3,0,1,0,0,1,1], @@ -151,6 +145,7 @@ var NAVTREEINDEX0 = "sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857a344d28d16c37e37ace6691ec8a3e21fc":[3,0,1,0,0,4,15,0], "sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857ac97c3c5ec86e2d363a52d18e4246be8c":[3,0,1,0,0,4,15,3], "sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857acb2c3058e6beb31d004654adebc18b98":[3,0,1,0,0,4,15,1], +"sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857acbf6d8e9bbe4968749bcaa59b3a2302e":[3,0,1,0,0,4,15,5], "sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857af4fd2befa34e4d6b6c30d942c01534c4":[3,0,1,0,0,4,15,4], "sdk__types_8h.html#aa02df902597c4bb232e4015536659b75":[3,0,1,0,0,4,18], "sdk__types_8h.html#aadea61767b96d0a17f2943170f9a6924":[3,0,1,0,0,4,10], @@ -164,7 +159,9 @@ var NAVTREEINDEX0 = "struct_gfe_s_d_k_1_1_create_input_params.html#a642a81dc589d578d1c415099e85b9891":[2,0,0,2,3], "struct_gfe_s_d_k_1_1_create_input_params.html#a6f8cecb0a73c669702e75eaa8c7a7317":[2,0,0,2,0], "struct_gfe_s_d_k_1_1_create_input_params.html#ab0617abb7f1bff434a7ea285fca5e1eb":[2,0,0,2,5], +"struct_gfe_s_d_k_1_1_create_input_params.html#ab4d909fa827bbc7631af877c97fc0cc3":[2,0,0,2,7], "struct_gfe_s_d_k_1_1_create_input_params.html#ac5a3e3b18dab8b5f0a1fdca82b8f569f":[2,0,0,2,4], +"struct_gfe_s_d_k_1_1_create_input_params.html#acbfe50b94ef46d11155d786af7aaae5b":[2,0,0,2,6], "struct_gfe_s_d_k_1_1_create_input_params.html#ad7e63dbf5a858737e0e3f5b8f168e53e":[2,0,0,2,2], "struct_gfe_s_d_k_1_1_create_response.html":[2,0,0,3], "struct_gfe_s_d_k_1_1_create_response.html#a26808a314a57df97a4456ee9e6e24ce6":[2,0,0,3,1], @@ -179,9 +176,10 @@ var NAVTREEINDEX0 = "struct_gfe_s_d_k_1_1_get_user_settings_response.html":[2,0,0,6], "struct_gfe_s_d_k_1_1_get_user_settings_response.html#af308fd0306ecf578a58290d5e2dfa566":[2,0,0,6,0], "struct_gfe_s_d_k_1_1_group_view.html":[2,0,0,7], -"struct_gfe_s_d_k_1_1_group_view.html#ab431654e4341d1dae7526cd4f8afedb7":[2,0,0,7,2], -"struct_gfe_s_d_k_1_1_group_view.html#abde8e2e9e5c96c1b33885face697103e":[2,0,0,7,1], -"struct_gfe_s_d_k_1_1_group_view.html#ad5dd5bab7ad625b3708bb63bc7405b16":[2,0,0,7,0], +"struct_gfe_s_d_k_1_1_group_view.html#a60152cea139b00a3a3c84975bfbc576c":[2,0,0,7,0], +"struct_gfe_s_d_k_1_1_group_view.html#ab431654e4341d1dae7526cd4f8afedb7":[2,0,0,7,3], +"struct_gfe_s_d_k_1_1_group_view.html#abde8e2e9e5c96c1b33885face697103e":[2,0,0,7,2], +"struct_gfe_s_d_k_1_1_group_view.html#ad5dd5bab7ad625b3708bb63bc7405b16":[2,0,0,7,1], "struct_gfe_s_d_k_1_1_highlight_close_group_params.html":[2,0,0,8], "struct_gfe_s_d_k_1_1_highlight_close_group_params.html#a0c406dc2f572613debe93954eefed6b8":[2,0,0,8,0], "struct_gfe_s_d_k_1_1_highlight_close_group_params.html#afc63ccf8460719220f07f8434d590302":[2,0,0,8,1], @@ -222,9 +220,11 @@ var NAVTREEINDEX0 = "struct_n_v_g_s_d_k___create_input_params.html":[2,0,1], "struct_n_v_g_s_d_k___create_input_params.html#a0bd7568c1cb3fad975562055b4581195":[2,0,1,3], "struct_n_v_g_s_d_k___create_input_params.html#a8941e0c803ec2f821101cfc55a7f60a3":[2,0,1,2], +"struct_n_v_g_s_d_k___create_input_params.html#a94b71825369290d98e08058b3c0ba537":[2,0,1,6], "struct_n_v_g_s_d_k___create_input_params.html#ac754df94f208f494a0a339d614bb18f3":[2,0,1,0], "struct_n_v_g_s_d_k___create_input_params.html#ad30b1588618ec4bfbc1e9fa13c22b9a7":[2,0,1,5], "struct_n_v_g_s_d_k___create_input_params.html#adde61c0a8ea3a728c57081ec97081a72":[2,0,1,4], +"struct_n_v_g_s_d_k___create_input_params.html#adee7d43aa6948b623aa4fe84f8e8bf97":[2,0,1,7], "struct_n_v_g_s_d_k___create_input_params.html#ae0ada093d3d60a2f70226932b1a5b6fb":[2,0,1,1], "struct_n_v_g_s_d_k___create_response.html":[2,0,2], "struct_n_v_g_s_d_k___create_response.html#a60aec9d469d10e8fe0efd7c010fb96e7":[2,0,2,4], diff --git a/doc/html/sdk__types_8h.html b/doc/html/sdk__types_8h.html index 015b992..abf0680 100644 --- a/doc/html/sdk__types_8h.html +++ b/doc/html/sdk__types_8h.html @@ -168,7 +168,8 @@ Enumerations NVGSDK_LOG_INFO = 2, NVGSDK_LOG_DEBUG = 3,
-  NVGSDK_LOG_VERBOSE = 4 +  NVGSDK_LOG_VERBOSE = 4, +NVGSDK_LOG_MAX
}   @@ -208,7 +209,7 @@ size_t const NVGSDK_MAX_HI

Callback function to recieve log messages

-

Definition at line 57 of file sdk_types.h.

+

Definition at line 58 of file sdk_types.h.

@@ -225,7 +226,7 @@ size_t const NVGSDK_MAX_HI

Type of callback to provide to most asynchronous APIs that don't return extra data

-

Definition at line 132 of file sdk_types.h.

+

Definition at line 136 of file sdk_types.h.

@@ -242,7 +243,7 @@ size_t const NVGSDK_MAX_HI

Type of callback to provide to NVGSDK_GetUILanguage

-

Definition at line 140 of file sdk_types.h.

+

Definition at line 144 of file sdk_types.h.

@@ -283,7 +284,7 @@ size_t const NVGSDK_MAX_HI -

Definition at line 49 of file sdk_types.h.

+

Definition at line 50 of file sdk_types.h.

diff --git a/doc/html/sdk__types_8h.js b/doc/html/sdk__types_8h.js index d0edfe1..59bd1b1 100644 --- a/doc/html/sdk__types_8h.js +++ b/doc/html/sdk__types_8h.js @@ -20,7 +20,8 @@ var sdk__types_8h = [ "NVGSDK_LOG_ERROR", "sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857acb2c3058e6beb31d004654adebc18b98", null ], [ "NVGSDK_LOG_INFO", "sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857a29a17d48238f5658a1ac4de23b59e9fc", null ], [ "NVGSDK_LOG_DEBUG", "sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857ac97c3c5ec86e2d363a52d18e4246be8c", null ], - [ "NVGSDK_LOG_VERBOSE", "sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857af4fd2befa34e4d6b6c30d942c01534c4", null ] + [ "NVGSDK_LOG_VERBOSE", "sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857af4fd2befa34e4d6b6c30d942c01534c4", null ], + [ "NVGSDK_LOG_MAX", "sdk__types_8h.html#a8ad6f8cbc3c4ba6587912a4a4638d857acbf6d8e9bbe4968749bcaa59b3a2302e", null ] ] ], [ "NVGSDK_NotificationType", "sdk__types_8h.html#a41214fdc112a95d5fe8e760b0c562c59", [ [ "NVGSDK_NOTIFICATION_PERMISSIONS_CHANGED", "sdk__types_8h.html#a41214fdc112a95d5fe8e760b0c562c59ab4d95c5d0180de2ae500c1b33bd0c115", null ], diff --git a/doc/html/sdk__types_8h_source.html b/doc/html/sdk__types_8h_source.html index 4170b03..6675ba9 100644 --- a/doc/html/sdk__types_8h_source.html +++ b/doc/html/sdk__types_8h_source.html @@ -85,38 +85,40 @@ $(document).ready(function(){initNavTree('sdk__types_8h_source.html','');});
sdk_types.h
-Go to the documentation of this file.
1 /* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
2  *
3  * NVIDIA CORPORATION and its licensors retain all intellectual property
4  * and proprietary rights in and to this software, related documentation
5  * and any modifications thereto. Any use, reproduction, disclosure or
6  * distribution of this software and related documentation without an express
7  * license agreement from NVIDIA CORPORATION is strictly prohibited.
8  */
9 
15 #ifndef GFESDK_SDK_TYPES_H
16 #define GFESDK_SDK_TYPES_H
17 
18 #include <gfesdk/os_defines.h>
19 #include <gfesdk/sdk_types_ipc.h>
20 #include <stdint.h>
21 #include <stdbool.h>
22 
23 size_t const NVGSDK_MAX_LENGTH = 256;
24 size_t const NVGSDK_MAX_LOCALE = 128;
25 size_t const NVGSDK_MAX_HIGHLIGHT_TABLE = 128;
26 
27 struct NVGSDK_HANDLE;
28 typedef struct NVGSDK_HANDLE NVGSDK_HANDLE;
29 
31 typedef struct
32 {
33  uint16_t major;
34  uint16_t minor;
35  char const* gfeVersionStr;
37 
39 typedef enum
40 {
41  NVGSDK_LOG_NONE = 0,
42  NVGSDK_LOG_ERROR = 1,
43  NVGSDK_LOG_INFO = 2,
44  NVGSDK_LOG_DEBUG = 3,
45  NVGSDK_LOG_VERBOSE = 4
47 
49 typedef enum
50 {
53  NVGSDK_NOTIFICATION_MAX
55 
57 typedef void (__stdcall* NVGSDK_LoggingCallback)(NVGSDK_LogLevel level, char const* message);
58 
60 typedef struct
61 {
62  char const* localeCode;
63  char const* localizedString;
65 
67 typedef struct
68 {
69  NVGSDK_Scope scope;
70  NVGSDK_Permission permission;
72 
74 
76 typedef struct
77 {
78  NVGSDK_ScopePermission* scopePermissionTable;
79  size_t scopePermissionTableSize;
81 
83 typedef struct
84 {
85  bool open;
86  NVGSDK_OverlayState state;
88 
90 typedef struct
91 {
92  void* context;
93  union
94  {
95  NVGSDK_PermissionsChangedNotification permissionsChanged;
96  NVGSDK_OverlayStateChangedNotification overlayStateChanged;
97  };
99 typedef void(__stdcall* NVGSDK_NotificationCallback)(NVGSDK_NotificationType, NVGSDK_Notification const* response, void* context);
100 
102 typedef struct
103 {
104  char const* appName;
105  NVGSDK_Scope* scopeTable;
106  size_t scopeTableSize;
109  NVGSDK_NotificationCallback notificationCallback;
112 
114 typedef struct
115 {
116  NVGSDK_Scope* scopeTable;
117  size_t scopeTableSize;
119 
121 
123 typedef struct
124 {
125  uint16_t versionMajor;
126  uint16_t versionMinor;
127  char gfeVersionStr[NVGSDK_MAX_LENGTH];
132 typedef void(__stdcall* NVGSDK_EmptyCallback)(NVGSDK_RetCode, void*);
133 
135 typedef struct
136 {
137  char const* cultureCode;
140 typedef void(__stdcall* NVGSDK_GetUILanguageCallback)(NVGSDK_RetCode, NVGSDK_Language const*, void*);
141 
142 #endif // GFESDK_SDK_TYPES_H
+Go to the documentation of this file.
1 /* Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
2  *
3  * NVIDIA CORPORATION and its licensors retain all intellectual property
4  * and proprietary rights in and to this software, related documentation
5  * and any modifications thereto. Any use, reproduction, disclosure or
6  * distribution of this software and related documentation without an express
7  * license agreement from NVIDIA CORPORATION is strictly prohibited.
8  */
9 
15 #ifndef GFESDK_SDK_TYPES_H
16 #define GFESDK_SDK_TYPES_H
17 
18 #include <gfesdk/os_defines.h>
19 #include <gfesdk/sdk_types_ipc.h>
20 #include <stdint.h>
21 #include <stdbool.h>
22 
23 size_t const NVGSDK_MAX_LENGTH = 256;
24 size_t const NVGSDK_MAX_LOCALE = 128;
25 size_t const NVGSDK_MAX_HIGHLIGHT_TABLE = 128;
26 
27 struct NVGSDK_HANDLE;
28 typedef struct NVGSDK_HANDLE NVGSDK_HANDLE;
29 
31 typedef struct
32 {
33  uint16_t major;
34  uint16_t minor;
35  char const* gfeVersionStr;
37 
39 typedef enum
40 {
41  NVGSDK_LOG_NONE = 0,
42  NVGSDK_LOG_ERROR = 1,
43  NVGSDK_LOG_INFO = 2,
44  NVGSDK_LOG_DEBUG = 3,
45  NVGSDK_LOG_VERBOSE = 4,
46  NVGSDK_LOG_MAX
48 
50 typedef enum
51 {
54  NVGSDK_NOTIFICATION_MAX
56 
58 typedef void (__stdcall* NVGSDK_LoggingCallback)(NVGSDK_LogLevel level, char const* message);
59 
61 typedef struct
62 {
63  char const* localeCode;
64  char const* localizedString;
66 
68 typedef struct
69 {
70  NVGSDK_Scope scope;
71  NVGSDK_Permission permission;
73 
75 
77 typedef struct
78 {
79  NVGSDK_ScopePermission* scopePermissionTable;
80  size_t scopePermissionTableSize;
82 
84 typedef struct
85 {
86  bool open;
87  NVGSDK_OverlayState state;
89 
91 typedef struct
92 {
93  void* context;
94  union
95  {
96  NVGSDK_PermissionsChangedNotification permissionsChanged;
97  NVGSDK_OverlayStateChangedNotification overlayStateChanged;
98  };
100 typedef void(__stdcall* NVGSDK_NotificationCallback)(NVGSDK_NotificationType, NVGSDK_Notification const* response, void* context);
101 
103 typedef struct
104 {
105  char const* appName;
106  NVGSDK_Scope* scopeTable;
107  size_t scopeTableSize;
110  NVGSDK_NotificationCallback notificationCallback;
112 
113  uint32_t targetPid;
114  char const* targetPath;
116 
118 typedef struct
119 {
120  NVGSDK_Scope* scopeTable;
121  size_t scopeTableSize;
123 
125 
127 typedef struct
128 {
129  uint16_t versionMajor;
130  uint16_t versionMinor;
131  char gfeVersionStr[NVGSDK_MAX_LENGTH];
136 typedef void(__stdcall* NVGSDK_EmptyCallback)(NVGSDK_RetCode, void*);
137 
139 typedef struct
140 {
141  char const* cultureCode;
144 typedef void(__stdcall* NVGSDK_GetUILanguageCallback)(NVGSDK_RetCode, NVGSDK_Language const*, void*);
145 
146 #endif // GFESDK_SDK_TYPES_H
-
NVGSDK_ScopePermission * scopePermissionTable
Must be provided to call. Will be filled with scope/permission pairs.
Definition: sdk_types.h:128
- -
NVGSDK_OverlayState state
State the overlay is closing from or opening to.
Definition: sdk_types.h:86
-
void(__stdcall * NVGSDK_GetUILanguageCallback)(NVGSDK_RetCode, NVGSDK_Language const *, void *)
Definition: sdk_types.h:140
-
char const * localeCode
locale code, such as en-us, fr-fr, etc
Definition: sdk_types.h:62
-
Sent when the user accepts/denies the permissions dialog, or toggles in GFE3.
Definition: sdk_types.h:51
-
char const * appName
Provide the name of the application. Will be used in cases when NVIDIA cannot detect game...
Definition: sdk_types.h:104
-
char const * localizedString
String translated for given locale. Max length NVGSDK_MAX_LENGTH - 1.
Definition: sdk_types.h:63
-
NVGSDK_Scope * scopeTable
List of scopes used by the application.
Definition: sdk_types.h:105
-
NVGSDK_NotificationType
Definition: sdk_types.h:49
-
size_t scopeTableSize
Number of entries in the scope table.
Definition: sdk_types.h:106
- -
void * notificationCallbackContext
Passed along unchanged with each notification.
Definition: sdk_types.h:110
-
bool pollForCallbacks
Set to true to poll for asynchronous callbacks on an app thread. If false, callbacks will occur on a ...
Definition: sdk_types.h:107
-
char const * cultureCode
Will be populated by the user&#39;s GFE language selection.
Definition: sdk_types.h:137
-
uint16_t versionMinor
Will be populated with SDK minor version.
Definition: sdk_types.h:126
-
void(__stdcall * NVGSDK_EmptyCallback)(NVGSDK_RetCode, void *)
Definition: sdk_types.h:132
-
void(__stdcall * NVGSDK_LoggingCallback)(NVGSDK_LogLevel level, char const *message)
Definition: sdk_types.h:57
- - - +
NVGSDK_ScopePermission * scopePermissionTable
Must be provided to call. Will be filled with scope/permission pairs.
Definition: sdk_types.h:132
+ +
NVGSDK_OverlayState state
State the overlay is closing from or opening to.
Definition: sdk_types.h:87
+
void(__stdcall * NVGSDK_GetUILanguageCallback)(NVGSDK_RetCode, NVGSDK_Language const *, void *)
Definition: sdk_types.h:144
+
char const * localeCode
locale code, such as en-us, fr-fr, etc
Definition: sdk_types.h:63
+
Sent when the user accepts/denies the permissions dialog, or toggles in GFE3.
Definition: sdk_types.h:52
+
char const * appName
Provide the name of the application. Will be used in cases when NVIDIA cannot detect game...
Definition: sdk_types.h:105
+
char const * localizedString
String translated for given locale. Max length NVGSDK_MAX_LENGTH - 1.
Definition: sdk_types.h:64
+
NVGSDK_Scope * scopeTable
List of scopes used by the application.
Definition: sdk_types.h:106
+
NVGSDK_NotificationType
Definition: sdk_types.h:50
+
size_t scopeTableSize
Number of entries in the scope table.
Definition: sdk_types.h:107
+ +
void * notificationCallbackContext
Passed along unchanged with each notification.
Definition: sdk_types.h:111
+
bool pollForCallbacks
Set to true to poll for asynchronous callbacks on an app thread. If false, callbacks will occur on a ...
Definition: sdk_types.h:108
+
char const * cultureCode
Will be populated by the user&#39;s GFE language selection.
Definition: sdk_types.h:141
+
uint16_t versionMinor
Will be populated with SDK minor version.
Definition: sdk_types.h:130
+
void(__stdcall * NVGSDK_EmptyCallback)(NVGSDK_RetCode, void *)
Definition: sdk_types.h:136
+
void(__stdcall * NVGSDK_LoggingCallback)(NVGSDK_LogLevel level, char const *message)
Definition: sdk_types.h:58
+ + +
uint32_t targetPid
Advanced usage.
Definition: sdk_types.h:113
+
char const * gfeVersionStr
Current version installed by the user.
Definition: sdk_types.h:35
- - +
char const * targetPath
Advanced usage.
Definition: sdk_types.h:114
+ +
NVGSDK_LogLevel
Definition: sdk_types.h:39
-
bool open
true if the overlay is opening, false if it is closing
Definition: sdk_types.h:85
- -
uint16_t versionMajor
Will be populated with SDK major version.
Definition: sdk_types.h:125
-
Sent when the in-game overlay is shown or removed.
Definition: sdk_types.h:52
-
size_t scopePermissionTableSize
Must be provided to call.
Definition: sdk_types.h:129
+
bool open
true if the overlay is opening, false if it is closing
Definition: sdk_types.h:86
+ +
uint16_t versionMajor
Will be populated with SDK major version.
Definition: sdk_types.h:129
+
Sent when the in-game overlay is shown or removed.
Definition: sdk_types.h:53
+
size_t scopePermissionTableSize
Must be provided to call.
Definition: sdk_types.h:133
diff --git a/doc/html/sdk__types__cpp_8h_source.html b/doc/html/sdk__types__cpp_8h_source.html index b5649c3..5d0d103 100644 --- a/doc/html/sdk__types__cpp_8h_source.html +++ b/doc/html/sdk__types__cpp_8h_source.html @@ -85,12 +85,14 @@ $(document).ready(function(){initNavTree('sdk__types__cpp_8h_source.html','');})
sdk_types_cpp.h
-
1 /* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
10 #ifndef GFESDK_SDK_TYPES_CPP_H
11 #define GFESDK_SDK_TYPES_CPP_H
12 
13 // Include these first, so they don't get stuck in the GfeSDK namespace below
14 #include <stdint.h>
15 #include <stdbool.h>
16 
17 // Avoid polluting global namespace with C api
18 namespace GfeSDK
19 {
20 #include <gfesdk/sdk_types.h>
21 }
22 
23 #include <string>
24 #include <vector>
25 #include <map>
26 #include <functional>
27 
28 namespace GfeSDK
29 {
30 
31 struct NotificationBase;
32 typedef std::vector<NVGSDK_Scope> TScopes;
33 typedef std::map<NVGSDK_Scope, NVGSDK_Permission> TScopePermissions;
34 typedef std::map<std::string, std::string> TTranslationTable;
35 typedef std::function<void(NVGSDK_NotificationType, NotificationBase const&)> TNotificationCallback;
36 
38 {
39  std::string appName;
40  TScopes requiredScopes;
41  bool pollForCallbacks;
42  TNotificationCallback notificationCallback;
43  void* notificationCallbackContext;
44 
45  CreateInputParams() : pollForCallbacks(false), notificationCallback(nullptr), notificationCallbackContext(nullptr) {}
46 };
47 
49 {
50  TScopes scopes;
51 };
52 
54 typedef std::function<void(NVGSDK_RetCode, void*)> TCallback;
55 
58 {
59  NVGSDK_RetCode returnCode;
60  uint16_t versionMajor;
61  uint16_t versionMinor;
62  std::string nvidiaGfeVersion;
63  TScopePermissions scopePermissions;
64 };
65 
68 {
69  std::string cultureCode;
70 };
71 typedef std::function<void(NVGSDK_RetCode rc, GetUILanguageResponse const*, void*)> TGetUILanguageCallback;
72 
75 {
76  void* context;
77 };
78 
80 {
81  TScopePermissions scopePermissions;
82 };
83 
85 {
86  bool open;
87  NVGSDK_OverlayState state;
88 };
89 
90 }
91 
92 #endif //GFESDK_SDK_TYPES_CPP_H
C++ binding for NVGSDK_GetUILanguageResponse.
Definition: sdk_types_cpp.h:67
-
C++ binding for NVGSDK_CreateResponse.
Definition: sdk_types_cpp.h:57
- - - - +
1 /* Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
2 *
3 * NVIDIA CORPORATION and its licensors retain all intellectual property
4 * and proprietary rights in and to this software, related documentation
5 * and any modifications thereto. Any use, reproduction, disclosure or
6 * distribution of this software and related documentation without an express
7 * license agreement from NVIDIA CORPORATION is strictly prohibited.
8 */
9 
10 #ifndef GFESDK_SDK_TYPES_CPP_H
11 #define GFESDK_SDK_TYPES_CPP_H
12 
13 // Include these first, so they don't get stuck in the GfeSDK namespace below
14 #include <stdint.h>
15 #include <stdbool.h>
16 
17 // Avoid polluting global namespace with C api
18 namespace GfeSDK
19 {
20 #include <gfesdk/sdk_types.h>
21 }
22 
23 #include <string>
24 #include <vector>
25 #include <map>
26 #include <functional>
27 
28 namespace GfeSDK
29 {
30 
31 struct NotificationBase;
32 typedef std::vector<NVGSDK_Scope> TScopes;
33 typedef std::map<NVGSDK_Scope, NVGSDK_Permission> TScopePermissions;
34 typedef std::map<std::string, std::string> TTranslationTable;
35 typedef std::function<void(NVGSDK_NotificationType, NotificationBase const&)> TNotificationCallback;
36 
38 {
39  std::string appName;
40  TScopes requiredScopes;
41  bool pollForCallbacks;
42  TNotificationCallback notificationCallback;
43  void* notificationCallbackContext;
44 
45  uint32_t targetPid;
46  std::string targetPath;
47 
48  CreateInputParams() : pollForCallbacks(false), notificationCallback(nullptr), notificationCallbackContext(nullptr), targetPid(0) {}
49 };
50 
52 {
53  TScopes scopes;
54 };
55 
57 typedef std::function<void(NVGSDK_RetCode, void*)> TCallback;
58 
61 {
62  NVGSDK_RetCode returnCode;
63  uint16_t versionMajor;
64  uint16_t versionMinor;
65  std::string nvidiaGfeVersion;
66  TScopePermissions scopePermissions;
67 };
68 
71 {
72  std::string cultureCode;
73 };
74 typedef std::function<void(NVGSDK_RetCode rc, GetUILanguageResponse const*, void*)> TGetUILanguageCallback;
75 
78 {
79  void* context;
80 };
81 
83 {
84  TScopePermissions scopePermissions;
85 };
86 
88 {
89  bool open;
90  NVGSDK_OverlayState state;
91 };
92 
93 }
94 
95 #endif //GFESDK_SDK_TYPES_CPP_H
C++ binding for NVGSDK_GetUILanguageResponse.
Definition: sdk_types_cpp.h:70
+
C++ binding for NVGSDK_CreateResponse.
Definition: sdk_types_cpp.h:60
+ + +
uint32_t targetPid
Advanced usage.
Definition: sdk_types_cpp.h:45
+ +
std::string targetPath
Advanced usage.
Definition: sdk_types_cpp.h:46
+ diff --git a/doc/html/sdk__types__ipc_8h_source.html b/doc/html/sdk__types__ipc_8h_source.html index e0ff15c..bacf95b 100644 --- a/doc/html/sdk__types__ipc_8h_source.html +++ b/doc/html/sdk__types__ipc_8h_source.html @@ -6,7 +6,7 @@ -NVIDIAGeForceExperienceSDK: C:/u/workspace/dev/sdkwinauto/_build/msvc120_x64_RelWithDebInfo/sdk/include/gfesdk/sdk_types_ipc.h Source File +NVIDIAGeForceExperienceSDK: C:/u/workspace/dev/sdkwinauto/_build/sys-msvc141-uwp_x64_RelWithDebInfo/sdk/include/gfesdk/sdk_types_ipc.h Source File @@ -85,13 +85,13 @@ $(document).ready(function(){initNavTree('sdk__types__ipc_8h_source.html','');})
sdk_types_ipc.h
-
1 // Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
2 //
3 // NVIDIA CORPORATION and its licensors retain all intellectual property
4 // and proprietary rights in and to this software, related documentation
5 // and any modifications thereto. Any use, reproduction, disclosure or
6 // distribution of this software and related documentation without an express
7 // license agreement from NVIDIA CORPORATION is strictly prohibited.
8 
9 #ifndef NVSDKAPI_IPC_H
10 #define NVSDKAPI_IPC_H
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
47 int const NVGSDK_IPC_VERSION_MAJOR = 1;
48 int const NVGSDK_IPC_VERSION_MINOR = 0;
49 
53 typedef enum _NVGSDK_RetCode
54 {
55  NVGSDK_SUCCESS = 0,
56  NVGSDK_SUCCESS_VERSION_OLD_SDK = 1001,
57  NVGSDK_SUCCESS_VERSION_OLD_GFE = 1002,
58  NVGSDK_SUCCESS_PENDING = 1003,
59  NVGSDK_SUCCESS_USER_NOT_INTERESTED = 1004,
60  NVGSDK_SUCCESS_PERMISSION_GRANTED = 1005,
61 
62  NVGSDK_ERR_GENERIC = -1001,
63  NVGSDK_ERR_GFE_VERSION = -1002,
64  NVGSDK_ERR_SDK_VERSION = -1003,
65  NVGSDK_ERR_NOT_IMPLEMENTED = -1004,
66  NVGSDK_ERR_INVALID_PARAMETER = -1005,
67  NVGSDK_ERR_NOT_SET = -1006,
68  NVGSDK_ERR_SHADOWPLAY_IR_DISABLED = -1007,
69  NVGSDK_ERR_SDK_IN_USE = -1008,
70  NVGSDK_ERR_GROUP_NOT_FOUND = -1009,
71  NVGSDK_ERR_FILE_NOT_FOUND = -1010,
72  NVGSDK_ERR_HIGHLIGHTS_SETUP_FAILED = -1011,
73  NVGSDK_ERR_HIGHLIGHTS_NOT_CONFIGURED = -1012,
74  NVGSDK_ERR_HIGHLIGHTS_SAVE_FAILED = -1013,
75  NVGSDK_ERR_UNEXPECTED_EXCEPTION = -1014,
76  NVGSDK_ERR_NO_HIGHLIGHTS = -1015,
77  NVGSDK_ERR_NO_CONNECTION = -1016,
78  NVGSDK_ERR_PERMISSION_NOT_GRANTED = -1017,
79  NVGSDK_ERR_PERMISSION_DENIED = -1018,
80  NVGSDK_ERR_INVALID_HANDLE = -1019,
81  NVGSDK_ERR_UNHANDLED_EXCEPTION = -1020,
82  NVGSDK_ERR_OUT_OF_MEMORY = -1021,
83  NVGSDK_ERR_LOAD_LIBRARY = -1022,
84  NVGSDK_ERR_LIB_CALL_FAILED = -1023,
85  NVGSDK_ERR_IPC_FAILED = -1024,
86  NVGSDK_ERR_CONNECTION = -1025,
87  NVGSDK_ERR_MODULE_NOT_LOADED = -1026
88 } NVGSDK_RetCode;
89 
90 // not using macros to avoid polluting namespace of SDK unnecessarily
91 
93 inline bool NVGSDK_SUCCEEDED(NVGSDK_RetCode r)
94 {
95  return r >= 0;
96 }
97 
99 inline bool NVGSDK_FAILED(NVGSDK_RetCode r)
100 {
101  return r < 0;
102 }
103 
105 typedef enum
106 {
107  NVGSDK_SCOPE_HIGHLIGHTS = 0,
108  NVGSDK_SCOPE_HIGHLIGHTS_VIDEO = 1,
109  NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT = 2,
110  NVGSDK_SCOPE_MAX
111 } NVGSDK_Scope;
112 
114 typedef enum
115 {
116  NVGSDK_PERMISSION_GRANTED = 0,
117  NVGSDK_PERMISSION_MUST_ASK = 1,
118  NVGSDK_PERMISSION_DENIED = 2,
119  NVGSDK_PERMISSION_UNKNOWN = 3,
120  NVGSDK_PERMISSION_MAX
121 } NVGSDK_Permission;
122 
124 typedef enum
125 {
126  NVGSDK_OVERLAY_STATE_MAIN,
127  NVGSDK_OVERLAY_STATE_PERMISSION,
128  NVGSDK_OVERLAY_STATE_HIGHLIGHTS_SUMMARY,
129  NVGSDK_OVERLAY_STATE_MAX
130 } NVGSDK_OverlayState;
131 
135 inline const char* NVGSDK_RetCodeToString(NVGSDK_RetCode const ret)
136 {
137  switch (ret)
138  {
139  case NVGSDK_SUCCESS: return "NVGSDK_SUCCESS";
140  case NVGSDK_SUCCESS_VERSION_OLD_SDK: return "NVGSDK_SUCCESS_VERSION_OLD_SDK";
141  case NVGSDK_SUCCESS_VERSION_OLD_GFE: return "NVGSDK_SUCCESS_VERSION_OLD_GFE";
142  case NVGSDK_SUCCESS_PENDING: return "NVGSDK_SUCCESS_PENDING";
143  case NVGSDK_SUCCESS_USER_NOT_INTERESTED: return "NVGSDK_SUCCESS_USER_NOT_INTERESTED";
144  case NVGSDK_SUCCESS_PERMISSION_GRANTED: return "NVGSDK_SUCCESS_PERMISSION_GRANTED";
145  case NVGSDK_ERR_GENERIC: return "NVGSDK_ERR_GENERIC";
146  case NVGSDK_ERR_GFE_VERSION: return "NVGSDK_ERR_GFE_VERSION";
147  case NVGSDK_ERR_SDK_VERSION: return "NVGSDK_ERR_SDK_VERSION";
148  case NVGSDK_ERR_NOT_IMPLEMENTED: return "NVGSDK_ERR_NOT_IMPLEMENTED";
149  case NVGSDK_ERR_INVALID_PARAMETER: return "NVGSDK_ERR_INVALID_PARAMETER";
150  case NVGSDK_ERR_NOT_SET: return "NVGSDK_ERR_NOT_SET";
151  case NVGSDK_ERR_SHADOWPLAY_IR_DISABLED: return "NVGSDK_ERR_SHADOWPLAY_IR_DISABLED";
152  case NVGSDK_ERR_SDK_IN_USE: return "NVGSDK_ERR_SDK_IN_USE";
153  case NVGSDK_ERR_GROUP_NOT_FOUND: return "NVGSDK_ERR_GROUP_NOT_FOUND";
154  case NVGSDK_ERR_FILE_NOT_FOUND: return "NVGSDK_ERR_FILE_NOT_FOUND";
155  case NVGSDK_ERR_HIGHLIGHTS_SETUP_FAILED: return "NVGSDK_ERR_HIGHLIGHTS_SETUP_FAILED";
156  case NVGSDK_ERR_HIGHLIGHTS_SAVE_FAILED: return "NVGSDK_ERR_HIGHLIGHTS_SAVE_FAILED";
157  case NVGSDK_ERR_UNEXPECTED_EXCEPTION: return "NVGSDK_ERR_UNEXPECTED_EXCEPTION";
158  case NVGSDK_ERR_NO_HIGHLIGHTS: return "NVGSDK_ERR_NO_HIGHLIGHTS";
159  case NVGSDK_ERR_NO_CONNECTION: return "NVGSDK_ERR_NO_CONNECTION";
160  case NVGSDK_ERR_PERMISSION_NOT_GRANTED: return "NVGSDK_ERR_PERMISSION_NOT_GRANTED";
161  case NVGSDK_ERR_PERMISSION_DENIED: return "NVGSDK_ERR_PERMISSION_DENIED";
162  case NVGSDK_ERR_INVALID_HANDLE: return "NVGSDK_ERR_INVALID_HANDLE";
163  case NVGSDK_ERR_UNHANDLED_EXCEPTION: return "NVGSDK_ERR_UNHANDLED_EXCEPTION";
164  case NVGSDK_ERR_OUT_OF_MEMORY: return "NVGSDK_ERR_OUT_OF_MEMORY";
165  case NVGSDK_ERR_LOAD_LIBRARY: return "NVGSDK_ERR_LOAD_LIBRARY";
166  case NVGSDK_ERR_LIB_CALL_FAILED: return "NVGSDK_ERR_LIB_CALL_FAILED";
167  case NVGSDK_ERR_IPC_FAILED: return "NVGSDK_ERR_IPC_FAILED";
168  case NVGSDK_ERR_CONNECTION: return "NVGSDK_ERR_CONNECTION";
169  case NVGSDK_ERR_MODULE_NOT_LOADED: return "NVGSDK_ERR_MODULE_NOT_LOADED";
170  }
171  return "Unknown code";
172 }
173 
174 #ifdef __cplusplus
175 }
176 #endif
177 
178 #endif // NVSDKAPI_IPC_H
+
1 // Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
2 //
3 // NVIDIA CORPORATION and its licensors retain all intellectual property
4 // and proprietary rights in and to this software, related documentation
5 // and any modifications thereto. Any use, reproduction, disclosure or
6 // distribution of this software and related documentation without an express
7 // license agreement from NVIDIA CORPORATION is strictly prohibited.
8 
9 #ifndef NVSDKAPI_IPC_H
10 #define NVSDKAPI_IPC_H
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
47 int const NVGSDK_IPC_VERSION_MAJOR = 1;
48 int const NVGSDK_IPC_VERSION_MINOR = 0;
49 
53 typedef enum _NVGSDK_RetCode
54 {
55  NVGSDK_SUCCESS = 0,
56  NVGSDK_SUCCESS_VERSION_OLD_SDK = 1001,
57  NVGSDK_SUCCESS_VERSION_OLD_GFE = 1002,
58  NVGSDK_SUCCESS_PENDING = 1003,
59  NVGSDK_SUCCESS_USER_NOT_INTERESTED = 1004,
60  NVGSDK_SUCCESS_PERMISSION_GRANTED = 1005,
61 
62  NVGSDK_ERR_GENERIC = -1001,
63  NVGSDK_ERR_GFE_VERSION = -1002,
64  NVGSDK_ERR_SDK_VERSION = -1003,
65  NVGSDK_ERR_NOT_IMPLEMENTED = -1004,
66  NVGSDK_ERR_INVALID_PARAMETER = -1005,
67  NVGSDK_ERR_NOT_SET = -1006,
68  NVGSDK_ERR_SHADOWPLAY_IR_DISABLED = -1007,
69  NVGSDK_ERR_SDK_IN_USE = -1008,
70  NVGSDK_ERR_GROUP_NOT_FOUND = -1009,
71  NVGSDK_ERR_FILE_NOT_FOUND = -1010,
72  NVGSDK_ERR_HIGHLIGHTS_SETUP_FAILED = -1011,
73  NVGSDK_ERR_HIGHLIGHTS_NOT_CONFIGURED = -1012,
74  NVGSDK_ERR_HIGHLIGHTS_SAVE_FAILED = -1013,
75  NVGSDK_ERR_UNEXPECTED_EXCEPTION = -1014,
76  NVGSDK_ERR_NO_HIGHLIGHTS = -1015,
77  NVGSDK_ERR_NO_CONNECTION = -1016,
78  NVGSDK_ERR_PERMISSION_NOT_GRANTED = -1017,
79  NVGSDK_ERR_PERMISSION_DENIED = -1018,
80  NVGSDK_ERR_INVALID_HANDLE = -1019,
81  NVGSDK_ERR_UNHANDLED_EXCEPTION = -1020,
82  NVGSDK_ERR_OUT_OF_MEMORY = -1021,
83  NVGSDK_ERR_LOAD_LIBRARY = -1022,
84  NVGSDK_ERR_LIB_CALL_FAILED = -1023,
85  NVGSDK_ERR_IPC_FAILED = -1024,
86  NVGSDK_ERR_CONNECTION = -1025,
87  NVGSDK_ERR_MODULE_NOT_LOADED = -1026,
88  NVGSDK_ERR_LIB_CALL_TIMEOUT = -1027
89 } NVGSDK_RetCode;
90 
91 // not using macros to avoid polluting namespace of SDK unnecessarily
92 
94 inline bool NVGSDK_SUCCEEDED(NVGSDK_RetCode r)
95 {
96  return r >= 0;
97 }
98 
100 inline bool NVGSDK_FAILED(NVGSDK_RetCode r)
101 {
102  return r < 0;
103 }
104 
106 typedef enum
107 {
111  NVGSDK_HIGHLIGHT_TYPE_MILESTONE = 0x00000001,
116  NVGSDK_HIGHLIGHT_TYPE_ACHIEVEMENT = 0x00000002,
120  NVGSDK_HIGHLIGHT_TYPE_INCIDENT = 0x00000004,
125  NVGSDK_HIGHLIGHT_TYPE_STATE_CHANGE = 0x00000008,
131  NVGSDK_HIGHLIGHT_TYPE_UNANNOUNCED = 0x00000010,
133  NVGSDK_HIGHLIGHT_TYPE_MAX = 0x00000020
134 } NVGSDK_HighlightType;
135 
137 typedef enum
138 {
139  NVGSDK_SCOPE_HIGHLIGHTS = 0,
140  NVGSDK_SCOPE_HIGHLIGHTS_VIDEO = 1,
141  NVGSDK_SCOPE_HIGHLIGHTS_SCREENSHOT = 2,
142  NVGSDK_SCOPE_MAX
143 } NVGSDK_Scope;
144 
146 typedef enum
147 {
148  NVGSDK_PERMISSION_GRANTED = 0,
149  NVGSDK_PERMISSION_MUST_ASK = 1,
150  NVGSDK_PERMISSION_DENIED = 2,
151  NVGSDK_PERMISSION_UNKNOWN = 3,
152  NVGSDK_PERMISSION_MAX
153 } NVGSDK_Permission;
154 
156 typedef enum
157 {
158  NVGSDK_OVERLAY_STATE_MAIN,
159  NVGSDK_OVERLAY_STATE_PERMISSION,
160  NVGSDK_OVERLAY_STATE_HIGHLIGHTS_SUMMARY,
161  NVGSDK_OVERLAY_STATE_MAX
162 } NVGSDK_OverlayState;
163 
167 inline const char* NVGSDK_RetCodeToString(NVGSDK_RetCode const ret)
168 {
169  switch (ret)
170  {
171  case NVGSDK_SUCCESS: return "NVGSDK_SUCCESS";
172  case NVGSDK_SUCCESS_VERSION_OLD_SDK: return "NVGSDK_SUCCESS_VERSION_OLD_SDK";
173  case NVGSDK_SUCCESS_VERSION_OLD_GFE: return "NVGSDK_SUCCESS_VERSION_OLD_GFE";
174  case NVGSDK_SUCCESS_PENDING: return "NVGSDK_SUCCESS_PENDING";
175  case NVGSDK_SUCCESS_USER_NOT_INTERESTED: return "NVGSDK_SUCCESS_USER_NOT_INTERESTED";
176  case NVGSDK_SUCCESS_PERMISSION_GRANTED: return "NVGSDK_SUCCESS_PERMISSION_GRANTED";
177  case NVGSDK_ERR_GENERIC: return "NVGSDK_ERR_GENERIC";
178  case NVGSDK_ERR_GFE_VERSION: return "NVGSDK_ERR_GFE_VERSION";
179  case NVGSDK_ERR_SDK_VERSION: return "NVGSDK_ERR_SDK_VERSION";
180  case NVGSDK_ERR_NOT_IMPLEMENTED: return "NVGSDK_ERR_NOT_IMPLEMENTED";
181  case NVGSDK_ERR_INVALID_PARAMETER: return "NVGSDK_ERR_INVALID_PARAMETER";
182  case NVGSDK_ERR_NOT_SET: return "NVGSDK_ERR_NOT_SET";
183  case NVGSDK_ERR_SHADOWPLAY_IR_DISABLED: return "NVGSDK_ERR_SHADOWPLAY_IR_DISABLED";
184  case NVGSDK_ERR_SDK_IN_USE: return "NVGSDK_ERR_SDK_IN_USE";
185  case NVGSDK_ERR_GROUP_NOT_FOUND: return "NVGSDK_ERR_GROUP_NOT_FOUND";
186  case NVGSDK_ERR_FILE_NOT_FOUND: return "NVGSDK_ERR_FILE_NOT_FOUND";
187  case NVGSDK_ERR_HIGHLIGHTS_SETUP_FAILED: return "NVGSDK_ERR_HIGHLIGHTS_SETUP_FAILED";
188  case NVGSDK_ERR_HIGHLIGHTS_SAVE_FAILED: return "NVGSDK_ERR_HIGHLIGHTS_SAVE_FAILED";
189  case NVGSDK_ERR_UNEXPECTED_EXCEPTION: return "NVGSDK_ERR_UNEXPECTED_EXCEPTION";
190  case NVGSDK_ERR_NO_HIGHLIGHTS: return "NVGSDK_ERR_NO_HIGHLIGHTS";
191  case NVGSDK_ERR_NO_CONNECTION: return "NVGSDK_ERR_NO_CONNECTION";
192  case NVGSDK_ERR_PERMISSION_NOT_GRANTED: return "NVGSDK_ERR_PERMISSION_NOT_GRANTED";
193  case NVGSDK_ERR_PERMISSION_DENIED: return "NVGSDK_ERR_PERMISSION_DENIED";
194  case NVGSDK_ERR_INVALID_HANDLE: return "NVGSDK_ERR_INVALID_HANDLE";
195  case NVGSDK_ERR_UNHANDLED_EXCEPTION: return "NVGSDK_ERR_UNHANDLED_EXCEPTION";
196  case NVGSDK_ERR_OUT_OF_MEMORY: return "NVGSDK_ERR_OUT_OF_MEMORY";
197  case NVGSDK_ERR_LOAD_LIBRARY: return "NVGSDK_ERR_LOAD_LIBRARY";
198  case NVGSDK_ERR_LIB_CALL_FAILED: return "NVGSDK_ERR_LIB_CALL_FAILED";
199  case NVGSDK_ERR_IPC_FAILED: return "NVGSDK_ERR_IPC_FAILED";
200  case NVGSDK_ERR_CONNECTION: return "NVGSDK_ERR_CONNECTION";
201  case NVGSDK_ERR_MODULE_NOT_LOADED: return "NVGSDK_ERR_MODULE_NOT_LOADED";
202  case NVGSDK_ERR_LIB_CALL_TIMEOUT: return "NVGSDK_ERR_LIB_CALL_TIMEOUT";
203  }
204  return "Unknown code";
205 }
206 
207 // All alphanumeric and the hyphen
208 char const VALID_GROUPID_CHARS[] = "^[a-zA-Z0-9\\-_ ]+$";
209 wchar_t const VALID_GROUPID_WCHARS[] = L"^[a-zA-Z0-9\\-_ ]+$";
210 
211 char const VALID_HIGHLIGHT_DEF_ID_CHARS[] = "^[a-zA-Z0-9\\-_ ]+$";
212 wchar_t const VALID_HIGHLIGHT_DEF_ID_WCHARS[] = L"^[a-zA-Z0-9\\-_ ]+$";
213 
214 char const VALID_GAMENAME_CHARS[] = "^[a-zA-Z0-9\\-_ ]+$";
215 wchar_t const VALID_GAMENAME_WCHARS[] = L"^[a-zA-Z0-9\\-_ ]+$";
216 
217 size_t const VALID_HIGHLIGHT_SIGNIFICANCE_WIDTH = 0x8FF;
218 size_t const VALID_HIGHLIGHT_TAG_WIDTH = 0x1F;
219 
220 #ifdef __cplusplus
221 }
222 #endif
223 
224 #endif // NVSDKAPI_IPC_H
-

NVIDIA GfeSDK 1.0 (2017-08-01)

+

NVIDIA GfeSDK 1.0 (2018-01-16)

+

Features for GFE 3.13+

+
    +
  • UWP Support Add support to Universal Windows Platform games
  • +
  • Target PID Add support for whitelisted apps to record another process's PID
  • +
+

API Changes

+
    +
  • Target PID Added to NVGSDK_Create call
  • +
  • Unannounced Highlight Type To prevent showing Highlights notifications for certain applications
  • +
+

Improvements

+
    +
  • UWP Sample App Add a new sample MarbleMaze app that demostrates a full Highlights integration
  • +
+

Bug Fixes

+
    +
  • Fix Crash Was occasionally crashing when communication with the backend could not be established
  • +
+

NVIDIA GfeSDK 1.0 (2017-08-01)

API Changes

diff --git a/doc/html/struct_gfe_s_d_k_1_1_create_input_params.html b/doc/html/struct_gfe_s_d_k_1_1_create_input_params.html index 42eecbe..e2f8708 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_create_input_params.html +++ b/doc/html/struct_gfe_s_d_k_1_1_create_input_params.html @@ -106,6 +106,14 @@ TNotificationCallback noti void * notificationCallbackContext   + +uint32_t targetPid + Advanced usage.
+  + +std::string targetPath + Advanced usage.

Detailed Description

diff --git a/doc/html/struct_gfe_s_d_k_1_1_create_input_params.js b/doc/html/struct_gfe_s_d_k_1_1_create_input_params.js index d6196dc..4b2ed89 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_create_input_params.js +++ b/doc/html/struct_gfe_s_d_k_1_1_create_input_params.js @@ -5,5 +5,7 @@ var struct_gfe_s_d_k_1_1_create_input_params = [ "requiredScopes", "struct_gfe_s_d_k_1_1_create_input_params.html#ad7e63dbf5a858737e0e3f5b8f168e53e", null ], [ "pollForCallbacks", "struct_gfe_s_d_k_1_1_create_input_params.html#a642a81dc589d578d1c415099e85b9891", null ], [ "notificationCallback", "struct_gfe_s_d_k_1_1_create_input_params.html#ac5a3e3b18dab8b5f0a1fdca82b8f569f", null ], - [ "notificationCallbackContext", "struct_gfe_s_d_k_1_1_create_input_params.html#ab0617abb7f1bff434a7ea285fca5e1eb", null ] + [ "notificationCallbackContext", "struct_gfe_s_d_k_1_1_create_input_params.html#ab0617abb7f1bff434a7ea285fca5e1eb", null ], + [ "targetPid", "struct_gfe_s_d_k_1_1_create_input_params.html#acbfe50b94ef46d11155d786af7aaae5b", null ], + [ "targetPath", "struct_gfe_s_d_k_1_1_create_input_params.html#ab4d909fa827bbc7631af877c97fc0cc3", null ] ]; \ No newline at end of file diff --git a/doc/html/struct_gfe_s_d_k_1_1_create_response.html b/doc/html/struct_gfe_s_d_k_1_1_create_response.html index 31d6b90..7ed594d 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_create_response.html +++ b/doc/html/struct_gfe_s_d_k_1_1_create_response.html @@ -115,7 +115,7 @@ TScopePermissions scopePer

Detailed Description

C++ binding for NVGSDK_CreateResponse.

-

Definition at line 57 of file sdk_types_cpp.h.

+

Definition at line 60 of file sdk_types_cpp.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/bindings/cpp/sdk_types_cpp.h
diff --git a/doc/html/struct_gfe_s_d_k_1_1_get_number_of_highlights_response.html b/doc/html/struct_gfe_s_d_k_1_1_get_number_of_highlights_response.html index 6af86c3..6007b6c 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_get_number_of_highlights_response.html +++ b/doc/html/struct_gfe_s_d_k_1_1_get_number_of_highlights_response.html @@ -103,7 +103,7 @@ uint16_t numHighlights

Detailed Description

C++ binding for NVGSDK_GetNumberOfHighlightsResponse.

-

Definition at line 95 of file highlights_types_cpp.h.

+

Definition at line 96 of file highlights_types_cpp.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_gfe_s_d_k_1_1_get_u_i_language_response.html b/doc/html/struct_gfe_s_d_k_1_1_get_u_i_language_response.html index ef1913b..5cd5975 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_get_u_i_language_response.html +++ b/doc/html/struct_gfe_s_d_k_1_1_get_u_i_language_response.html @@ -103,7 +103,7 @@ std::string cultureCode

Detailed Description

C++ binding for NVGSDK_GetUILanguageResponse.

-

Definition at line 67 of file sdk_types_cpp.h.

+

Definition at line 70 of file sdk_types_cpp.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/bindings/cpp/sdk_types_cpp.h
diff --git a/doc/html/struct_gfe_s_d_k_1_1_get_user_settings_response.html b/doc/html/struct_gfe_s_d_k_1_1_get_user_settings_response.html index 1879eb8..8018592 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_get_user_settings_response.html +++ b/doc/html/struct_gfe_s_d_k_1_1_get_user_settings_response.html @@ -103,7 +103,7 @@ std::vector<

Detailed Description

C++ binding for NVGSDK_Highlights_GetUserSettingsResponse.

-

Definition at line 102 of file highlights_types_cpp.h.

+

Definition at line 103 of file highlights_types_cpp.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_gfe_s_d_k_1_1_group_view-members.html b/doc/html/struct_gfe_s_d_k_1_1_group_view-members.html index ec2c850..c00d49c 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_group_view-members.html +++ b/doc/html/struct_gfe_s_d_k_1_1_group_view-members.html @@ -89,8 +89,9 @@ $(document).ready(function(){initNavTree('struct_gfe_s_d_k_1_1_group_view.html',

This is the complete list of members for GfeSDK::GroupView, including all inherited members.

- - + + +
groupId (defined in GfeSDK::GroupView)GfeSDK::GroupView
significanceFilter (defined in GfeSDK::GroupView)GfeSDK::GroupView
tagsFilter (defined in GfeSDK::GroupView)GfeSDK::GroupView
GroupView() (defined in GfeSDK::GroupView)GfeSDK::GroupViewinline
significanceFilter (defined in GfeSDK::GroupView)GfeSDK::GroupView
tagsFilter (defined in GfeSDK::GroupView)GfeSDK::GroupView
diff --git a/doc/html/struct_gfe_s_d_k_1_1_group_view.html b/doc/html/struct_gfe_s_d_k_1_1_group_view.html index 1a6d0b2..cb65cf0 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_group_view.html +++ b/doc/html/struct_gfe_s_d_k_1_1_group_view.html @@ -100,7 +100,7 @@ Public Attributes std::string groupId   -NVGSDK_HighlightType tagsFilter +NVGSDK_HighlightType tagsFilter   NVGSDK_HighlightSignificance significanceFilter diff --git a/doc/html/struct_gfe_s_d_k_1_1_group_view.js b/doc/html/struct_gfe_s_d_k_1_1_group_view.js index e62dcb8..e71478f 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_group_view.js +++ b/doc/html/struct_gfe_s_d_k_1_1_group_view.js @@ -1,5 +1,6 @@ var struct_gfe_s_d_k_1_1_group_view = [ + [ "GroupView", "struct_gfe_s_d_k_1_1_group_view.html#a60152cea139b00a3a3c84975bfbc576c", null ], [ "groupId", "struct_gfe_s_d_k_1_1_group_view.html#ad5dd5bab7ad625b3708bb63bc7405b16", null ], [ "tagsFilter", "struct_gfe_s_d_k_1_1_group_view.html#abde8e2e9e5c96c1b33885face697103e", null ], [ "significanceFilter", "struct_gfe_s_d_k_1_1_group_view.html#ab431654e4341d1dae7526cd4f8afedb7", null ] diff --git a/doc/html/struct_gfe_s_d_k_1_1_highlight_definition.html b/doc/html/struct_gfe_s_d_k_1_1_highlight_definition.html index 10913ad..5aaf87d 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_highlight_definition.html +++ b/doc/html/struct_gfe_s_d_k_1_1_highlight_definition.html @@ -103,7 +103,7 @@ std::string iduserDefaultInterest   -NVGSDK_HighlightType highlightTags +NVGSDK_HighlightType highlightTags   NVGSDK_HighlightSignificance significance diff --git a/doc/html/struct_gfe_s_d_k_1_1_highlight_user_setting.html b/doc/html/struct_gfe_s_d_k_1_1_highlight_user_setting.html index 924698b..a9438c1 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_highlight_user_setting.html +++ b/doc/html/struct_gfe_s_d_k_1_1_highlight_user_setting.html @@ -108,7 +108,7 @@ bool 

Detailed Description

C++ binding for NVGSDK_HighlightUserSetting.

-

Definition at line 86 of file highlights_types_cpp.h.

+

Definition at line 87 of file highlights_types_cpp.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_gfe_s_d_k_1_1_notification_base.html b/doc/html/struct_gfe_s_d_k_1_1_notification_base.html index bff171a..ebcfd98 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_notification_base.html +++ b/doc/html/struct_gfe_s_d_k_1_1_notification_base.html @@ -106,7 +106,7 @@ void * context

Detailed Description

-

Definition at line 74 of file sdk_types_cpp.h.

+

Definition at line 77 of file sdk_types_cpp.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/bindings/cpp/sdk_types_cpp.h
diff --git a/doc/html/struct_gfe_s_d_k_1_1_overlay_state_changed_notification.html b/doc/html/struct_gfe_s_d_k_1_1_overlay_state_changed_notification.html index 8b50b45..034bfff 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_overlay_state_changed_notification.html +++ b/doc/html/struct_gfe_s_d_k_1_1_overlay_state_changed_notification.html @@ -120,7 +120,7 @@ void * context

Detailed Description

-

Definition at line 84 of file sdk_types_cpp.h.

+

Definition at line 87 of file sdk_types_cpp.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/bindings/cpp/sdk_types_cpp.h
diff --git a/doc/html/struct_gfe_s_d_k_1_1_permissions_changed_notification.html b/doc/html/struct_gfe_s_d_k_1_1_permissions_changed_notification.html index e141cb0..57ec76c 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_permissions_changed_notification.html +++ b/doc/html/struct_gfe_s_d_k_1_1_permissions_changed_notification.html @@ -117,7 +117,7 @@ void * context

Detailed Description

-

Definition at line 79 of file sdk_types_cpp.h.

+

Definition at line 82 of file sdk_types_cpp.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/bindings/cpp/sdk_types_cpp.h
diff --git a/doc/html/struct_gfe_s_d_k_1_1_request_permissions_params.html b/doc/html/struct_gfe_s_d_k_1_1_request_permissions_params.html index 1c8e2e8..82335a6 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_request_permissions_params.html +++ b/doc/html/struct_gfe_s_d_k_1_1_request_permissions_params.html @@ -97,7 +97,7 @@ TScopes scopes

Detailed Description

-

Definition at line 48 of file sdk_types_cpp.h.

+

Definition at line 51 of file sdk_types_cpp.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/bindings/cpp/sdk_types_cpp.h
diff --git a/doc/html/struct_gfe_s_d_k_1_1_summary_params.html b/doc/html/struct_gfe_s_d_k_1_1_summary_params.html index 957dcaf..a4f15ce 100644 --- a/doc/html/struct_gfe_s_d_k_1_1_summary_params.html +++ b/doc/html/struct_gfe_s_d_k_1_1_summary_params.html @@ -103,7 +103,7 @@ std::vector< GroupV

Detailed Description

C++ binding for NVGSDK_SummaryParams.

-

Definition at line 80 of file highlights_types_cpp.h.

+

Definition at line 81 of file highlights_types_cpp.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_n_v_g_s_d_k___create_input_params-members.html b/doc/html/struct_n_v_g_s_d_k___create_input_params-members.html index 539dbd2..0b5e85f 100644 --- a/doc/html/struct_n_v_g_s_d_k___create_input_params-members.html +++ b/doc/html/struct_n_v_g_s_d_k___create_input_params-members.html @@ -94,6 +94,8 @@ $(document).ready(function(){initNavTree('struct_n_v_g_s_d_k___create_input_para pollForCallbacksNVGSDK_CreateInputParams scopeTableNVGSDK_CreateInputParams scopeTableSizeNVGSDK_CreateInputParams + targetPathNVGSDK_CreateInputParams + targetPidNVGSDK_CreateInputParams diff --git a/doc/html/struct_n_v_g_s_d_k___create_input_params.html b/doc/html/struct_n_v_g_s_d_k___create_input_params.html index 1094534..d3e6f90 100644 --- a/doc/html/struct_n_v_g_s_d_k___create_input_params.html +++ b/doc/html/struct_n_v_g_s_d_k___create_input_params.html @@ -128,11 +128,19 @@ NVGSDK_NotificationCallback < void * notificationCallbackContext  Passed along unchanged with each notification.
  + +uint32_t targetPid + Advanced usage.
+  + +char const * targetPath + Advanced usage.

Detailed Description

Parameters used to setup an SDK connection, given to NVGSDK_Create

-

Definition at line 102 of file sdk_types.h.

+

Definition at line 103 of file sdk_types.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/sdk_types.h
diff --git a/doc/html/struct_n_v_g_s_d_k___create_input_params.js b/doc/html/struct_n_v_g_s_d_k___create_input_params.js index 90bd207..ee22f30 100644 --- a/doc/html/struct_n_v_g_s_d_k___create_input_params.js +++ b/doc/html/struct_n_v_g_s_d_k___create_input_params.js @@ -5,5 +5,7 @@ var struct_n_v_g_s_d_k___create_input_params = [ "scopeTableSize", "struct_n_v_g_s_d_k___create_input_params.html#a8941e0c803ec2f821101cfc55a7f60a3", null ], [ "pollForCallbacks", "struct_n_v_g_s_d_k___create_input_params.html#a0bd7568c1cb3fad975562055b4581195", null ], [ "notificationCallback", "struct_n_v_g_s_d_k___create_input_params.html#adde61c0a8ea3a728c57081ec97081a72", null ], - [ "notificationCallbackContext", "struct_n_v_g_s_d_k___create_input_params.html#ad30b1588618ec4bfbc1e9fa13c22b9a7", null ] + [ "notificationCallbackContext", "struct_n_v_g_s_d_k___create_input_params.html#ad30b1588618ec4bfbc1e9fa13c22b9a7", null ], + [ "targetPid", "struct_n_v_g_s_d_k___create_input_params.html#a94b71825369290d98e08058b3c0ba537", null ], + [ "targetPath", "struct_n_v_g_s_d_k___create_input_params.html#adee7d43aa6948b623aa4fe84f8e8bf97", null ] ]; \ No newline at end of file diff --git a/doc/html/struct_n_v_g_s_d_k___create_response.html b/doc/html/struct_n_v_g_s_d_k___create_response.html index 551a96c..93201a6 100644 --- a/doc/html/struct_n_v_g_s_d_k___create_response.html +++ b/doc/html/struct_n_v_g_s_d_k___create_response.html @@ -125,7 +125,7 @@ size_t 

Detailed Description

Response from NVGSDK_Create call

-

Definition at line 123 of file sdk_types.h.

+

Definition at line 127 of file sdk_types.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/sdk_types.h
diff --git a/doc/html/struct_n_v_g_s_d_k___group_view.html b/doc/html/struct_n_v_g_s_d_k___group_view.html index 703c23e..b2f81dd 100644 --- a/doc/html/struct_n_v_g_s_d_k___group_view.html +++ b/doc/html/struct_n_v_g_s_d_k___group_view.html @@ -98,7 +98,7 @@ char const *  Unique ID of the group to open.
 
-NVGSDK_HighlightType tagsFilter +NVGSDK_HighlightType tagsFilter  If not zero, represents a bitfield of tags to include.
  @@ -109,7 +109,7 @@ char const * 

Detailed Description

Represents a filtered highlight group

-

Definition at line 125 of file highlights_types.h.

+

Definition at line 98 of file highlights_types.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_n_v_g_s_d_k___highlight.html b/doc/html/struct_n_v_g_s_d_k___highlight.html index 36f5074..3dfc6ca 100644 --- a/doc/html/struct_n_v_g_s_d_k___highlight.html +++ b/doc/html/struct_n_v_g_s_d_k___highlight.html @@ -108,7 +108,7 @@ char const * bool userInterest   -NVGSDK_HighlightType highlightTags +NVGSDK_HighlightType highlightTags  Tags for this highlight.
  @@ -125,7 +125,7 @@ size_t 

Detailed Description

Possible highlights that can occur during gameplay

-

Definition at line 63 of file highlights_types.h.

+

Definition at line 36 of file highlights_types.h.

Member Data Documentation

§ userInterest

@@ -140,7 +140,7 @@ size_t 

Boolean, whether the player is interested in this event. User can change this setting. This value provides the default.

-

Definition at line 66 of file highlights_types.h.

+

Definition at line 39 of file highlights_types.h.

@@ -157,7 +157,7 @@ size_t 

An array of locale-highlightName pairs for the user-facing highlight name. If no names are given, the highlight id will be used as the "name"

-

Definition at line 70 of file highlights_types.h.

+

Definition at line 43 of file highlights_types.h.

diff --git a/doc/html/struct_n_v_g_s_d_k___highlight_close_group_params.html b/doc/html/struct_n_v_g_s_d_k___highlight_close_group_params.html index 72ca2df..1de25cf 100644 --- a/doc/html/struct_n_v_g_s_d_k___highlight_close_group_params.html +++ b/doc/html/struct_n_v_g_s_d_k___highlight_close_group_params.html @@ -103,7 +103,7 @@ char const * 

Detailed Description

Parameters passed into CloseGroup calls

-

Definition at line 101 of file highlights_types.h.

+

Definition at line 74 of file highlights_types.h.

Member Data Documentation

§ destroyHighlights

@@ -118,7 +118,7 @@ char const *  diff --git a/doc/html/struct_n_v_g_s_d_k___highlight_config_params.html b/doc/html/struct_n_v_g_s_d_k___highlight_config_params.html index ca6d2c0..a4330f6 100644 --- a/doc/html/struct_n_v_g_s_d_k___highlight_config_params.html +++ b/doc/html/struct_n_v_g_s_d_k___highlight_config_params.html @@ -116,7 +116,7 @@ char const * 

Detailed Description

Highlight configuration parameters

-

Definition at line 76 of file highlights_types.h.

+

Definition at line 49 of file highlights_types.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_n_v_g_s_d_k___highlight_open_group_params.html b/doc/html/struct_n_v_g_s_d_k___highlight_open_group_params.html index 3016649..9c8185f 100644 --- a/doc/html/struct_n_v_g_s_d_k___highlight_open_group_params.html +++ b/doc/html/struct_n_v_g_s_d_k___highlight_open_group_params.html @@ -113,7 +113,7 @@ size_t 

Detailed Description

Parameters passed into OpenGroup calls

-

Definition at line 91 of file highlights_types.h.

+

Definition at line 64 of file highlights_types.h.

Member Data Documentation

§ groupId

@@ -128,7 +128,7 @@ size_t 

Unique group ID used to refer back to the group for adding Highlights, or for opening the group Summary later. Max length NVGSDK_MAX_LENGTH - 1

-

Definition at line 93 of file highlights_types.h.

+

Definition at line 66 of file highlights_types.h.

@@ -145,7 +145,7 @@ size_t 

An array of locale-groupDesc pairs for the user-facing group description. If no names are given, the groupId will be used as the "name"

-

Definition at line 95 of file highlights_types.h.

+

Definition at line 68 of file highlights_types.h.

diff --git a/doc/html/struct_n_v_g_s_d_k___highlight_user_setting.html b/doc/html/struct_n_v_g_s_d_k___highlight_user_setting.html index 5e5362a..3eca242 100644 --- a/doc/html/struct_n_v_g_s_d_k___highlight_user_setting.html +++ b/doc/html/struct_n_v_g_s_d_k___highlight_user_setting.html @@ -105,7 +105,7 @@ bool 

Detailed Description

Informs the app of the user's highlight choices

-

Definition at line 84 of file highlights_types.h.

+

Definition at line 57 of file highlights_types.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_n_v_g_s_d_k___highlights___number_of_highlights.html b/doc/html/struct_n_v_g_s_d_k___highlights___number_of_highlights.html index f9d4f13..66674ce 100644 --- a/doc/html/struct_n_v_g_s_d_k___highlights___number_of_highlights.html +++ b/doc/html/struct_n_v_g_s_d_k___highlights___number_of_highlights.html @@ -100,7 +100,7 @@ uint16_t numberOfHighlight

Detailed Description

Returned data from NVGSDK_Highlights_GetNumberOfHighlightsAsync

-

Definition at line 152 of file highlights_types.h.

+

Definition at line 125 of file highlights_types.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_n_v_g_s_d_k___highlights___user_settings.html b/doc/html/struct_n_v_g_s_d_k___highlights___user_settings.html index ce441a5..02e7f4f 100644 --- a/doc/html/struct_n_v_g_s_d_k___highlights___user_settings.html +++ b/doc/html/struct_n_v_g_s_d_k___highlights___user_settings.html @@ -111,7 +111,7 @@ size_t highlightSettingTab

Detailed Description

Returned data from NVGSDK_Highlights_GetUserSettings

-

Definition at line 143 of file highlights_types.h.

+

Definition at line 116 of file highlights_types.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_n_v_g_s_d_k___language.html b/doc/html/struct_n_v_g_s_d_k___language.html index 81cf2f1..a70ee5d 100644 --- a/doc/html/struct_n_v_g_s_d_k___language.html +++ b/doc/html/struct_n_v_g_s_d_k___language.html @@ -101,7 +101,7 @@ char const * 

Detailed Description

Gets populated with the user's GFE language choice

-

Definition at line 135 of file sdk_types.h.

+

Definition at line 139 of file sdk_types.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/sdk_types.h
diff --git a/doc/html/struct_n_v_g_s_d_k___localized_pair.html b/doc/html/struct_n_v_g_s_d_k___localized_pair.html index 2af5de0..182721f 100644 --- a/doc/html/struct_n_v_g_s_d_k___localized_pair.html +++ b/doc/html/struct_n_v_g_s_d_k___localized_pair.html @@ -105,7 +105,7 @@ char const * 

Detailed Description

Translation definition

-

Definition at line 60 of file sdk_types.h.

+

Definition at line 61 of file sdk_types.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/sdk_types.h
diff --git a/doc/html/struct_n_v_g_s_d_k___notification.html b/doc/html/struct_n_v_g_s_d_k___notification.html index 48f05d8..9d0ad9e 100644 --- a/doc/html/struct_n_v_g_s_d_k___notification.html +++ b/doc/html/struct_n_v_g_s_d_k___notification.html @@ -120,7 +120,7 @@ union {

Detailed Description

Union providing switched data depending on which notification occurred. See Notifications

-

Definition at line 90 of file sdk_types.h.

+

Definition at line 91 of file sdk_types.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/sdk_types.h
diff --git a/doc/html/struct_n_v_g_s_d_k___overlay_state_changed_notification.html b/doc/html/struct_n_v_g_s_d_k___overlay_state_changed_notification.html index 7cbae30..ab2ab73 100644 --- a/doc/html/struct_n_v_g_s_d_k___overlay_state_changed_notification.html +++ b/doc/html/struct_n_v_g_s_d_k___overlay_state_changed_notification.html @@ -105,7 +105,7 @@ NVGSDK_OverlayState 

Detailed Description

Notification sent when the in-game overlay is shown or removed

-

Definition at line 83 of file sdk_types.h.

+

Definition at line 84 of file sdk_types.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/sdk_types.h
diff --git a/doc/html/struct_n_v_g_s_d_k___permissions_changed_notification.html b/doc/html/struct_n_v_g_s_d_k___permissions_changed_notification.html index b6c2d72..a66b087 100644 --- a/doc/html/struct_n_v_g_s_d_k___permissions_changed_notification.html +++ b/doc/html/struct_n_v_g_s_d_k___permissions_changed_notification.html @@ -111,7 +111,7 @@ size_t scopePermissionTabl

Detailed Description

Notification sent when the user changes their permissions given to the app

-

Definition at line 76 of file sdk_types.h.

+

Definition at line 77 of file sdk_types.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/sdk_types.h
diff --git a/doc/html/struct_n_v_g_s_d_k___request_permissions_params.html b/doc/html/struct_n_v_g_s_d_k___request_permissions_params.html index ac81ff5..cde1a39 100644 --- a/doc/html/struct_n_v_g_s_d_k___request_permissions_params.html +++ b/doc/html/struct_n_v_g_s_d_k___request_permissions_params.html @@ -103,7 +103,7 @@ size_t scopeTableSize<

Detailed Description

Parameters given to NVGSDK_RequestPermissionsAsync

-

Definition at line 114 of file sdk_types.h.

+

Definition at line 118 of file sdk_types.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/sdk_types.h
diff --git a/doc/html/struct_n_v_g_s_d_k___scope_permission.html b/doc/html/struct_n_v_g_s_d_k___scope_permission.html index ad87a59..340da60 100644 --- a/doc/html/struct_n_v_g_s_d_k___scope_permission.html +++ b/doc/html/struct_n_v_g_s_d_k___scope_permission.html @@ -103,7 +103,7 @@ NVGSDK_Permission permissi

Detailed Description

Pairs of scope and the permission level given to them

-

Definition at line 67 of file sdk_types.h.

+

Definition at line 68 of file sdk_types.h.


The documentation for this struct was generated from the following file:
  • C:/u/workspace/dev/sdkwinauto/sdkclient/include/gfesdk/sdk_types.h
diff --git a/doc/html/struct_n_v_g_s_d_k___screenshot_highlight_params.html b/doc/html/struct_n_v_g_s_d_k___screenshot_highlight_params.html index 2a71a9d..1708ff4 100644 --- a/doc/html/struct_n_v_g_s_d_k___screenshot_highlight_params.html +++ b/doc/html/struct_n_v_g_s_d_k___screenshot_highlight_params.html @@ -105,7 +105,7 @@ char const * 

Detailed Description

Passed into NVGSDK_Highlights_SetScreenshotHighlightAsync

-

Definition at line 109 of file highlights_types.h.

+

Definition at line 82 of file highlights_types.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_n_v_g_s_d_k___summary_params.html b/doc/html/struct_n_v_g_s_d_k___summary_params.html index d6da4f9..26e73c6 100644 --- a/doc/html/struct_n_v_g_s_d_k___summary_params.html +++ b/doc/html/struct_n_v_g_s_d_k___summary_params.html @@ -113,7 +113,7 @@ size_t 

Detailed Description

Choose the highlights to display in the group summary

-

Definition at line 133 of file highlights_types.h.

+

Definition at line 106 of file highlights_types.h.


The documentation for this struct was generated from the following file: diff --git a/doc/html/struct_n_v_g_s_d_k___video_highlight_params.html b/doc/html/struct_n_v_g_s_d_k___video_highlight_params.html index 8e35c6c..01354ec 100644 --- a/doc/html/struct_n_v_g_s_d_k___video_highlight_params.html +++ b/doc/html/struct_n_v_g_s_d_k___video_highlight_params.html @@ -113,7 +113,7 @@ int32_t 

Detailed Description

Passed into NVGSDK_Highlights_SetVideoHighlightAsync

-

Definition at line 116 of file highlights_types.h.

+

Definition at line 89 of file highlights_types.h.


The documentation for this struct was generated from the following file: -- cgit v1.2.3