feature:add function of get one connect item.

This commit is contained in:
renpeijia 2021-08-06 11:33:28 +08:00
parent c44aa9b8d5
commit 3c4ece50a0
6 changed files with 78 additions and 14 deletions

View File

@ -55,6 +55,34 @@ KyConnectItem *KyActiveConnectResourse::getActiveConnectionItem(NetworkManager::
return activeConnectItem;
}
KyConnectItem *KyActiveConnectResourse::getActiveConnectionByUuid(QString connectUuid,
QString deviceName)
{
NetworkManager::ActiveConnection::Ptr activeConnectPtr =
m_networkResourceInstance->getActiveConnect(connectUuid);
if (nullptr == activeConnectPtr) {
qWarning()<<"it can not find connect "<< connectUuid;
return nullptr;
}
QStringList interfaces = activeConnectPtr->devices();
for (int index = 0; index < interfaces.size(); ++index) {
QString ifaceUni = interfaces.at(index);
NetworkManager::Device:: Ptr devicePtr =
m_networkResourceInstance->findDeviceUni(ifaceUni);
if (devicePtr->interfaceName() == deviceName) {
KyConnectItem *activeConnectItem =
getActiveConnectionItem(activeConnectPtr);
activeConnectItem->m_ifaceName = deviceName;
activeConnectItem->m_itemType = activeConnectPtr->type();
return activeConnectItem;
}
}
return nullptr;
}
void KyActiveConnectResourse::getActiveConnectionList(QString deviceName,
NetworkManager::ConnectionSettings::ConnectionType connectionType,
QList<KyConnectItem *> &activeConnectItemList)

View File

@ -16,21 +16,23 @@ public:
~KyActiveConnectResourse();
public:
void getActiveConnectionList(QString DeviceName,
KyConnectItem *getActiveConnectionByUuid(QString connectUuid, QString deviceName);
void getActiveConnectionList(QString deviceName,
NetworkManager::ConnectionSettings::ConnectionType connectionType,
QList<KyConnectItem *> &connectItemList);
//void getWiredActivateConnect(QList<KyWiredConnectItem *> &wiredActiveConnectItemList);
void getVpnActivateConnect(QList<KyVpnConnectItem *> &vpnActiveConnectItemList);
void getBtActivateConnect(QList<KyBluetoothConnectItem *> &btActiveConnectItemList);
private:
KyConnectItem *getActiveConnectionItem(NetworkManager::ActiveConnection::Ptr activeConnectPtr);
void getActiveConnectIp(NetworkManager::ActiveConnection::Ptr activeConnectPtr,
QString &ipv4Address,
QString &ipv6Address);
void getActiveConnectDns(NetworkManager::ActiveConnection::Ptr activeConnectPtr,
QList<QHostAddress> &ipv4Dns,
QList<QHostAddress> &ipv6Dns);
//void getWiredActivateConnect(QList<KyWiredConnectItem *> &wiredActiveConnectItemList);
void getVpnActivateConnect(QList<KyVpnConnectItem *> &vpnActiveConnectItemList);
void getBtActivateConnect(QList<KyBluetoothConnectItem *> &btActiveConnectItemList);
private:
KyConnectItem *getActiveConnectionItem(NetworkManager::ActiveConnection::Ptr activeConnectPtr);
// KyWiredConnectItem *getWiredActiveConnectItem(NetworkManager::ActiveConnection::Ptr activeConnectPtr);
KyVpnConnectItem *getVpnActiveConnectItem(NetworkManager::ActiveConnection::Ptr activeConnectPtr);
KyBluetoothConnectItem *getBtActiveConnectItem(NetworkManager::ActiveConnection::Ptr activeConnectPtr);

View File

@ -39,20 +39,53 @@ KyConnectItem *KyConnectResourse::getConnectionItem(NetworkManager::Connection::
NetworkManager::ConnectionSettings::Ptr settingPtr = connectPtr->settings();
connectionItem->m_ifaceName = settingPtr->interfaceName();
connectionItem->m_itemType = settingPtr->connectionType();
connectionItem->m_connectState = NetworkManager::ActiveConnection::State::Deactivated;
return connectionItem;
}
void KyConnectResourse::getConnectionList(QString DeviceName,
KyConnectItem * KyConnectResourse::getConnectionItemByUuid(QString connectUuid, QString deviceName)
{
NetworkManager::Connection::Ptr connectPtr =
m_networkResourceInstance->getConnect(connectUuid);
if (nullptr == connectPtr) {
qWarning()<<"get connect failed, connect uuid"<<connectUuid;
return nullptr;
}
QString connectInterface = connectPtr->settings()->interfaceName();
if (!connectInterface.isEmpty()
&& deviceName != connectInterface) {
qDebug()<<"[KyConnectResourse]" << "connect name:"<< connectPtr->name()
<< "connect device name" << connectInterface;
return nullptr;
}
if (m_networkResourceInstance->isActiveConnection(connectPtr->uuid())) {
qDebug()<<"[KyConnectResourse]"<<connectPtr->name()<<"is active connection";
return nullptr;
}
KyConnectItem *connectItem = getConnectionItem(connectPtr);
if (nullptr != connectItem) {
connectItem->dumpInfo();
return connectItem;
}
return nullptr;
}
void KyConnectResourse::getConnectionList(QString deviceName,
NetworkManager::ConnectionSettings::ConnectionType connectionType,
QList<KyConnectItem *> &connectItemList)
{
NetworkManager::Connection::List connectList;
qDebug()<<"[KyConnectResourse]"<<"get connections item, device"
<<DeviceName << "connect type" << connectionType;
<<deviceName << "connect type" << connectionType;
connectList.clear();
connectList = m_networkResourceInstance->getConnectList();
@ -73,7 +106,7 @@ void KyConnectResourse::getConnectionList(QString DeviceName,
QString connectInterface = connectPtr->settings()->interfaceName();
if (!connectInterface.isEmpty()
&& DeviceName != connectInterface) {
&& deviceName != connectInterface) {
qDebug()<<"[KyConnectResourse]" << "connect name:"<< connectPtr->name()
<< "connect device name" << connectInterface;
continue;
@ -86,7 +119,7 @@ void KyConnectResourse::getConnectionList(QString DeviceName,
KyConnectItem *connectItem = getConnectionItem(connectPtr);
if (nullptr != connectItem) {
connectItem->m_itemType = connectionType;
// connectItem->m_itemType = connectionType;
connectItemList << connectItem;
connectItem->dumpInfo();
}

View File

@ -17,7 +17,8 @@ public:
~KyConnectResourse();
public:
void getConnectionList(QString DeviceName,
KyConnectItem *getConnectionItemByUuid(QString connectUuid, QString deviceName);
void getConnectionList(QString deviceName,
NetworkManager::ConnectionSettings::ConnectionType connectionType,
QList<KyConnectItem *> &connectItemList);
// void getWiredConnections(QList<KyWiredConnectItem *> &wiredConnectItemList);

View File

@ -19,7 +19,7 @@ KyNetworkDeviceResourse::~KyNetworkDeviceResourse()
m_networkResourceInstance = nullptr;
}
void KyNetworkDeviceResourse::getNetworkDevices(QStringList &networkDeviceList)
void KyNetworkDeviceResourse::getNetworkDeviceList(QStringList &networkDeviceList)
{
qDebug()<<"[KyNetworkDeviceResourse]"<<"get device list";
NetworkManager::Device::List deviceList

View File

@ -23,7 +23,7 @@ signals:
void deviceMacAddressChanaged(QString deviceName, const QString &hwAddress);
public:
void getNetworkDevices(QStringList &networkDeviceList);
void getNetworkDeviceList(QStringList &networkDeviceList);
void getHardwareInfo(QString ifaceName, QString &hardAddress, int &bandWith);
NetworkManager::Device::State getDeviceState(QString deviceName);
bool wiredDeviceCarriered(QString deviceName);