diff options
author | Golubev Alexander <fatzer2@gmail.com> | 2013-07-27 10:34:20 +0400 |
---|---|---|
committer | Golubev Alexander <fatzer2@gmail.com> | 2013-07-27 11:20:18 +0400 |
commit | 0984f0194709db2d85651615b0551054876dbcc5 (patch) | |
tree | d8fe42c304827d5108b816c84898c06cf3ab40f1 /tdecore/tdenetworkconnections.cpp | |
parent | 70ce443ca384bef01d896a5e1dc81acb90f3df51 (diff) | |
download | tdelibs-0984f0194709db2d85651615b0551054876dbcc5.tar.gz tdelibs-0984f0194709db2d85651615b0551054876dbcc5.zip |
move all tdehw stuff into separate subdir
Diffstat (limited to 'tdecore/tdenetworkconnections.cpp')
-rw-r--r-- | tdecore/tdenetworkconnections.cpp | 1106 |
1 files changed, 0 insertions, 1106 deletions
diff --git a/tdecore/tdenetworkconnections.cpp b/tdecore/tdenetworkconnections.cpp deleted file mode 100644 index 6227b095f..000000000 --- a/tdecore/tdenetworkconnections.cpp +++ /dev/null @@ -1,1106 +0,0 @@ -/* This file is part of the TDE libraries - Copyright (C) 2012 Timothy Pearson <kb9vqf@pearsoncomputing.net> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License version 2 as published by the Free Software Foundation. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include "tdehardwaredevices.h" -#include "tdenetworkconnections.h" - -#include "config.h" - -#include <tqtimer.h> - -#include <tdelocale.h> - -// #define DEBUG_SIGNAL_QUEUE 1 - -#ifdef WITH_NETWORK_MANAGER_BACKEND -#include "networkbackends/network-manager/network-manager.h" -#endif // WITH_NETWORK_MANAGER_BACKEND - -#define SET_BIT(x, y) (x |= 1 << y) -#define TEST_BIT(x, y) ((x & (1 << y)) >> y) - -/*================================================================================================*/ -/* TDENetworkSearchDomain */ -/*================================================================================================*/ - -TDENetworkSearchDomain::TDENetworkSearchDomain() { - m_isIPV6 = false; -} - -TDENetworkSearchDomain::TDENetworkSearchDomain(TQString domain, bool ipv6) { - m_isIPV6 = ipv6; - m_domain = domain; -} - -TDENetworkSearchDomain::~TDENetworkSearchDomain() { - // -} - -TQString TDENetworkSearchDomain::searchDomain() { - return m_domain; -} - -void TDENetworkSearchDomain::setSearchDomain(TQString domain, bool ipv6) { - m_isIPV6 = ipv6; - m_domain = domain; -} - -bool TDENetworkSearchDomain::isIPv4() { - return !m_isIPV6; -} - -bool TDENetworkSearchDomain::isIPv6() { - return m_isIPV6; -} - -/*================================================================================================*/ -/* TDENetMask */ -/*================================================================================================*/ - -TDENetMask::TDENetMask() { - m_ipv4NetMask = 0; - m_isIPV6 = false; -} - -TDENetMask::TDENetMask(TQ_UINT32 netmask) { - m_ipv4NetMask = netmask; - m_isIPV6 = false; -} - -TDENetMask::TDENetMask(TQ_UINT8* netmask) { - m_ipv6NetMask = TQHostAddress(netmask); - m_isIPV6 = true; -} - -TDENetMask::~TDENetMask() { - // -} - -void TDENetMask::fromCIDRMask(unsigned char mask, bool ipv6) { - unsigned int i; - unsigned int j; - unsigned int internalMask = mask; - if (!ipv6) { - m_ipv4NetMask = 0; - for (i=31;i>=(32-internalMask);i--) { - SET_BIT(m_ipv4NetMask, i); - } - m_isIPV6 = false; - } - else { - Q_IPV6ADDR maskarray; - j=0; - unsigned int byteno=0; - memset(maskarray.c, 0, 16); - for (i=127;i>=(128-internalMask);i--) { - SET_BIT(maskarray.c[byteno], (i-((15-byteno)*8))); - j++; - if (j>7) { - j=0; - byteno++; - } - } - m_ipv6NetMask = TQHostAddress(maskarray); - m_isIPV6 = true; - } -} - -unsigned char TDENetMask::toCIDRMask() { - unsigned int i; - unsigned int j; - if (!m_isIPV6) { - for (i=0; i<32; i++) { - if (TEST_BIT(m_ipv4NetMask, i)) { - break; - } - } - return 32-i; - } - else { - Q_IPV6ADDR mask = m_ipv6NetMask.toIPv6Address(); - bool found = false; - for (j=0; j<16; ++j) { - for (i=0; i<8; i++) { - if (!TEST_BIT(mask.c[j], i)) { - found = true; - break; - } - } - if (found) break; - } - return ((j*8)+i); - } -} - -void TDENetMask::fromString(TQString mask) { - if (mask.contains(".")) { - m_isIPV6 = false; - m_ipv4NetMask = 0; - TQStringList pieces = TQStringList::split(".", mask); - TQ_UINT8 chunk; - chunk = pieces[0].toUShort(); - m_ipv4NetMask = m_ipv4NetMask | (chunk << 24); - chunk = pieces[1].toUShort(); - m_ipv4NetMask = m_ipv4NetMask | (chunk << 16); - chunk = pieces[2].toUShort(); - m_ipv4NetMask = m_ipv4NetMask | (chunk << 8); - chunk = pieces[3].toUShort(); - m_ipv4NetMask = m_ipv4NetMask | (chunk << 0); - } - else if (mask.contains(":")) { - m_isIPV6 = true; - m_ipv6NetMask.setAddress(mask); - } -} - -TQString TDENetMask::toString() { - if (!m_isIPV6) { - return TQString("%1.%2.%3.%4").arg((m_ipv4NetMask & 0xff000000) >> 24).arg((m_ipv4NetMask & 0x00ff0000) >> 16).arg((m_ipv4NetMask & 0x0000ff00) >> 8).arg((m_ipv4NetMask & 0x000000ff) >> 0); - } - else { - return m_ipv6NetMask.toString(); - } -} - -bool TDENetMask::isIPv4() { - return !m_isIPV6; -} - -bool TDENetMask::isIPv6() { - return m_isIPV6; -} - -/*================================================================================================*/ -/* TDEMACAddress */ -/*================================================================================================*/ - -TDEMACAddress::TDEMACAddress() { - m_macAddress.clear(); - m_isValid = false; -} - -TDEMACAddress::TDEMACAddress(TDENetworkByteList address) { - m_macAddress = address; - m_isValid = true; -} - -TDEMACAddress::~TDEMACAddress() { - // -} - -TDENetworkByteList TDEMACAddress::address() { - return m_macAddress; -} - -void TDEMACAddress::setAddress(TDENetworkByteList address) { - m_macAddress = address; - m_isValid = true; -} - -bool TDEMACAddress::isValid() { - if (!m_isValid) { - return false; - } - - if (m_macAddress.count() > 0) { - return true; - } - else { - return false; - } -} - -void TDEMACAddress::fromString(TQString address) { - TQStringList pieces = TQStringList::split(":", address); - m_macAddress.clear(); - for (TQStringList::Iterator it = pieces.begin(); it != pieces.end(); ++it) { - m_macAddress.append((*it).toUShort(0, 16)); - } - m_isValid = true; -} - -TQString TDEMACAddress::toString() { - TQString ret; - TDENetworkByteList::iterator it; - for (it = m_macAddress.begin(); it != m_macAddress.end(); ++it) { - if (ret != "") { - ret.append(":"); - } - ret.append(TQString().sprintf("%02x", *it)); - } - return ret.lower(); -} - -bool operator==(const TDEMACAddress &a1, const TDEMACAddress &a2) { - if (a1.m_macAddress.count() != a2.m_macAddress.count()) { - return false; - } - else { - unsigned int i; - for (i=0; i<a1.m_macAddress.count(); i++) { - if (a1.m_macAddress[i] != a2.m_macAddress[i]) { - return false; - } - } - return true; - } -} - -bool operator<(const TDEMACAddress &a1, const TDEMACAddress &a2) { - if (a1.m_macAddress.count() < a2.m_macAddress.count()) { - return true; - } - else { - unsigned int i; - for (i=0; i<a1.m_macAddress.count(); i++) { - if (a1.m_macAddress[i] < a2.m_macAddress[i]) { - return true; - } - if (a1.m_macAddress[i] > a2.m_macAddress[i]) { - return false; - } - } - return false; - } -} - -/*================================================================================================*/ -/* TDENetworkSingleIPConfiguration */ -/*================================================================================================*/ - -TDENetworkSingleIPConfiguration::TDENetworkSingleIPConfiguration() { - valid = false; -} - -TDENetworkSingleIPConfiguration::~TDENetworkSingleIPConfiguration() { - // -} - -bool TDENetworkSingleIPConfiguration::isIPv4() { - return ipAddress.isIPv4Address() & valid; -} - -bool TDENetworkSingleIPConfiguration::isIPv6() { - return ipAddress.isIPv6Address() & valid; -} - -/*================================================================================================*/ -/* TDENetworkSingleRouteConfiguration */ -/*================================================================================================*/ - -TDENetworkSingleRouteConfiguration::TDENetworkSingleRouteConfiguration() { - valid = false; -} - -TDENetworkSingleRouteConfiguration::~TDENetworkSingleRouteConfiguration() { - // -} - -bool TDENetworkSingleRouteConfiguration::isIPv4() { - return ipAddress.isIPv4Address() & valid; -} - -bool TDENetworkSingleRouteConfiguration::isIPv6() { - return ipAddress.isIPv6Address() & valid; -} - -/*================================================================================================*/ -/* TDENetworkIEEE8021xConfiguration */ -/*================================================================================================*/ - -TDENetworkIEEE8021xConfiguration::TDENetworkIEEE8021xConfiguration() { - valid = false; - allowedValid = false; - secretsValid = false; - type = TDENetworkIEEE8021xType::None; - fastProvisioningFlags = TDENetworkIEEE8021xFastFlags::None; - phase2NonEAPAuthMethod = TDENetworkIEEE8021xType::None; - phase2EAPAuthMethod = TDENetworkIEEE8021xType::None; - passwordFlags = TDENetworkPasswordHandlingFlags::None; - binaryPasswordFlags = TDENetworkPasswordHandlingFlags::None; - privateKeyPasswordFlags = TDENetworkPasswordHandlingFlags::None; - phase2PrivateKeyPasswordFlags = TDENetworkPasswordHandlingFlags::None; - forceSystemCaCertificates = false; -} - -TDENetworkIEEE8021xConfiguration::~TDENetworkIEEE8021xConfiguration() { - // -} - -/*================================================================================================*/ -/* TDENetworkPPPConfiguration */ -/*================================================================================================*/ - -TDENetworkPPPConfiguration::TDENetworkPPPConfiguration() { - valid = false; - requireServerAuthentication = false; - flags = TDENetworkPPPFlags::None; - baudRate = 115200; - mru = 0; - mtu = 0; - lcpEchoPingInterval = 0; - lcpEchoFailureThreshold = 0; -} - -TDENetworkPPPConfiguration::~TDENetworkPPPConfiguration() { - // -} - -/*================================================================================================*/ -/* TDENetworkPPPOEConfiguration */ -/*================================================================================================*/ - -TDENetworkPPPOEConfiguration::TDENetworkPPPOEConfiguration() { - valid = false; - secretsValid = false; - passwordFlags = TDENetworkPasswordHandlingFlags::None; -} - -TDENetworkPPPOEConfiguration::~TDENetworkPPPOEConfiguration() { - // -} - -/*================================================================================================*/ -/* TDENetworkSerialConfiguration */ -/*================================================================================================*/ - -TDENetworkSerialConfiguration::TDENetworkSerialConfiguration() { - valid = false; - baudRate = 115200; - byteWidth = 8; - parity = TDENetworkParity::None; - stopBits = 1; - txDelay = 0; -} - -TDENetworkSerialConfiguration::~TDENetworkSerialConfiguration() { - // -} - -/*================================================================================================*/ -/* TDENetworkCDMAConfiguration */ -/*================================================================================================*/ - -TDENetworkCDMAConfiguration::TDENetworkCDMAConfiguration() { - valid = false; - secretsValid = false; - passwordFlags = TDENetworkPasswordHandlingFlags::None; -} - -TDENetworkCDMAConfiguration::~TDENetworkCDMAConfiguration() { - // -} - -/*================================================================================================*/ -/* TDENetworkGSMConfiguration */ -/*================================================================================================*/ - -TDENetworkGSMConfiguration::TDENetworkGSMConfiguration() { - valid = false; - secretsValid = false; - passwordFlags = TDENetworkPasswordHandlingFlags::None; - networkType = TDEGSMNetworkType::Any; - pinFlags = TDENetworkPasswordHandlingFlags::None; - allowRoaming = false; -} - -TDENetworkGSMConfiguration::~TDENetworkGSMConfiguration() { - // -} - -/*================================================================================================*/ -/* TDENetworkIPConfiguration */ -/*================================================================================================*/ - -TDENetworkIPConfiguration::TDENetworkIPConfiguration() { - valid = false; - connectionFlags = TDENetworkIPConfigurationFlags::IPV4DHCPIP | \ - TDENetworkIPConfigurationFlags::IPV4DHCPDNS | \ - TDENetworkIPConfigurationFlags::IPV4DHCPRoutes | \ - TDENetworkIPConfigurationFlags::IPV4MayUseAsDefaultRoute | \ - TDENetworkIPConfigurationFlags::IPV6DHCPIP | \ - TDENetworkIPConfigurationFlags::IPV6DHCPDNS | \ - TDENetworkIPConfigurationFlags::IPV6DHCPRoutes | \ - TDENetworkIPConfigurationFlags::IPV6MayUseAsDefaultRoute; -} - -TDENetworkIPConfiguration::~TDENetworkIPConfiguration() { - // -} - -/*================================================================================================*/ -/* TDENetworkWiFiSecurityConfiguration */ -/*================================================================================================*/ - -TDENetworkWiFiSecurityConfiguration::TDENetworkWiFiSecurityConfiguration() { - valid = false; - secretsValid = false; - keyType = TDENetworkWiFiKeyType::Other; - authType = TDENetworkWiFiAuthType::Other; - wpaVersion = TDENetworkWiFiWPAVersionFlags::Any; - cipher = TDENetworkWiFiConnectionCipher::None; - wepKeyFlags = TDENetworkPasswordHandlingFlags::None; - wepKeyIndex = 0; - wepKeyType = TDENetworkWepKeyType::Hexadecimal; - pskFlags = TDENetworkPasswordHandlingFlags::None; - leapPasswordFlags = TDENetworkPasswordHandlingFlags::None; -} - -TDENetworkWiFiSecurityConfiguration::~TDENetworkWiFiSecurityConfiguration() { - // -} - -/*================================================================================================*/ -/* TDENetworkWiFiDeviceInfo */ -/*================================================================================================*/ - -TDENetworkWiFiDeviceInfo::TDENetworkWiFiDeviceInfo() { - valid = false; -} - -TDENetworkWiFiDeviceInfo::~TDENetworkWiFiDeviceInfo() { - // -} - -/*================================================================================================*/ -/* TDENetworkDeviceInformation */ -/*================================================================================================*/ - -TDENetworkDeviceInformation::TDENetworkDeviceInformation() { - valid = false; - statusFlags = TDENetworkConnectionStatus::Invalid; - capabilityFlags = TDENetworkDeviceCapabilityFlags::None; -} - -TDENetworkDeviceInformation::~TDENetworkDeviceInformation() { - // -} - -/*================================================================================================*/ -/* TDENetworkHWNeighbor */ -/*================================================================================================*/ - -TDENetworkHWNeighbor::TDENetworkHWNeighbor() { - valid = false; -} - -TDENetworkHWNeighbor::~TDENetworkHWNeighbor() { - // -} - -/*================================================================================================*/ -/* TDENetworkWiFiAPInfo */ -/*================================================================================================*/ - -TDENetworkWiFiAPInfo::TDENetworkWiFiAPInfo() : TDENetworkHWNeighbor() { - // -} - -TDENetworkWiFiAPInfo::~TDENetworkWiFiAPInfo() { - // -} - -TQString TDENetworkWiFiAPInfo::friendlySSID() const { - TQString ret; - - ret = TQString(SSID); - if (ret == "") { - ret = "<" + i18n("hidden") + ">"; - } - - return ret; -} - -/*================================================================================================*/ -/* TDENetworkConnection */ -/*================================================================================================*/ - -TDENetworkConnection::TDENetworkConnection() { - readOnly = false; - autoConnect = false; - fullDuplex = true; - requireIPV4 = false; - requireIPV6 = false; - mtu = 0; -} - -TDENetworkConnection::~TDENetworkConnection() { - // -} - -TDENetworkConnectionType::TDENetworkConnectionType TDENetworkConnection::type() { - if (dynamic_cast<TDEWiredEthernetConnection*>(this)) { - return TDENetworkConnectionType::WiredEthernet; - } - else if (dynamic_cast<TDEWiredInfinibandConnection*>(this)) { - return TDENetworkConnectionType::Infiniband; - } - else if (dynamic_cast<TDEVPNConnection*>(this)) { - return TDENetworkConnectionType::VPN; - } - else if (dynamic_cast<TDEWiMaxConnection*>(this)) { - return TDENetworkConnectionType::WiMax; - } - else if (dynamic_cast<TDEVLANConnection*>(this)) { - return TDENetworkConnectionType::VLAN; - } - else if (dynamic_cast<TDEOLPCMeshConnection*>(this)) { - return TDENetworkConnectionType::OLPCMesh; - } - else if (dynamic_cast<TDEBluetoothConnection*>(this)) { - return TDENetworkConnectionType::Bluetooth; - } - else if (dynamic_cast<TDEModemConnection*>(this)) { - return TDENetworkConnectionType::Modem; - } - else if (dynamic_cast<TDEWiFiConnection*>(this)) { - return TDENetworkConnectionType::WiFi; - } - else { - return TDENetworkConnectionType::Other; - } -} - -/*================================================================================================*/ -/* TDEWiredEthernetConnection */ -/*================================================================================================*/ - -TDEWiredEthernetConnection::TDEWiredEthernetConnection() : TDENetworkConnection() { - // -} - -TDEWiredEthernetConnection::~TDEWiredEthernetConnection() { - // -} - -/*================================================================================================*/ -/* TDEWiredInfinibandConnection */ -/*================================================================================================*/ - -TDEWiredInfinibandConnection::TDEWiredInfinibandConnection() : TDENetworkConnection() { - // -} - -TDEWiredInfinibandConnection::~TDEWiredInfinibandConnection() { - // -} - -/*================================================================================================*/ -/* TDEVPNConnection */ -/*================================================================================================*/ - -TDEVPNConnection::TDEVPNConnection() : TDENetworkConnection() { - secretsValid = false; -} - -TDEVPNConnection::~TDEVPNConnection() { - // -} - -/*================================================================================================*/ -/* TDEWiMaxConnection */ -/*================================================================================================*/ - -TDEWiMaxConnection::TDEWiMaxConnection() : TDENetworkConnection() { - // -} - -TDEWiMaxConnection::~TDEWiMaxConnection() { - // -} - -/*================================================================================================*/ -/* TDEVLANConnection */ -/*================================================================================================*/ - -TDEVLANConnection::TDEVLANConnection() : TDENetworkConnection() { - // -} - -TDEVLANConnection::~TDEVLANConnection() { - // -} - -/*================================================================================================*/ -/* TDEOLPCMeshConnection */ -/*================================================================================================*/ - -TDEOLPCMeshConnection::TDEOLPCMeshConnection() : TDENetworkConnection() { - channel = 0; -} - -TDEOLPCMeshConnection::~TDEOLPCMeshConnection() { - // -} - -/*================================================================================================*/ -/* TDEBluetoothConnection */ -/*================================================================================================*/ - -TDEBluetoothConnection::TDEBluetoothConnection() : TDENetworkConnection() { - type = TDEBluetoothConnectionType::Other; -} - -TDEBluetoothConnection::~TDEBluetoothConnection() { - // -} - -/*================================================================================================*/ -/* TDEModemConnection */ -/*================================================================================================*/ - -TDEModemConnection::TDEModemConnection() : TDENetworkConnection() { - type = TDEModemConnectionType::Other; -} - -TDEModemConnection::~TDEModemConnection() { - // -} - -/*================================================================================================*/ -/* TDEWiFiConnection */ -/*================================================================================================*/ - -TDEWiFiConnection::TDEWiFiConnection() : TDENetworkConnection() { - operatingMode = TDEWiFiMode::Other; - bandRestriction = TDEWiFiFrequencyBand::None; - channelRestriction = -1; - bitRateRestriction = -1; - powerRestriction = -1; - isHiddenNetwork = false; - securityRequired = false; -} - -TDEWiFiConnection::~TDEWiFiConnection() { - // -} - -/*================================================================================================*/ -/* TDENetworkConnectionManager */ -/*================================================================================================*/ - -TDENetworkConnectionManager::TDENetworkConnectionManager(TQString macAddress) : TQObject(), m_connectionList(NULL), m_hwNeighborList(NULL), m_macAddress(macAddress), m_prevConnectionStatus(TDENetworkGlobalManagerFlags::Unknown) { - m_emissionTimer = new TQTimer(); - connect(m_emissionTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(emitQueuedSignals())); - if (!m_emissionTimer->isActive()) m_emissionTimer->start(0, TRUE); -} - -TDENetworkConnectionManager::~TDENetworkConnectionManager() { - m_emissionTimer->stop(); - delete m_emissionTimer; -} - -TQString TDENetworkConnectionManager::deviceMACAddress() { - return m_macAddress; -} - -TDENetworkConnectionList* TDENetworkConnectionManager::connections() { - return m_connectionList; -} - -TDENetworkConnection* TDENetworkConnectionManager::findConnectionByUUID(TQString uuid) { - TDENetworkConnection *connection; - for (connection = m_connectionList->first(); connection; connection = m_connectionList->next()) { - if (connection->UUID == uuid) { - return connection; - } - } - return NULL; -} - -TDENetworkDevice* TDENetworkConnectionManager::findDeviceByUUID(TQString uuid) { - TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices(); - if (!hwdevices) return NULL; - - TDEGenericHardwareList devices = hwdevices->listByDeviceClass(TDEGenericDeviceType::Network); - for (TDEGenericHardwareList::iterator it = devices.begin(); it != devices.end(); ++it) - { - TDENetworkDevice* dev = dynamic_cast<TDENetworkDevice*>(*it); - if (dev) { - TDENetworkConnectionManager* deviceConnectionManager = dev->connectionManager(); - if (deviceConnectionManager) { - if (deviceConnectionManager->deviceInformation().UUID == uuid) { - return dev; - } - } - } - } - - return NULL; -} - -TDENetworkWiFiAPInfo* TDENetworkConnectionManager::findAccessPointByBSSID(TDEMACAddress bssid) { - if (!bssid.isValid()) { - return NULL; - } - - TDENetworkHWNeighbor *neighbor; - for (neighbor = m_hwNeighborList->first(); neighbor; neighbor = m_hwNeighborList->next()) { - TDENetworkWiFiAPInfo* apInfo = dynamic_cast<TDENetworkWiFiAPInfo*>(neighbor); - if (!apInfo) { - continue; - } - if (apInfo->BSSID == bssid) { - return apInfo; - } - } - return NULL; -} - -TQString TDENetworkConnectionManager::friendlyConnectionTypeName(TDENetworkConnectionType::TDENetworkConnectionType type) { - if (type == TDENetworkConnectionType::WiredEthernet) { - return i18n("Wired Ethernet"); - } - else if (type == TDENetworkConnectionType::WiFi) { - return i18n("802.11 WiFi"); - } - else if (type == TDENetworkConnectionType::Bluetooth) { - return i18n("Bluetooth"); - } - else if (type == TDENetworkConnectionType::OLPCMesh) { - return i18n("OLPC Mesh"); - } - else if (type == TDENetworkConnectionType::WiMax) { - return i18n("WiMax"); - } - else if (type == TDENetworkConnectionType::Modem) { - return i18n("Cellular Modem"); - } - else if (type == TDENetworkConnectionType::Infiniband) { - return i18n("Infiniband"); - } - else if (type == TDENetworkConnectionType::Bond) { - return i18n("Bond"); - } - else if (type == TDENetworkConnectionType::VLAN) { - return i18n("Virtual LAN"); - } - else if (type == TDENetworkConnectionType::ADSL) { - return i18n("ADSL"); - } - else if (type == TDENetworkConnectionType::VPN) { - return i18n("Virtual Private Network"); - } - else if (type == TDENetworkConnectionType::Other) { - return i18n("Other"); - } - else { - return TQString::null; - } -} - -bool TDENetworkConnectionManager::validateIPAddress(TQHostAddress address) { - if (address.isIPv4Address()) { - TQ_UINT32 rawaddress = address.toIPv4Address(); - if ((((rawaddress & 0xff000000) >> 24) == 0) || ((rawaddress & 0x000000ff) == 0) || ((rawaddress & 0x000000ff) == 255)) { - return false; - } - } - else if (address.isIPv6Address()) { - Q_IPV6ADDR rawaddress = address.toIPv6Address(); - if (rawaddress.c[0] == 0xff) { - return false; - } - } - return true; -} - -bool TDENetworkConnectionManager::validateIPNeworkMask(TQHostAddress netmask) { - Q_UNUSED(netmask); - return TRUE; -} - -void TDENetworkConnectionManager::clearTDENetworkConnectionList() { - TDENetworkConnection *connection; - for (connection = m_connectionList->first(); connection; connection = m_connectionList->next()) { - delete connection; - } - m_connectionList->clear(); -} - -void TDENetworkConnectionManager::clearTDENetworkHWNeighborList() { - TDENetworkHWNeighbor *neighbor; - for (neighbor = m_hwNeighborList->first(); neighbor; neighbor = m_hwNeighborList->next()) { - delete neighbor; - } - m_hwNeighborList->clear(); -} - -void TDENetworkConnectionManager::internalNetworkConnectionStateChanged(TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags newState) { - TDENetworkEventQueueEvent_Private queuedEvent; - queuedEvent.eventType = 0; - queuedEvent.newState = newState; - queuedEvent.previousState = m_prevConnectionStatus; - m_globalEventQueueEventList.append(queuedEvent); - if (!m_emissionTimer->isActive()) m_emissionTimer->start(0, TRUE); - - m_prevConnectionStatus = newState; -} - -void TDENetworkConnectionManager::internalNetworkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus newState, TQString hwAddress) { - if (!m_prevDeviceStatus.contains(hwAddress)) { - m_prevDeviceStatus[hwAddress] = TDENetworkConnectionStatus::Invalid; - } - - TDENetworkEventQueueEvent_Private queuedEvent; - queuedEvent.eventType = 1; - queuedEvent.newConnStatus = newState; - queuedEvent.previousConnStatus = m_prevDeviceStatus[hwAddress]; - queuedEvent.hwAddress = hwAddress; - m_globalEventQueueEventList.append(queuedEvent); - if (!m_emissionTimer->isActive()) m_emissionTimer->start(0, TRUE); - - m_prevDeviceStatus[hwAddress] = newState; -} - -void TDENetworkConnectionManager::internalAccessPointStatusChanged(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event) { - TDENetworkEventQueueEvent_Private queuedEvent; - queuedEvent.eventType = 2; - queuedEvent.BSSID = BSSID; - queuedEvent.apevent = event; - m_globalEventQueueEventList.append(queuedEvent); - if (!m_emissionTimer->isActive()) m_emissionTimer->start(0, TRUE); -} - -void TDENetworkConnectionManager::internalNetworkDeviceEvent(TDENetworkDeviceEventType::TDENetworkDeviceEventType event, TQString message) { - TDENetworkEventQueueEvent_Private queuedEvent; - queuedEvent.eventType = 3; - queuedEvent.ndevent = event; - queuedEvent.message = message; - m_globalEventQueueEventList.append(queuedEvent); - if (!m_emissionTimer->isActive()) m_emissionTimer->start(0, TRUE); -} - -void TDENetworkConnectionManager::internalVpnEvent(TDENetworkVPNEventType::TDENetworkVPNEventType event, TQString message) { - TDENetworkEventQueueEvent_Private queuedEvent; - queuedEvent.eventType = 4; - queuedEvent.vpnevent = event; - queuedEvent.message = message; - m_globalEventQueueEventList.append(queuedEvent); - if (!m_emissionTimer->isActive()) m_emissionTimer->start(0, TRUE); -} - -void TDENetworkConnectionManager::internalNetworkManagementEvent(TDENetworkGlobalEventType::TDENetworkGlobalEventType event) { - TDENetworkEventQueueEvent_Private queuedEvent; - queuedEvent.eventType = 5; - queuedEvent.globalevent = event; - m_globalEventQueueEventList.append(queuedEvent); - if (!m_emissionTimer->isActive()) m_emissionTimer->start(0, TRUE); -} - -void TDENetworkConnectionManager::emitQueuedSignals() { - if (!m_globalEventQueueEventList.isEmpty()) { -#ifdef DEBUG_SIGNAL_QUEUE - kdDebug() << "TDENetworkConnectionManager::emitQueuedSignals: Going to dequeue " << m_globalEventQueueEventList.count() << " events..." << endl; -#endif // DEBUG_SIGNAL_QUEUE - TDENetworkEventQueueEvent_PrivateList::Iterator it; - it = m_globalEventQueueEventList.begin(); - while (it != m_globalEventQueueEventList.end()) { - TDENetworkEventQueueEvent_Private event = (*it); - it = m_globalEventQueueEventList.remove(it); - if (event.eventType == 0) { - emit(networkConnectionStateChanged(event.newState, event.previousState)); - } - else if (event.eventType == 1) { - emit(networkDeviceStateChanged(event.newConnStatus, event.previousConnStatus, event.hwAddress)); - } - else if (event.eventType == 2) { - emit(accessPointStatusChanged(event.BSSID, event.apevent)); - } - else if (event.eventType == 3) { - emit(networkDeviceEvent(event.ndevent, event.message)); - } - else if (event.eventType == 4) { - emit(vpnEvent(event.vpnevent, event.message)); - } - else if (event.eventType == 5) { - emit(networkManagementEvent(event.globalevent)); - } - } -#ifdef DEBUG_SIGNAL_QUEUE - kdDebug() << "TDENetworkConnectionManager::emitQueuedSignals: " << m_globalEventQueueEventList.count() << " events remain in queue" << endl; -#endif // DEBUG_SIGNAL_QUEUE - } -} - -/*================================================================================================*/ -/* TDEGlobalNetworkManager */ -/*================================================================================================*/ - -TDEGlobalNetworkManager::TDEGlobalNetworkManager() : m_internalConnectionManager(NULL) { -#ifdef WITH_NETWORK_MANAGER_BACKEND - m_internalConnectionManager = new TDENetworkConnectionManager_BackendNM(TQString::null); -#endif // WITH_NETWORK_MANAGER_BACKEND - if (m_internalConnectionManager) { - connect(m_internalConnectionManager, SIGNAL(networkConnectionStateChanged(TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags, TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags)), this, SIGNAL(networkConnectionStateChanged(TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags, TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags))); - connect(m_internalConnectionManager, SIGNAL(vpnEvent(TDENetworkVPNEventType::TDENetworkVPNEventType, TQString)), this, SIGNAL(vpnEvent(TDENetworkVPNEventType::TDENetworkVPNEventType, TQString))); - connect(m_internalConnectionManager, SIGNAL(networkManagementEvent(TDENetworkGlobalEventType::TDENetworkGlobalEventType)), this, SIGNAL(networkManagementEvent(TDENetworkGlobalEventType::TDENetworkGlobalEventType))); - } -} - -TDEGlobalNetworkManager::~TDEGlobalNetworkManager() { - delete m_internalConnectionManager; -} - -TQString TDEGlobalNetworkManager::backendName() { - if (!m_internalConnectionManager) return TQString::null; - return m_internalConnectionManager->backendName(); -} - -TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags TDEGlobalNetworkManager::backendStatus() { - if (!m_internalConnectionManager) return TDENetworkGlobalManagerFlags::BackendUnavailable; - return m_internalConnectionManager->backendStatus(); -} - -void TDEGlobalNetworkManager::loadConnectionInformation() { - if (!m_internalConnectionManager) return; - return m_internalConnectionManager->loadConnectionInformation(); -} - -void TDEGlobalNetworkManager::loadConnectionAllowedValues(TDENetworkConnection* connection) { - if (!m_internalConnectionManager) return; - return m_internalConnectionManager->loadConnectionAllowedValues(connection); -} - -bool TDEGlobalNetworkManager::loadConnectionSecrets(TQString uuid) { - if (!m_internalConnectionManager) return false; - return m_internalConnectionManager->loadConnectionSecrets(uuid); -} - -bool TDEGlobalNetworkManager::saveConnection(TDENetworkConnection* connection) { - if (!m_internalConnectionManager) return false; - return m_internalConnectionManager->saveConnection(connection); -} - -bool TDEGlobalNetworkManager::deleteConnection(TQString uuid) { - if (!m_internalConnectionManager) return false; - return m_internalConnectionManager->deleteConnection(uuid); -} - -bool TDEGlobalNetworkManager::verifyConnectionSettings(TDENetworkConnection* connection, TDENetworkConnectionErrorFlags::TDENetworkConnectionErrorFlags* type, TDENetworkErrorStringMap* reason) { - if (!m_internalConnectionManager) return false; - return m_internalConnectionManager->verifyConnectionSettings(connection, type, reason); -} - -TDENetworkConnectionStatus::TDENetworkConnectionStatus TDEGlobalNetworkManager::initiateConnection(TQString uuid) { - if (!m_internalConnectionManager) return TDENetworkConnectionStatus::Invalid; - return m_internalConnectionManager->initiateConnection(uuid); -} - -TDENetworkConnectionStatus::TDENetworkConnectionStatus TDEGlobalNetworkManager::checkConnectionStatus(TQString uuid) { - if (!m_internalConnectionManager) return TDENetworkConnectionStatus::Invalid; - return m_internalConnectionManager->checkConnectionStatus(uuid); -} - -TDENetworkConnectionStatus::TDENetworkConnectionStatus TDEGlobalNetworkManager::deactivateConnection(TQString uuid) { - if (!m_internalConnectionManager) return TDENetworkConnectionStatus::Invalid; - return m_internalConnectionManager->deactivateConnection(uuid); -} - -TQStringList TDEGlobalNetworkManager::validSettings() { - if (!m_internalConnectionManager) return TQStringList(); - return m_internalConnectionManager->validSettings(); -} - -TDENetworkHWNeighborList* TDEGlobalNetworkManager::siteSurvey() { - if (!m_internalConnectionManager) return NULL; - return m_internalConnectionManager->siteSurvey(); -} - -TQStringList TDEGlobalNetworkManager::connectionPhysicalDeviceUUIDs(TQString uuid) { - if (!m_internalConnectionManager) return TQStringList(); - return m_internalConnectionManager->connectionPhysicalDeviceUUIDs(uuid); -} - -TDENetworkVPNTypeList TDEGlobalNetworkManager::availableVPNTypes() { - if (!m_internalConnectionManager) return TDENetworkVPNTypeList(); - return m_internalConnectionManager->availableVPNTypes(); -} - -bool TDEGlobalNetworkManager::networkingEnabled() { - if (!m_internalConnectionManager) return false; - return m_internalConnectionManager->networkingEnabled(); -} - -bool TDEGlobalNetworkManager::enableNetworking(bool enable) { - if (!m_internalConnectionManager) return false; - return m_internalConnectionManager->enableNetworking(enable); -} - -bool TDEGlobalNetworkManager::wiFiHardwareEnabled() { - if (!m_internalConnectionManager) return false; - return m_internalConnectionManager->wiFiHardwareEnabled(); -} - -bool TDEGlobalNetworkManager::enableWiFi(bool enable) { - if (!m_internalConnectionManager) return false; - return m_internalConnectionManager->enableWiFi(enable); -} - -bool TDEGlobalNetworkManager::wiFiEnabled() { - if (!m_internalConnectionManager) return false; - return m_internalConnectionManager->wiFiEnabled(); -} - -TQStringList TDEGlobalNetworkManager::defaultNetworkDevices() { - if (!m_internalConnectionManager) return TQStringList(); - return m_internalConnectionManager->defaultNetworkDevices(); -} - -TDENetworkConnectionList* TDEGlobalNetworkManager::connections() { - if (!m_internalConnectionManager) return NULL; - return m_internalConnectionManager->connections(); -} - -TDENetworkConnection* TDEGlobalNetworkManager::findConnectionByUUID(TQString uuid) { - if (!m_internalConnectionManager) return NULL; - return m_internalConnectionManager->findConnectionByUUID(uuid); -} - -TDENetworkDevice* TDEGlobalNetworkManager::findDeviceByUUID(TQString uuid) { - if (!m_internalConnectionManager) return NULL; - return m_internalConnectionManager->findDeviceByUUID(uuid); -} - -TDENetworkWiFiAPInfo* TDEGlobalNetworkManager::findAccessPointByBSSID(TDEMACAddress bssid) { - TDEHardwareDevices *hwdevices = TDEGlobal::hardwareDevices(); - if (!hwdevices) { - return NULL; - } - - TDENetworkWiFiAPInfo* ret = NULL; - TDEGenericHardwareList devices = hwdevices->listByDeviceClass(TDEGenericDeviceType::Network); - for (TDEGenericHardwareList::iterator it = devices.begin(); it != devices.end(); ++it) { - TDENetworkDevice* dev = dynamic_cast<TDENetworkDevice*>(*it); - if (dev) { - TDENetworkConnectionManager* deviceConnMan = dev->connectionManager(); - TDENetworkWiFiAPInfo* candidate = deviceConnMan->findAccessPointByBSSID(bssid); - if (candidate) { - ret = candidate; - } - } - } - - return ret; -} - -/*================================================================================================*/ -/* End */ -/*================================================================================================*/ - -#include "tdenetworkconnections.moc"
\ No newline at end of file |