Я реализую способ передачи набора данных в программируемый ключ. Ключ основан на технологии смарт-карт и может выполнять произвольный код внутри. Входные и выходные данные передаются как двоичные блоки, к которым можно получить доступ через указатели ввода и вывода.
Я хотел бы использовать ассоциативный массив для упрощения кода обработки данных. Все должно работать таким образом:
Сначала приложение-хост:
// Host application in C++
in_data["method"] = "calc_r";
in_data["id"] = 12;
in_data["loc_a"] = 56.19;
in_data["loc_l"] = 44.02;
processor->send(in_data);
Далее код внутри ключа:
// Some dongle function in C
char* method_name = assoc_get_string(in_data, "method");
int id = assoc_get_int(in_data, "id");
float loc_a = assoc_get_float(in_data, "loc_a");
float loc_l = assoc_get_float(in_data, "loc_l");
Итак, мой вопрос касается функциональности части ключа. Есть ли код или библиотека C для реализации такого поведения ассоциативного массива, как указано выше?