|
@@ -14,6 +14,128 @@
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
+QGfaWlanConnInfo::QGfaWlanConnInfo(QObject *pParent) : QObject(pParent)
|
|
|
+{
|
|
|
+ setObjectName("QGfaWlanConnInfo");
|
|
|
+ clear();
|
|
|
+}
|
|
|
+
|
|
|
+QGfaWlanConnInfo::~QGfaWlanConnInfo(void)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+void QGfaWlanConnInfo::clear(void)
|
|
|
+{
|
|
|
+ m_connected = false;
|
|
|
+ m_essid.clear();
|
|
|
+ m_macAddr.clear();
|
|
|
+ m_frequency.clear();
|
|
|
+ m_channel = -1;
|
|
|
+ m_qualPerc = 0;
|
|
|
+ m_qualBars = 0;
|
|
|
+
|
|
|
+ emit connectedChanged(m_connected);
|
|
|
+ emit essidChanged(m_essid);
|
|
|
+ emit macAddrChanged(m_macAddr);
|
|
|
+ emit frequencyChanged(m_frequency);
|
|
|
+ emit channelChanged(m_channel);
|
|
|
+ emit qualPercChanged(m_qualPerc);
|
|
|
+ emit qualBarsChanged(m_qualBars);
|
|
|
+}
|
|
|
+
|
|
|
+bool QGfaWlanConnInfo::fromWifiScanResults(const CGfaWifiScanResults &wsr)
|
|
|
+{
|
|
|
+ bool bv = wsr.GetConnected();
|
|
|
+ if(m_connected != bv)
|
|
|
+ {
|
|
|
+ m_connected = bv;
|
|
|
+ emit connectedChanged(m_connected);
|
|
|
+ }
|
|
|
+
|
|
|
+ QString sv = QString::fromStdString(wsr.GetESSID());
|
|
|
+ if(m_essid != sv)
|
|
|
+ {
|
|
|
+ m_essid = sv;
|
|
|
+ emit essidChanged(m_essid);
|
|
|
+ }
|
|
|
+
|
|
|
+ sv = QString::fromStdString(wsr.GetMACAddrStr());
|
|
|
+ if(m_macAddr != sv)
|
|
|
+ {
|
|
|
+ m_macAddr = sv;
|
|
|
+ emit macAddrChanged(m_macAddr);
|
|
|
+ }
|
|
|
+
|
|
|
+ sv = QString::fromStdString(wsr.GetFreqStr());
|
|
|
+ if(m_frequency != sv)
|
|
|
+ {
|
|
|
+ m_frequency = sv;
|
|
|
+ emit frequencyChanged(m_frequency);
|
|
|
+ }
|
|
|
+
|
|
|
+ int iv = wsr.GetChannel();
|
|
|
+ if(m_channel != iv)
|
|
|
+ {
|
|
|
+ m_channel = iv;
|
|
|
+ emit channelChanged(m_channel);
|
|
|
+ }
|
|
|
+
|
|
|
+ unsigned int uv = wsr.GetQualityPercent();
|
|
|
+ if(m_qualPerc != uv)
|
|
|
+ {
|
|
|
+ m_qualPerc = uv;
|
|
|
+ emit qualPercChanged(m_qualPerc);
|
|
|
+ }
|
|
|
+
|
|
|
+ iv = wsr.GetQualityBars();
|
|
|
+ if(m_qualBars != iv)
|
|
|
+ {
|
|
|
+ m_qualBars = iv;
|
|
|
+ emit qualBarsChanged(m_qualBars);
|
|
|
+ }
|
|
|
+
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
+bool QGfaWlanConnInfo::connected(void) const
|
|
|
+{
|
|
|
+ return m_connected;
|
|
|
+}
|
|
|
+
|
|
|
+QString QGfaWlanConnInfo::essid(void) const
|
|
|
+{
|
|
|
+ return m_essid;
|
|
|
+}
|
|
|
+
|
|
|
+QString QGfaWlanConnInfo::macAddr(void) const
|
|
|
+{
|
|
|
+ return m_macAddr;
|
|
|
+}
|
|
|
+
|
|
|
+QString QGfaWlanConnInfo::frequency(void) const
|
|
|
+{
|
|
|
+ return m_frequency;
|
|
|
+}
|
|
|
+
|
|
|
+int QGfaWlanConnInfo::channel(void) const
|
|
|
+{
|
|
|
+ return m_channel;
|
|
|
+}
|
|
|
+
|
|
|
+unsigned int QGfaWlanConnInfo::qualPerc(void) const
|
|
|
+{
|
|
|
+ return m_qualPerc;
|
|
|
+}
|
|
|
+
|
|
|
+int QGfaWlanConnInfo::qualBars(void) const
|
|
|
+{
|
|
|
+ return m_qualBars;
|
|
|
+}
|
|
|
+
|
|
|
+/////////////////////////////////////////////////////////////////////////////
|
|
|
+/////////////////////////////////////////////////////////////////////////////
|
|
|
+/////////////////////////////////////////////////////////////////////////////
|
|
|
+
|
|
|
const QGfaWlanMonSchemaModel::WLAN_MON_ROLES QGfaWlanMonSchemaModel::m_roles[] =
|
|
|
{
|
|
|
{WLR_ESSID, "EssID"},
|
|
@@ -34,7 +156,7 @@ const QGfaWlanMonSchemaModel::WLAN_MON_ROLES QGfaWlanMonSchemaModel::m_roles[] =
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
-QGfaWlanMonSchemaModel::QGfaWlanMonSchemaModel(QObject *pParent) : QAbstractTableModel(pParent), m_bScanning(false)
|
|
|
+QGfaWlanMonSchemaModel::QGfaWlanMonSchemaModel(QObject *pParent) : QAbstractTableModel(pParent), m_bScanning(false), m_wci(pParent)
|
|
|
{
|
|
|
setObjectName("QGfaWlanMonSchemaModel");
|
|
|
static_assert(_countof(m_roles) == (WLR_LAST - WLR_ESSID), "enum WlanModelRoles does not match array 'QGfaWlanMonSchemaModel::m_roles[]'!");
|
|
@@ -88,6 +210,7 @@ QVariant QGfaWlanMonSchemaModel::data(const QModelIndex &index, int role) const
|
|
|
val = wsr.channel;
|
|
|
break;
|
|
|
case WLR_MODE_STR:
|
|
|
+ val = wsr.modeStr;
|
|
|
break;
|
|
|
case WLR_ENCRYPTED:
|
|
|
val = wsr.encrypted;
|
|
@@ -129,6 +252,17 @@ QHash<int, QByteArray> QGfaWlanMonSchemaModel::roleNames(void) const
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
+void QGfaWlanMonSchemaModel::updateConnectionInfo(QString interface)
|
|
|
+{
|
|
|
+ CGfaWifiScanResults wsr;
|
|
|
+ if(m_wlMon.GetConnectionInfo(interface.toStdString().c_str(), wsr))
|
|
|
+ m_wci.fromWifiScanResults(wsr);
|
|
|
+ else
|
|
|
+ m_wci.clear();
|
|
|
+}
|
|
|
+
|
|
|
+/////////////////////////////////////////////////////////////////////////////
|
|
|
+
|
|
|
void QGfaWlanMonSchemaModel::startScan(void)
|
|
|
{
|
|
|
if(m_wlMon.IwSocketOpen())
|
|
@@ -150,6 +284,11 @@ bool QGfaWlanMonSchemaModel::scanning(void) const
|
|
|
return m_bScanning;
|
|
|
}
|
|
|
|
|
|
+QGfaWlanConnInfo* QGfaWlanMonSchemaModel::wlanConnInfo(void)
|
|
|
+{
|
|
|
+ return &m_wci;
|
|
|
+}
|
|
|
+
|
|
|
void QGfaWlanMonSchemaModel::updateModel(void)
|
|
|
{
|
|
|
beginResetModel();
|
|
@@ -166,6 +305,7 @@ void QGfaWlanMonSchemaModel::updateModel(void)
|
|
|
wsr.essid = QString::fromStdString(m_wlMon.GetESSID(i));
|
|
|
wsr.macStr = QString::fromStdString(m_wlMon.GetMACAddrStr(i));
|
|
|
wsr.qualStr = QString::fromStdString(m_wlMon.GetQualityStr(i));
|
|
|
+ wsr.modeStr = QString::fromStdString(m_wlMon.GetOpModeStr(i));
|
|
|
wsr.qualPerc = m_wlMon.GetQualityPercent(i);
|
|
|
wsr.qualBars = m_wlMon.GetQualityBars(i);
|
|
|
wsr.connected = m_wlMon.GetConnected(i);
|