| /**************************************************************************** |
| ** ui.h extension file, included from the uic-generated form implementation. |
| ** |
| ** If you want to add, delete, or rename functions or slots, use |
| ** Qt Designer to update this file, preserving your code. |
| ** |
| ** You should not define a constructor or destructor in this file. |
| ** Instead, write your code in functions called init() and destroy(). |
| ** These will automatically be called by the form's constructor and |
| ** destructor. |
| *****************************************************************************/ |
| |
| void ScanResults::init() |
| { |
| wpagui = NULL; |
| } |
| |
| |
| void ScanResults::destroy() |
| { |
| delete timer; |
| } |
| |
| |
| void ScanResults::setWpaGui(WpaGui *_wpagui) |
| { |
| wpagui = _wpagui; |
| updateResults(); |
| |
| timer = new QTimer(this); |
| connect(timer, SIGNAL(timeout()), SLOT(getResults())); |
| timer->start(10000, FALSE); |
| } |
| |
| |
| void ScanResults::updateResults() |
| { |
| char reply[8192]; |
| size_t reply_len; |
| |
| if (wpagui == NULL) |
| return; |
| |
| reply_len = sizeof(reply) - 1; |
| if (wpagui->ctrlRequest("SCAN_RESULTS", reply, &reply_len) < 0) |
| return; |
| reply[reply_len] = '\0'; |
| |
| scanResultsView->clear(); |
| |
| QString res(reply); |
| QStringList lines = QStringList::split(QChar('\n'), res); |
| bool first = true; |
| for (QStringList::Iterator it = lines.begin(); it != lines.end(); it++) { |
| if (first) { |
| first = false; |
| continue; |
| } |
| |
| QStringList cols = QStringList::split(QChar('\t'), *it, true); |
| QString ssid, bssid, freq, signal, flags; |
| bssid = cols.count() > 0 ? cols[0] : ""; |
| freq = cols.count() > 1 ? cols[1] : ""; |
| signal = cols.count() > 2 ? cols[2] : ""; |
| flags = cols.count() > 3 ? cols[3] : ""; |
| ssid = cols.count() > 4 ? cols[4] : ""; |
| new Q3ListViewItem(scanResultsView, ssid, bssid, freq, signal, flags); |
| } |
| } |
| |
| |
| void ScanResults::scanRequest() |
| { |
| char reply[10]; |
| size_t reply_len = sizeof(reply); |
| |
| if (wpagui == NULL) |
| return; |
| |
| wpagui->ctrlRequest("SCAN", reply, &reply_len); |
| } |
| |
| |
| void ScanResults::getResults() |
| { |
| updateResults(); |
| } |
| |
| |
| |
| |
| void ScanResults::bssSelected( Q3ListViewItem * sel ) |
| { |
| NetworkConfig *nc = new NetworkConfig(); |
| if (nc == NULL) |
| return; |
| nc->setWpaGui(wpagui); |
| nc->paramsFromScanResults(sel); |
| nc->show(); |
| nc->exec(); |
| } |