The example below enumerates all personalities with application “IDevID”. This can be useful to select personalities usable for onboarding (cf. 5.2.2, Figure 9).
- gta_instance_handle_t h_inst;
- gta_context_handle_t h_ctx = GTA_HANDLE_INVALID;
- gta_errinfo_t errinfo;
- bool b_loop_pers = true;
- gta_enum_handle_t h_enum_pers = GTA_HANDLE_ENUM_FIRST;
- while (b_loop_pers) {
- char pers_name[STR_LEN_MAX];
- myio_obufstream_t ostream_pers_name = { 0 };
- myio_open_obufstream(&ostream_pers_name, pers_name,
- sizeof(pers_name), &errinfo);
- if (gta_personality_enumerate_application(h_inst,
- "IDevID", h_enum_pers, GTA_PERSONALITY_ENUM_ALL,
- (gtaio_ostream_t *)&o_pers_name, &errinfo)) {
- /*
- * do something with personality pers_name
- */
- }
- else {
- b_loop_pers = false;
- }
- myio_close_obufstream(&ostream_pers_name, &errinfo);
- }
- }