Стоит задача следующего плана. Для некоего девайса разрабатывается менюшка управления. Требование заказчика, чтобы доступ к отдельным элементам меню был возможен только из-под root пароля. Т.е. если меню верхнего уровня выглядит примерно вот так:
Код: Выделить всё
LCDML_add (0 , LCDML_0 , 1 , "Finance" , NULL); // NULL = no menu function
LCDML_add (1 , LCDML_0 , 2 , "Devices" , NULL); // NULL = no menu function
LCDML_add (2 , LCDML_0 , 3 , "Settings", NULL); // NULL = no menu function
LCDML_add (3 , LCDML_0 , 4 , "Prices" , NULL); // NULL = no menu function
LCDML_add (4 , LCDML_0 , 5 , "Operating Mode" , NULL); // NULL = no menu function
LCDML_add (5 , LCDML_0 , 6 , "Encashment", NULL); // NULL = no menu function
LCDML_add (6 , LCDML_0 , 7 , "Control" , NULL); // NULL = no menu function
LCDML_add (7 , LCDML_0 , 8 , "Log" , NULL); // NULL = no menu functionто обычный пользователь может войти (увидеть?) два первых пункта меню. А вот админ с root паролем может видеть и входить во все пункты. С подменю тоже есть похожие заморочки, но сам принцип остается прежним.
И вот тут у меня затык на уровне самого принципа реализации подобного. Создавать два меню и каким-то образом переключаться между ними после ввода пароля на "нулевом" экране? Библиотека, которой пользуюсь (LCDMenuLib2) вроде как не поддерживает создание двух меню в одной прошивке.
И, в общем дилемма. Извращаться в рамках этой библиотеки, но совершенно не понятно как. Или брать другую библиотеку, но совершенно непонятно какую.
Буду благодарен за дельный совет.