Embedded SDK
Embedded SDK
Loading...
Searching...
No Matches
nbgl_use_case.h
Go to the documentation of this file.
1
7#ifndef NBGL_USE_CASE_H
8#define NBGL_USE_CASE_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14/*********************
15 * INCLUDES
16 *********************/
17
18#include "nbgl_content.h"
19#ifdef NBGL_PAGE
20#include "nbgl_page.h"
21#else // NBGL_PAGE
22#include "nbgl_flow.h"
23#endif // NBGL_PAGE
24
25/*********************
26 * DEFINES
27 *********************/
32#define FIRST_USER_TOKEN 20
33
38#define LAST_PAGE_FOR_REVIEW 0xFF
39
43#if defined(TARGET_STAX)
44#define NB_MAX_LINES_IN_DETAILS 12
45#elif defined(TARGET_FLEX)
46#define NB_MAX_LINES_IN_DETAILS 11
47#endif // TARGETS
48
52#if defined(TARGET_STAX)
53#define NB_MAX_LINES_IN_REVIEW 10
54#elif defined(TARGET_FLEX)
55#define NB_MAX_LINES_IN_REVIEW 9
56#endif // TARGETS
57
63#define NB_MAX_DISPLAYED_PAIRS_IN_REVIEW 4
64
68#define TAG_VALUE_AREA_HEIGHT (SCREEN_HEIGHT - SMALL_CENTERING_HEADER - SIMPLE_FOOTER_HEIGHT)
69
73#define INFOS_AREA_HEIGHT (SCREEN_HEIGHT - TOUCHABLE_HEADER_BAR_HEIGHT)
74
78#define TAGLINE_PART1 "This app enables signing\ntransactions on the"
79#define TAGLINE_PART2 "network."
80
84#define APP_DESCRIPTION_MAX_LEN 74
85
89#define MAX_APP_NAME_FOR_SDK_TAGLINE \
90 (APP_DESCRIPTION_MAX_LEN - 1 - (sizeof(TAGLINE_PART1) + sizeof(TAGLINE_PART2)))
91
97#define INIT_HOME_PAGE 0xff
98
99/**********************
100 * MACROS
101 **********************/
102
103/**********************
104 * TYPEDEFS
105 **********************/
109typedef void (*nbgl_callback_t)(void);
110
117typedef bool (*nbgl_navCallback_t)(uint8_t page, nbgl_pageContent_t *content);
118
123typedef void (*nbgl_choiceCallback_t)(bool confirm);
124
129typedef void (*nbgl_actionCallback_t)(uint8_t page);
130
136typedef void (*nbgl_pinValidCallback_t)(const uint8_t *pin, uint8_t pinLen);
137
143typedef void (*nbgl_contentCallback_t)(uint8_t contentIndex, nbgl_content_t *content);
144
155
164
175
181typedef struct {
182 const char *text;
184 const char *modalTitle;
186 union {
188 };
190
200
205typedef struct {
207 const char *const *texts;
208 const char *const *subTexts;
210 const struct nbgl_warningDetails_s
213
232
244
273
285
291#define SKIPPABLE_OPERATION (1 << 4)
292
298#define BLIND_OPERATION (1 << 5)
299
305typedef uint32_t nbgl_operationType_t;
306
321
322/**********************
323 * GLOBAL PROTOTYPES
324 **********************/
325
326void nbgl_useCaseHomeAndSettings(const char *appName,
327 const nbgl_icon_details_t *appIcon,
328 const char *tagline,
329 const uint8_t initSettingPage,
330 const nbgl_genericContents_t *settingContents,
331 const nbgl_contentInfoList_t *infosList,
332 const nbgl_homeAction_t *action,
333 nbgl_callback_t quitCallback);
334
336 const nbgl_contentTagValueList_t *tagValueList,
337 const nbgl_icon_details_t *icon,
338 const char *reviewTitle,
339 const char *reviewSubTitle,
340 const char *finishTitle,
341 nbgl_choiceCallback_t choiceCallback);
342
344 const nbgl_contentTagValueList_t *tagValueList,
345 const nbgl_icon_details_t *icon,
346 const char *reviewTitle,
347 const char *reviewSubTitle,
348 const char *finishTitle,
349 const nbgl_tipBox_t *tipBox,
350 nbgl_choiceCallback_t choiceCallback);
352 const nbgl_contentTagValueList_t *tagValueList,
353 const nbgl_icon_details_t *icon,
354 const char *reviewTitle,
355 const char *reviewSubTitle,
356 const char *finishTitle,
357 const nbgl_tipBox_t *tipBox,
358 const nbgl_warning_t *warning,
359 nbgl_choiceCallback_t choiceCallback);
361 const nbgl_contentTagValueList_t *tagValueList,
362 const nbgl_icon_details_t *icon,
363 const char *reviewTitle,
364 const char *reviewSubTitle,
365 const char *finishTitle,
366 const nbgl_tipBox_t *tipBox,
367 nbgl_choiceCallback_t choiceCallback);
368
370 const nbgl_contentTagValueList_t *tagValueList,
371 const nbgl_icon_details_t *icon,
372 const char *reviewTitle,
373 const char *reviewSubTitle,
374 const char *finishTitle,
375 nbgl_choiceCallback_t choiceCallback);
376
377void nbgl_useCaseAddressReview(const char *address,
378 const nbgl_contentTagValueList_t *additionalTagValueList,
379 const nbgl_icon_details_t *icon,
380 const char *reviewTitle,
381 const char *reviewSubTitle,
382 nbgl_choiceCallback_t choiceCallback);
383
385 nbgl_callback_t quitCallback);
386
388 const nbgl_icon_details_t *icon,
389 const char *reviewTitle,
390 const char *reviewSubTitle,
391 nbgl_choiceCallback_t choiceCallback);
392
394 const nbgl_icon_details_t *icon,
395 const char *reviewTitle,
396 const char *reviewSubTitle,
397 nbgl_choiceCallback_t choiceCallback);
398
400 const nbgl_icon_details_t *icon,
401 const char *reviewTitle,
402 const char *reviewSubTitle,
403 const nbgl_warning_t *warning,
404 nbgl_choiceCallback_t choiceCallback);
405
407 nbgl_choiceCallback_t choiceCallback,
408 nbgl_callback_t skipCallback);
409
411 nbgl_choiceCallback_t choiceCallback);
412
413void nbgl_useCaseReviewStreamingFinish(const char *finishTitle,
414 nbgl_choiceCallback_t choiceCallback);
415
417 const char *rejectText,
418 nbgl_callback_t rejectCallback);
419
420void nbgl_useCaseGenericConfiguration(const char *title,
421 uint8_t initPage,
422 const nbgl_genericContents_t *contents,
423 nbgl_callback_t quitCallback);
424
425void nbgl_useCaseGenericSettings(const char *appName,
426 uint8_t initPage,
427 const nbgl_genericContents_t *settingContents,
428 const nbgl_contentInfoList_t *infosList,
429 nbgl_callback_t quitCallback);
430
432 const char *message,
433 const char *subMessage,
434 const char *confirmText,
435 const char *rejectString,
436 nbgl_choiceCallback_t callback);
437
438void nbgl_useCaseStatus(const char *message, bool isSuccess, nbgl_callback_t quitCallback);
439
440void nbgl_useCaseConfirm(const char *message,
441 const char *subMessage,
442 const char *confirmText,
443 const char *rejectText,
444 nbgl_callback_t callback);
445void nbgl_useCaseSpinner(const char *text);
446
447void nbgl_useCaseNavigableContent(const char *title,
448 uint8_t initPage,
449 uint8_t nbPages,
450 nbgl_callback_t quitCallback,
451 nbgl_navCallback_t navCallback,
452 nbgl_layoutTouchCallback_t controlsCallback);
453
454// utils
456 const nbgl_contentTagValueList_t *tagValueList,
457 uint8_t startIndex,
458 bool *requireSpecificDisplay);
460 const nbgl_contentTagValueList_t *tagValueList,
461 uint8_t startIndex,
462 bool isSkippable,
463 bool *requireSpecificDisplay);
465 const nbgl_contentInfoList_t *infosList,
466 uint8_t startIndex,
467 bool withNav);
469 const nbgl_contentSwitchesList_t *switchesList,
470 uint8_t startIndex,
471 bool withNav);
473 const nbgl_contentBarsList_t *barsList,
474 uint8_t startIndex,
475 bool withNav);
477 const nbgl_contentRadioChoice_t *choicesList,
478 uint8_t startIndex,
479 bool withNav);
481
482#ifdef HAVE_SE_TOUCH
483// use case drawing
484DEPRECATED void nbgl_useCaseHome(const char *appName,
485 const nbgl_icon_details_t *appIcon,
486 const char *tagline,
487 bool withSettings,
488 nbgl_callback_t topRightCallback,
489 nbgl_callback_t quitCallback);
490DEPRECATED void nbgl_useCaseHomeExt(const char *appName,
491 const nbgl_icon_details_t *appIcon,
492 const char *tagline,
493 bool withSettings,
494 const char *actionButtonText,
495 nbgl_callback_t actionCallback,
496 nbgl_callback_t topRightCallback,
497 nbgl_callback_t quitCallback);
498DEPRECATED void nbgl_useCaseSettings(const char *settingsTitle,
499 uint8_t initPage,
500 uint8_t nbPages,
501 bool touchableTitle,
502 nbgl_callback_t quitCallback,
503 nbgl_navCallback_t navCallback,
504 nbgl_layoutTouchCallback_t controlsCallback);
506 const char *reviewTitle,
507 const char *reviewSubTitle,
508 const char *rejectText,
509 nbgl_callback_t continueCallback,
510 nbgl_callback_t rejectCallback);
511DEPRECATED void nbgl_useCaseRegularReview(uint8_t initPage,
512 uint8_t nbPages,
513 const char *rejectText,
514 nbgl_layoutTouchCallback_t buttonCallback,
515 nbgl_navCallback_t navCallback,
516 nbgl_choiceCallback_t choiceCallback);
518 const nbgl_pageInfoLongPress_t *infoLongPress,
519 const char *rejectText,
520 nbgl_choiceCallback_t callback);
522 const nbgl_pageInfoLongPress_t *infoLongPress,
523 const char *rejectText,
524 nbgl_choiceCallback_t callback);
525
526DEPRECATED void nbgl_useCaseAddressConfirmationExt(const char *address,
527 nbgl_choiceCallback_t callback,
528 const nbgl_contentTagValueList_t *tagValueList);
529#define nbgl_useCaseAddressConfirmation(__address, __callback) \
530 nbgl_useCaseAddressConfirmationExt(__address, __callback, NULL)
531
532#ifdef NBGL_KEYPAD
533void nbgl_useCaseKeypadDigits(const char *title,
534 uint8_t minDigits,
535 uint8_t maxDigits,
536 uint8_t backToken,
537 bool shuffled,
538 tune_index_e tuneId,
539 nbgl_pinValidCallback_t validatePinCallback,
540 nbgl_layoutTouchCallback_t actionCallback);
541void nbgl_useCaseKeypadPIN(const char *title,
542 uint8_t minDigits,
543 uint8_t maxDigits,
544 uint8_t backToken,
545 bool shuffled,
546 tune_index_e tuneId,
547 nbgl_pinValidCallback_t validatePinCallback,
548 nbgl_layoutTouchCallback_t actionCallback);
549#endif // NBGL_KEYPAD
550
551#else // HAVE_SE_TOUCH
552#ifdef NBGL_KEYPAD
553void nbgl_useCaseKeypadDigits(const char *title,
554 uint8_t minDigits,
555 uint8_t maxDigits,
556 bool shuffled,
557 nbgl_pinValidCallback_t validatePinCallback,
558 nbgl_callback_t backCallbackk);
559void nbgl_useCaseKeypadPIN(const char *title,
560 uint8_t minDigits,
561 uint8_t maxDigits,
562 bool shuffled,
563 nbgl_pinValidCallback_t validatePinCallback,
564 nbgl_callback_t backCallback);
565#endif // NBGL_KEYPAD
566#endif // HAVE_SE_TOUCH
567
568#ifdef __cplusplus
569} /* extern "C" */
570#endif
571
572#endif /* NBGL_USE_CASE_H */
common content for Graphical Library
nbgl_contentType_t
The different types of predefined contents.
Flow construction API of NBGL.
void(* nbgl_layoutTouchCallback_t)(int token, uint8_t index)
prototype of function to be called when an object is touched
API of the Advanced BOLOS Graphical Library, for predefined pages.
struct PACKED__ nbgl_icon_details_s nbgl_icon_details_t
Represents all information about an icon.
DEPRECATED void nbgl_useCaseHome(const char *appName, const nbgl_icon_details_t *appIcon, const char *tagline, bool withSettings, nbgl_callback_t topRightCallback, nbgl_callback_t quitCallback)
DEPRECATED void nbgl_useCaseSettings(const char *settingsTitle, uint8_t initPage, uint8_t nbPages, bool touchableTitle, nbgl_callback_t quitCallback, nbgl_navCallback_t navCallback, nbgl_layoutTouchCallback_t controlsCallback)
uint8_t nbgl_useCaseGetNbTagValuesInPageExt(uint8_t nbPairs, const nbgl_contentTagValueList_t *tagValueList, uint8_t startIndex, bool isSkippable, bool *requireSpecificDisplay)
void(* nbgl_callback_t)(void)
prototype of generic callback function
void nbgl_useCaseGenericSettings(const char *appName, uint8_t initPage, const nbgl_genericContents_t *settingContents, const nbgl_contentInfoList_t *infosList, nbgl_callback_t quitCallback)
void nbgl_useCaseKeypadPIN(const char *title, uint8_t minDigits, uint8_t maxDigits, uint8_t backToken, bool shuffled, tune_index_e tuneId, nbgl_pinValidCallback_t validatePinCallback, nbgl_layoutTouchCallback_t actionCallback)
uint32_t nbgl_operationType_t
This mask is used to describe the type of operation to review with additional options It is a mask of...
void nbgl_useCaseReviewStreamingWithWarningStart(nbgl_operationType_t operationType, const nbgl_icon_details_t *icon, const char *reviewTitle, const char *reviewSubTitle, const nbgl_warning_t *warning, nbgl_choiceCallback_t choiceCallback)
void nbgl_useCaseReview(nbgl_operationType_t operationType, const nbgl_contentTagValueList_t *tagValueList, const nbgl_icon_details_t *icon, const char *reviewTitle, const char *reviewSubTitle, const char *finishTitle, nbgl_choiceCallback_t choiceCallback)
uint8_t nbgl_useCaseGetNbTagValuesInPage(uint8_t nbPairs, const nbgl_contentTagValueList_t *tagValueList, uint8_t startIndex, bool *requireSpecificDisplay)
uint8_t nbgl_useCaseGetNbPagesForTagValueList(const nbgl_contentTagValueList_t *tagValueList)
DEPRECATED void nbgl_useCaseRegularReview(uint8_t initPage, uint8_t nbPages, const char *rejectText, nbgl_layoutTouchCallback_t buttonCallback, nbgl_navCallback_t navCallback, nbgl_choiceCallback_t choiceCallback)
void(* nbgl_pinValidCallback_t)(const uint8_t *pin, uint8_t pinLen)
prototype of pin validation callback function
void nbgl_useCaseReviewStreamingStart(nbgl_operationType_t operationType, const nbgl_icon_details_t *icon, const char *reviewTitle, const char *reviewSubTitle, nbgl_choiceCallback_t choiceCallback)
void nbgl_useCaseHomeAndSettings(const char *appName, const nbgl_icon_details_t *appIcon, const char *tagline, const uint8_t initSettingPage, const nbgl_genericContents_t *settingContents, const nbgl_contentInfoList_t *infosList, const nbgl_homeAction_t *action, nbgl_callback_t quitCallback)
void nbgl_useCaseStaticReviewLight(const nbgl_contentTagValueList_t *tagValueList, const nbgl_pageInfoLongPress_t *infoLongPress, const char *rejectText, nbgl_choiceCallback_t callback)
uint8_t nbgl_useCaseGetNbInfosInPage(uint8_t nbInfos, const nbgl_contentInfoList_t *infosList, uint8_t startIndex, bool withNav)
void(* nbgl_choiceCallback_t)(bool confirm)
prototype of choice callback function
uint8_t nbgl_useCaseGetNbBarsInPage(uint8_t nbBars, const nbgl_contentBarsList_t *barsList, uint8_t startIndex, bool withNav)
void nbgl_useCaseNavigableContent(const char *title, uint8_t initPage, uint8_t nbPages, nbgl_callback_t quitCallback, nbgl_navCallback_t navCallback, nbgl_layoutTouchCallback_t controlsCallback)
nbgl_homeActionStyle_t
The different types of action button in Home Screen.
@ SOFT_HOME_ACTION
White button, more for extended features.
@ STRONG_HOME_ACTION
Black button, implicating the main action of the App.
void nbgl_useCaseReviewStreamingFinish(const char *finishTitle, nbgl_choiceCallback_t choiceCallback)
void nbgl_useCaseReviewWithWarning(nbgl_operationType_t operationType, const nbgl_contentTagValueList_t *tagValueList, const nbgl_icon_details_t *icon, const char *reviewTitle, const char *reviewSubTitle, const char *finishTitle, const nbgl_tipBox_t *tipBox, const nbgl_warning_t *warning, nbgl_choiceCallback_t choiceCallback)
void nbgl_useCaseSpinner(const char *text)
void nbgl_useCaseConfirm(const char *message, const char *subMessage, const char *confirmText, const char *rejectText, nbgl_callback_t callback)
void nbgl_useCaseReviewStart(const nbgl_icon_details_t *icon, const char *reviewTitle, const char *reviewSubTitle, const char *rejectText, nbgl_callback_t continueCallback, nbgl_callback_t rejectCallback)
DEPRECATED void nbgl_useCaseHomeExt(const char *appName, const nbgl_icon_details_t *appIcon, const char *tagline, bool withSettings, const char *actionButtonText, nbgl_callback_t actionCallback, nbgl_callback_t topRightCallback, nbgl_callback_t quitCallback)
struct nbgl_warningDetails_s nbgl_warningDetails_t
The necessary parameters to build the page(s) displayed when the top-right button is touched in intro...
void nbgl_useCaseKeypadDigits(const char *title, uint8_t minDigits, uint8_t maxDigits, uint8_t backToken, bool shuffled, tune_index_e tuneId, nbgl_pinValidCallback_t validatePinCallback, nbgl_layoutTouchCallback_t actionCallback)
void nbgl_useCaseStatus(const char *message, bool isSuccess, nbgl_callback_t quitCallback)
nbgl_warningType_t
The different types of pre-defined warnings.
@ W3C_THREAT_DETECTED_WARN
Web3 Checks: Thread detexted, malicious (know drainer)
@ W3C_ISSUE_WARN
Web3 Checks issue.
@ BLIND_SIGNING_WARN
Blind signing.
@ W3C_LOSING_SWAP_WARN
Web3 Checks: Losing Swap risk.
@ NB_WARNING_TYPES
DEPRECATED void nbgl_useCaseAddressConfirmationExt(const char *address, nbgl_choiceCallback_t callback, const nbgl_contentTagValueList_t *tagValueList)
void nbgl_useCaseGenericConfiguration(const char *title, uint8_t initPage, const nbgl_genericContents_t *contents, nbgl_callback_t quitCallback)
void(* nbgl_actionCallback_t)(uint8_t page)
prototype of function to be called when an page of settings is double-pressed
void nbgl_useCaseReviewStreamingContinueExt(const nbgl_contentTagValueList_t *tagValueList, nbgl_choiceCallback_t choiceCallback, nbgl_callback_t skipCallback)
void nbgl_useCaseReviewBlindSigning(nbgl_operationType_t operationType, const nbgl_contentTagValueList_t *tagValueList, const nbgl_icon_details_t *icon, const char *reviewTitle, const char *reviewSubTitle, const char *finishTitle, const nbgl_tipBox_t *tipBox, nbgl_choiceCallback_t choiceCallback)
void nbgl_useCaseChoice(const nbgl_icon_details_t *icon, const char *message, const char *subMessage, const char *confirmText, const char *rejectString, nbgl_choiceCallback_t callback)
void nbgl_useCaseGenericReview(const nbgl_genericContents_t *contents, const char *rejectText, nbgl_callback_t rejectCallback)
void nbgl_useCaseStaticReview(const nbgl_contentTagValueList_t *tagValueList, const nbgl_pageInfoLongPress_t *infoLongPress, const char *rejectText, nbgl_choiceCallback_t callback)
void nbgl_useCaseReviewStreamingBlindSigningStart(nbgl_operationType_t operationType, const nbgl_icon_details_t *icon, const char *reviewTitle, const char *reviewSubTitle, nbgl_choiceCallback_t choiceCallback)
void nbgl_useCaseAdvancedReview(nbgl_operationType_t operationType, const nbgl_contentTagValueList_t *tagValueList, const nbgl_icon_details_t *icon, const char *reviewTitle, const char *reviewSubTitle, const char *finishTitle, const nbgl_tipBox_t *tipBox, nbgl_choiceCallback_t choiceCallback)
void nbgl_useCaseReviewStreamingContinue(const nbgl_contentTagValueList_t *tagValueList, nbgl_choiceCallback_t choiceCallback)
void nbgl_useCaseReviewLight(nbgl_operationType_t operationType, const nbgl_contentTagValueList_t *tagValueList, const nbgl_icon_details_t *icon, const char *reviewTitle, const char *reviewSubTitle, const char *finishTitle, nbgl_choiceCallback_t choiceCallback)
uint8_t nbgl_useCaseGetNbChoicesInPage(uint8_t nbChoices, const nbgl_contentRadioChoice_t *choicesList, uint8_t startIndex, bool withNav)
void nbgl_useCaseReviewStatus(nbgl_reviewStatusType_t reviewStatusType, nbgl_callback_t quitCallback)
void(* nbgl_contentCallback_t)(uint8_t contentIndex, nbgl_content_t *content)
prototype of content navigation callback function
nbgl_warningDetailsType_t
The different types of warning page contents.
@ CENTERED_INFO_WARNING
Centered info.
@ QRCODE_WARNING
QR Code.
@ BAR_LIST_WARNING
list of touchable bars, to display sub-pages
nbgl_reviewStatusType_t
The different types of review status.
@ STATUS_TYPE_TRANSACTION_REJECTED
@ STATUS_TYPE_ADDRESS_REJECTED
@ STATUS_TYPE_TRANSACTION_SIGNED
@ STATUS_TYPE_OPERATION_REJECTED
@ STATUS_TYPE_OPERATION_SIGNED
@ STATUS_TYPE_ADDRESS_VERIFIED
@ STATUS_TYPE_MESSAGE_SIGNED
@ STATUS_TYPE_MESSAGE_REJECTED
bool(* nbgl_navCallback_t)(uint8_t page, nbgl_pageContent_t *content)
prototype of navigation callback function
void nbgl_useCaseAddressReview(const char *address, const nbgl_contentTagValueList_t *additionalTagValueList, const nbgl_icon_details_t *icon, const char *reviewTitle, const char *reviewSubTitle, nbgl_choiceCallback_t choiceCallback)
nbgl_opType_t
The different types of operation to review.
@ TYPE_MESSAGE
@ TYPE_TRANSACTION
For operations transferring a coin or taken from an account to another.
@ TYPE_OPERATION
For other types of operation (generic type)
uint8_t nbgl_useCaseGetNbSwitchesInPage(uint8_t nbSwitches, const nbgl_contentSwitchesList_t *switchesList, uint8_t startIndex, bool withNav)
This structure contains data to build a BARS_LIST content.
This structure contains info to build a centered (vertically and horizontally) area,...
This structure contains data to build a INFOS_LIST content.
This structure contains data to build a centered info + long press button content.
This structure contains a list of names to build a list of radio buttons (on the right part of screen...
This structure contains a list of [tag,value] pairs.
This structure contains data to build a content.
uint8_t nbContents
number of contents
const nbgl_content_t * contentsList
array of nbgl_content_t (nbContents items).
nbgl_contentCallback_t contentGetterCallback
function to call to retrieve a given content
Structure describing the action button in Home Screen.
const nbgl_icon_details_t * icon
icon to use in action button in Home page
nbgl_callback_t callback
function to call when action button is touched in Home page
const char * text
text to use in action button in Home page
nbgl_homeActionStyle_t style
style of action button
This structure contains info to build a centered (vertically and horizontally) area,...
This structure contains data to build a page in multi-pages mode (nbgl_pageDrawGenericContent)
Definition nbgl_flow.h:58
This structure contains data to build a SWITCHES_LIST content.
The necessary parameters to build a tip-box in first review page and the modal if this tip box is tou...
const char * modalTitle
title given to modal window displayed when tip-box is touched
nbgl_contentInfoList_t infos
infos pairs displayed in modal.
const char * text
text of the tip-box
nbgl_contentType_t type
type of page content in the following union
const nbgl_icon_details_t * icon
icon of the tip-box
The necessary parameters to build a list of touchable bars, to display sub-pages.
const char *const * texts
array of texts for each bar (nbBars items, in black/bold)
const struct nbgl_warningDetails_s * details
array of nbBars structures giving what to display when each bar is touched.
const char *const * subTexts
array of texts for each bar (nbBars items, in black)
uint8_t nbBars
number of touchable bars
const nbgl_icon_details_t ** icons
array of icons for each bar (nbBars items)
The necessary parameters to build the page(s) displayed when the top-right button is touched in intro...
nbgl_warningDetailsType_t type
type of content in the page, determining what to use in the following union
nbgl_contentCenter_t centeredInfo
centered info, if type == CENTERED_INFO_WARNING
const char * title
text of the page (used to go back)
nbgl_layoutQRCode_t qrCode
QR code, if type == QRCODE_WARNING.
nbgl_warningBarList_t barList
touchable bars list, if type == BAR_LIST_WARNING
The necessary parameters to build a warning page preceding a review. One can either use predefinedSet...
const nbgl_icon_details_t * reviewTopRightIcon
const nbgl_warningDetails_t * introDetails
const nbgl_warningDetails_t * reviewDetails
uint32_t predefinedSet
const char * providerMessage
Dedicated provider message. Default one will be used if NULL.
const nbgl_icon_details_t * introTopRightIcon
icon to use in the intro warning page, if not using pre-defined
const char * reportProvider
name of the security report provider, used in some strings
const char * reportUrl
URL of the report, used in some strings.
const nbgl_contentCenter_t * info
parameters to build the intro warning page, if not using pre-defined
unsigned char uint8_t
Definition usbd_conf.h:53