|
|
@ -265,6 +265,15 @@ void Menu::interfaceMenu(WINDOW *window) { |
|
|
|
interface = QString::number(count) + ". " + interface; |
|
|
|
QByteArray interfaceArray = interface.toLatin1(); |
|
|
|
const char *interfaceStr = interfaceArray.constData(); |
|
|
|
Interface interfaceObj(orig); |
|
|
|
|
|
|
|
if(interfaceObj.hasCarrier()) { |
|
|
|
green(window); |
|
|
|
}else if(interfaceObj.hasAdminLink()) { |
|
|
|
cyan(window); |
|
|
|
}else{ |
|
|
|
red(window); |
|
|
|
} |
|
|
|
|
|
|
|
mvwaddstr(window, y, 2, interfaceStr); |
|
|
|
|
|
|
@ -619,9 +628,11 @@ void Menu::interfaceSelect(WINDOW *window, QString interface) { |
|
|
|
magenta(window); |
|
|
|
mvwaddstr(window, y + 3, 2, "a. Add IP address"); |
|
|
|
mvwaddstr(window, y + 4, 2, "d. Delete IP address"); |
|
|
|
mvwaddstr(window, y + 5, 2, "q. Quit"); |
|
|
|
mvwaddstr(window, y + 5, 2, "+. Set link up"); |
|
|
|
mvwaddstr(window, y + 6, 2, "-. Set link down"); |
|
|
|
mvwaddstr(window, y + 7, 2, "q. Quit"); |
|
|
|
|
|
|
|
mvwaddstr(window, y + 7, 2, "Enter selection: "); |
|
|
|
mvwaddstr(window, y + 9, 2, "Enter selection: "); |
|
|
|
wrefresh(window); |
|
|
|
|
|
|
|
char c = getch(); |
|
|
@ -633,7 +644,7 @@ void Menu::interfaceSelect(WINDOW *window, QString interface) { |
|
|
|
// no-op, just quit
|
|
|
|
}else if(c == 'a') { |
|
|
|
wdeleteln(window); |
|
|
|
mvwaddstr(window, y + 7, 2, "Enter IP address to add: "); |
|
|
|
mvwaddstr(window, y + 9, 2, "Enter IP address to add: "); |
|
|
|
wrefresh(window); |
|
|
|
|
|
|
|
char ipToAdd[19] = {0}; |
|
|
@ -659,7 +670,7 @@ void Menu::interfaceSelect(WINDOW *window, QString interface) { |
|
|
|
QByteArray arr = confirm.toLatin1(); |
|
|
|
const char *confirmStr = arr.constData(); |
|
|
|
|
|
|
|
mvwaddstr(window, y + 7, 2, confirmStr); |
|
|
|
mvwaddstr(window, y + 9, 2, confirmStr); |
|
|
|
wrefresh(window); |
|
|
|
|
|
|
|
c = getch(); |
|
|
@ -677,7 +688,7 @@ void Menu::interfaceSelect(WINDOW *window, QString interface) { |
|
|
|
} |
|
|
|
}else if(c == 'd') { |
|
|
|
wdeleteln(window); |
|
|
|
mvwaddstr(window, y + 7, 2, "Enter number of IP address to delete: "); |
|
|
|
mvwaddstr(window, y + 9, 2, "Enter number of IP address to delete: "); |
|
|
|
wrefresh(window); |
|
|
|
char ipToDelete = getch(); |
|
|
|
|
|
|
@ -700,7 +711,7 @@ void Menu::interfaceSelect(WINDOW *window, QString interface) { |
|
|
|
QByteArray arr = confirm.toLatin1(); |
|
|
|
const char *confirmStr = arr.constData(); |
|
|
|
|
|
|
|
mvwaddstr(window, y + 7, 2, confirmStr); |
|
|
|
mvwaddstr(window, y + 9, 2, confirmStr); |
|
|
|
wrefresh(window); |
|
|
|
|
|
|
|
c = getch(); |
|
|
@ -716,6 +727,34 @@ void Menu::interfaceSelect(WINDOW *window, QString interface) { |
|
|
|
}else{ |
|
|
|
interfaceSelect(window, interface); |
|
|
|
} |
|
|
|
}else if(c == '+') { |
|
|
|
QString error; |
|
|
|
|
|
|
|
if(!obj.setLinkUp(error)) { |
|
|
|
QString err = QString("Could not change link state: ") + error; |
|
|
|
QByteArray arr = err.toLatin1(); |
|
|
|
const char *errorString = arr.constData(); |
|
|
|
|
|
|
|
msgbox(errorString); |
|
|
|
}else{ |
|
|
|
msgbox("Link state set to UP."); |
|
|
|
} |
|
|
|
|
|
|
|
interfaceSelect(window, interface); |
|
|
|
}else if(c == '-') { |
|
|
|
QString error; |
|
|
|
|
|
|
|
if(!obj.setLinkDown(error)) { |
|
|
|
QString err = QString("Could not change link state: ") + error; |
|
|
|
QByteArray arr = err.toLatin1(); |
|
|
|
const char *errorString = arr.constData(); |
|
|
|
|
|
|
|
msgbox(errorString); |
|
|
|
}else{ |
|
|
|
msgbox("Link state set to DOWN."); |
|
|
|
} |
|
|
|
|
|
|
|
interfaceSelect(window, interface); |
|
|
|
}else{ |
|
|
|
interfaceSelect(window, interface); |
|
|
|
} |
|
|
|