A.1.1 Enumerating all personalities by application
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);
}
}