diff --git a/tdenetworkmanager/src/knetworkmanager-menuitem.cpp b/tdenetworkmanager/src/knetworkmanager-menuitem.cpp index f44ebfa..927f1ae 100644 --- a/tdenetworkmanager/src/knetworkmanager-menuitem.cpp +++ b/tdenetworkmanager/src/knetworkmanager-menuitem.cpp @@ -49,10 +49,6 @@ #include #include -#include "knetworkmanager-connection.h" -#include "knetworkmanager-device.h" -#include "knetworkmanager-nm_proxy.h" - using namespace ConnectionSettings; class NetworkMenuItemPrivate @@ -71,48 +67,47 @@ class NetworkMenuItemPrivate void NetworkMenuItem::slotActivate() { - int id; - TQT_DBusError err; kdDebug() << "NetworkMenuItem::slotActivate()" << endl; - NMProxy* nm = NMProxy::getInstance(); + + TDEGlobalNetworkManager* nm = KGlobal::networkManager(); if (d->dev && d->conn) { - NMProxy* nm = NMProxy::getInstance(); - if (nm) + TDENetworkConnectionManager* deviceConnMan = d->dev->connectionManager(); + if (deviceConnMan) { - kdDebug() << "Activate Connection " << d->conn->getObjectPath().data() << " on Device " << d->dev->getObjectPath().ascii() << endl; - printf("Activate Connection %s on Device %s\n\r", d->conn->getObjectPath().data(), d->dev->getObjectPath().ascii()); - -#if NM_CHECK_VERSION(0,8,992) - if (nm->ActivateConnectionAsync(id, "org.freedesktop.NetworkManagerUserSettings", d->conn->getObjectPath(), TQT_DBusObjectPath(QCString(d->dev->getObjectPath())), d->conn->getObjectPath(), err)) -#else - if (nm->ActivateConnectionAsync(id, NM_DBUS_SERVICE_USER_SETTINGS, d->conn->getObjectPath(), TQT_DBusObjectPath(TQCString(d->dev->getObjectPath())), d->conn->getObjectPath(), err)) -#endif - { + kdDebug() << "Activate Connection " << d->conn->UUID.ascii() << " on Device " << d->dev->deviceNode().ascii() << endl; + printf("Activate Connection %s on Device %s\n\r", d->conn->UUID.ascii(), d->dev->deviceNode().ascii()); + TDENetworkConnectionStatus::TDENetworkConnectionStatus result = deviceConnMan->initiateConnection(d->conn->UUID); + if ((result == TDENetworkConnectionStatus::Disconnected) + || (result == TDENetworkConnectionStatus::Invalid)) { + // } - else + else { kdDebug() << "ActivateDevice failed" << endl; + } } } else if (d->conn) { // no device given, just take the default device - printf("Activate Connection %s on default device\n\r", d->conn->getObjectPath().data()); - TQT_DBusObjectPath act_conn = nm->getDefaultActiveConnection(); - TQT_DBusObjectPath device = nm->getDeviceForActiveConnection(act_conn); -#if NM_CHECK_VERSION(0,8,992) - nm->ActivateConnectionAsync(id, "org.freedesktop.NetworkManagerUserSettings", d->conn->getObjectPath(), device, act_conn, err); -#else - nm->ActivateConnectionAsync(id,NM_DBUS_SERVICE_USER_SETTINGS, d->conn->getObjectPath(), device, act_conn, err); -#endif + printf("Activate Connection %s on default device\n\r", d->conn->UUID.ascii()); + + TDENetworkConnectionStatus::TDENetworkConnectionStatus result = nm->initiateConnection(d->conn->UUID); + if ((result == TDENetworkConnectionStatus::Disconnected) + || (result == TDENetworkConnectionStatus::Invalid)) { + // + } + else { + kdDebug() << "ActivateConnection failed" << endl; + } } else kdDebug() << "Device or Connection invalid" << endl; } -NetworkMenuItem::NetworkMenuItem (Device* dev, Connection* conn, TQObject* parent, const char* name) +NetworkMenuItem::NetworkMenuItem (TDENetworkDevice* dev, TDENetworkConnection* conn, TQObject* parent, const char* name) : TQObject(parent, name) { d = new NetworkMenuItemPrivate(dev, conn); diff --git a/tdenetworkmanager/src/knetworkmanager-menuitem.h b/tdenetworkmanager/src/knetworkmanager-menuitem.h index e384d8c..86552dc 100644 --- a/tdenetworkmanager/src/knetworkmanager-menuitem.h +++ b/tdenetworkmanager/src/knetworkmanager-menuitem.h @@ -28,6 +28,9 @@ #include +#include +#include + class Device; class NetworkMenuItemPrivate; diff --git a/tdenetworkmanager/src/knetworkmanager-wireless_device_tray.cpp b/tdenetworkmanager/src/knetworkmanager-wireless_device_tray.cpp index a1a59ab..996ea1e 100644 --- a/tdenetworkmanager/src/knetworkmanager-wireless_device_tray.cpp +++ b/tdenetworkmanager/src/knetworkmanager-wireless_device_tray.cpp @@ -69,9 +69,11 @@ TQStringList WirelessDeviceTray::getToolTipText() { TQStringList tooltip = DeviceTrayComponent::getToolTipText(); - TDENetworkWiFiAPInfo * ap = d->dev->getActiveAccessPoint(); - if (ap) - tooltip.append(i18n("Network: %1").arg(ap->getDisplaySsid())); + TDENetworkConnectionManager* deviceConnMan = d->dev->connectionManager(); + TDENetworkWiFiAPInfo * ap = deviceConnMan->findAccessPointByBSSID(deviceConnMan->deviceInformation().wiFiInfo.activeAccessPointBSSID); + if (ap) { + tooltip.append(i18n("Network: %1").arg(ap->friendlySSID())); + } return tooltip; } @@ -79,29 +81,27 @@ TQStringList WirelessDeviceTray::getToolTipText() void WirelessDeviceTray::newConnection() { // create a new wireless connection - Connection* conn = new TDEWiFiConnection(); + TDENetworkConnection* conn = new TDEWiFiConnection(); // open a dialog for editing the connection use_new_wireless_essid = 0; // deactivate autofill for now - ConnectionSettingsDialogImpl* dlg = new ConnectionSettingsDialogImpl(conn, true, NULL, tray(), "connect_something", false, TQt::WDestructiveClose); + ConnectionSettingsDialogImpl* dlg = new ConnectionSettingsDialogImpl(conn, true, tray(), "connect_something", false, TQt::WDestructiveClose); dlg->show(); } bool WirelessDeviceTray::findMatchingNetwork(const TDEWiFiConnection* conn, const TQValueList& nets, WirelessNetwork& net) { - Wireless* wireless = conn->getWirelessSetting(); - WirelessSecurity* security = conn->getWirelessSecuritySetting(); + const TDEWiFiConnection* wireless = dynamic_cast(conn); - if (!wireless && !security) + if (!wireless) { return false; + } - for (TQValueList::ConstIterator it = nets.begin(); it != nets.end(); ++it) - { - if (wireless->getEssid() == (*it).getSsid()) - { + for (TQValueList::ConstIterator it = nets.begin(); it != nets.end(); ++it) { + if (wireless->SSID == (*it).getSsid()) { net = *it; return true; - } + } } return false; } @@ -109,16 +109,14 @@ bool WirelessDeviceTray::findMatchingNetwork(const TDEWiFiConnection* conn, cons TDEWiFiConnection* WirelessDeviceTray::findMatchingConnection(const WirelessNetwork& net, const TQValueList& connections) { // try to find a connection matching this network - for (TQValueList::ConstIterator it = connections.begin(); it != connections.end(); ++it) - { - Wireless* wireless = (*it)->getWirelessSetting(); - WirelessSecurity* security = (*it)->getWirelessSecuritySetting(); + for (TQValueList::ConstIterator it = connections.begin(); it != connections.end(); ++it) { + const TDEWiFiConnection* wireless = dynamic_cast(*it); - // should not happen but its ever better to check - if (!wireless || !security) + if (!wireless) { continue; + } - if (wireless->getEssid() == net.getSsid()) + if (wireless->SSID == net.getSsid()) { return *it; } @@ -138,10 +136,13 @@ void WirelessDeviceTray::addWirelessNetworks(KPopupMenu* menu) TQValueList conns = WirelessManager::getWirelessConnections(); // get the currently active connection - NMProxy* nm = NMProxy::getInstance(); - Connection* active_conn = nm->getActiveConnection(d->dev); - if (active_conn) - kdDebug() << active_conn->getObjectPath().data() << endl; + TDEGlobalNetworkManager* nm = KGlobal::networkManager(); + TDENetworkConnectionManager* deviceConnMan = d->dev->connectionManager(); + TDENetworkConnection* active_conn = NULL; + if ((!(deviceConnMan->deviceInformation().statusFlags & TDENetworkConnectionStatus::Disconnected)) + && (!(deviceConnMan->deviceInformation().statusFlags & TDENetworkConnectionStatus::Invalid))) { + active_conn = nm->findConnectionByUUID(deviceConnMan->deviceInformation().activeConnectionUUID); + } // add all wireless connections in range // (we may have more then one connection per network) @@ -160,7 +161,7 @@ void WirelessDeviceTray::addWirelessNetworks(KPopupMenu* menu) *it, false); int id = menu->insertItem (wirelessNetworkItem, -1, -1); - menu->setItemChecked(id, ((Connection*)(*it) == active_conn)); + menu->setItemChecked(id, ((TDENetworkConnection*)(*it) == active_conn)); menu->connectItem(id, wirelessNetworkItem, TQT_SLOT(slotActivate())); } @@ -177,11 +178,11 @@ void WirelessDeviceTray::addWirelessNetworks(KPopupMenu* menu) if ( findMatchingNetwork(*it, nets, net) ) continue; - Info* info = (*it)->getInfoSetting(); - Wireless* wireless = (*it)->getWirelessSetting(); + TDEWiFiConnection* wireless = dynamic_cast(*it); - if (!info || !wireless) + if (!wireless) { continue; + } wirelessNetworkItem = new WirelessNetworkItem (menu, d->dev, @@ -201,7 +202,6 @@ void WirelessDeviceTray::addWirelessNetworks(KPopupMenu* menu) // // List available unsaved networks TQPopupMenu* newpopup = new TQPopupMenu(menu); - TDEWiFiConnection* newconn; uint newnetworkItemsAdded = 0; TQValueList newnets = WirelessManager::getWirelessNetworks(0, WirelessNetwork::MATCH_SSID); @@ -234,23 +234,23 @@ void WirelessDeviceTray::addWirelessNetworks(KPopupMenu* menu) void WirelessDeviceTray::addMenuItems(KPopupMenu* menu) { - NMProxy* nm = NMProxy::getInstance(); - TQT_DBusError err; + // get the currently active connection + TDEGlobalNetworkManager* nm = KGlobal::networkManager(); // device title - Subhead* subhead = new Subhead (menu, "subhead", TQString("Wireless Connection (%1)").arg(d->dev->getInterface()), SmallIcon("wireless", TQIconSet::Automatic)); + Subhead* subhead = new Subhead (menu, "subhead", TQString("Wireless Connection (%1)").arg(d->dev->deviceNode()), SmallIcon("wireless", TQIconSet::Automatic)); menu->insertItem (subhead, -1, -1); // bolding subhead instead //menu->insertSeparator(); - if (!nm->getWirelessEnabled(err)) + if (!nm->wiFiEnabled()) { // wireless disabled -> do not show any connections subhead = new Subhead(menu, "subhead2", i18n("Wireless disabled"), SmallIcon("no", TQIconSet::Automatic)); menu->insertItem(subhead, -1, -1); } - else if (!nm->getWirelessHardwareEnabled(err)) + else if (!nm->wiFiHardwareEnabled()) { // wireless disabled -> do not show any connections subhead = new Subhead(menu, "subhead2", i18n("Wireless disabled by Killswitch"), SmallIcon("no", TQIconSet::Automatic)); @@ -263,33 +263,49 @@ void WirelessDeviceTray::addMenuItems(KPopupMenu* menu) // bring the device down KAction* deactivate = tray()->actionCollection()->action("deactivate_device"); - if (deactivate) + if (deactivate) { deactivate->plug(menu); + } } menu->insertSeparator(); } +void WirelessDeviceTray::setPixmapForStates(TDENetworkConnectionStatus::TDENetworkConnectionStatus states, TQString pixmap) { + TDENetworkConnectionStatus::TDENetworkConnectionStatus flag = (TDENetworkConnectionStatus::TDENetworkConnectionStatus)0x80000000; + while (flag > 0) { + if (states & flag) { + setPixmapForState(flag, pixmap); + } + flag = (TDENetworkConnectionStatus::TDENetworkConnectionStatus)(flag >> 1); + } +} + void WirelessDeviceTray::slotUpdateDeviceState(TDENetworkConnectionStatus::TDENetworkConnectionStatus state) { - slotCheckActiveAccessPoint(); - if (state == NM_DEVICE_STATE_ACTIVATED) - { - // trigger an update of the connections seen bssids property + slotCheckActiveAccessPoint(); - TDENetworkWiFiAPInfo * ap = d->dev->getActiveAccessPoint(); + if (state == TDENetworkConnectionStatus::Connected) { + // trigger an update of the connections seen bssids property + TDENetworkConnectionManager* deviceConnMan = d->dev->connectionManager(); + TDENetworkWiFiAPInfo * ap = deviceConnMan->findAccessPointByBSSID(deviceConnMan->deviceInformation().wiFiInfo.activeAccessPointBSSID); if (ap) { - int strength = ap->getStrength(); - - if (strength > 80) - setPixmapForState((TDENetworkConnectionStatus::TDENetworkConnectionStatus)state, "nm_signal_100"); - else if (strength > 55) - setPixmapForState((TDENetworkConnectionStatus::TDENetworkConnectionStatus)state, "nm_signal_75"); - else if (strength > 30) - setPixmapForState((TDENetworkConnectionStatus::TDENetworkConnectionStatus)state, "nm_signal_50"); - else if (strength > 5) - setPixmapForState((TDENetworkConnectionStatus::TDENetworkConnectionStatus)state, "nm_signal_25"); - else - setPixmapForState((TDENetworkConnectionStatus::TDENetworkConnectionStatus)state, "nm_signal_00"); + int strength = (ap->signalQuality*100.0); + + if (strength > 80) { + setPixmapForStates(state, "nm_signal_100"); + } + else if (strength > 55) { + setPixmapForStates(state, "nm_signal_75"); + } + else if (strength > 30) { + setPixmapForStates(state, "nm_signal_50"); + } + else if (strength > 5) { + setPixmapForStates(state, "nm_signal_25"); + } + else { + setPixmapForStates(state, "nm_signal_00"); + } } } } @@ -298,42 +314,64 @@ void WirelessDeviceTray::slotCheckActiveAccessPoint() { // the active AP changed, if a connection is already active we have roamed // thus add the bssid to the list of seen bssids - NMProxy* nm = NMProxy::getInstance(); - if (!nm) - return; - TDEWiFiConnection* active_conn = dynamic_cast(nm->getActiveConnection(d->dev)); - if (active_conn && d->dev->getState() == NM_DEVICE_STATE_ACTIVATED) - { - if ( d->dev->getActiveAccessPoint() != d->activeAccessPoint) { - if (!d->activeAccessPoint.isNull()) - disconnect( d->activeAccessPoint, TQT_SIGNAL(strengthChanged(TQ_UINT8)), this, TQT_SLOT(apStrengthChanged(TQ_UINT8))); + // get the currently active connection + TDEGlobalNetworkManager* nm = KGlobal::networkManager(); + TDENetworkConnectionManager* deviceConnMan = d->dev->connectionManager(); + TDENetworkConnection* active_conn = NULL; + if ((!(deviceConnMan->deviceInformation().statusFlags & TDENetworkConnectionStatus::Disconnected)) + && (!(deviceConnMan->deviceInformation().statusFlags & TDENetworkConnectionStatus::Invalid))) { + active_conn = nm->findConnectionByUUID(deviceConnMan->deviceInformation().activeConnectionUUID); + } + + if (active_conn && deviceConnMan->deviceInformation().statusFlags == TDENetworkConnectionStatus::Connected) { + TDENetworkWiFiAPInfo * activeap = deviceConnMan->findAccessPointByBSSID(deviceConnMan->deviceInformation().wiFiInfo.activeAccessPointBSSID); + if ( activeap != d->activeAccessPoint) { + if (!d->activeAccessPoint.isNull()) { + disconnect( deviceConnMan, TQT_SIGNAL(accessPointStatusChanged(TDEMACAddress, TDENetworkAPEventType::TDENetworkAPEventType)), this, TQT_SLOT(apPropertyChanged(TDEMACAddress, TDENetworkAPEventType::TDENetworkAPEventType))); + } - d->activeAccessPoint = d->dev->getActiveAccessPoint(); + d->activeAccessPoint = activeap; if ( d->activeAccessPoint ) { - connect( d->activeAccessPoint, TQT_SIGNAL(strengthChanged(TQ_UINT8)), this, TQT_SLOT(apStrengthChanged(TQ_UINT8))); - ConnectionSettings::Wireless* wireless = active_conn->getWirelessSetting(); - wireless->addSeenBssid(d->activeAccessPoint->getHwAddress()); + connect( deviceConnMan, TQT_SIGNAL(accessPointStatusChanged(TDEMACAddress, TDENetworkAPEventType::TDENetworkAPEventType)), this, TQT_SLOT(apPropertyChanged(TDEMACAddress, TDENetworkAPEventType::TDENetworkAPEventType))); + TDEWiFiConnection* wireless = dynamic_cast(active_conn); + if (wireless) { + if (!(wireless->heardBSSIDs.contains(d->activeAccessPoint->BSSID))) { + wireless->heardBSSIDs.append(d->activeAccessPoint->BSSID); + } + } } } } } -void WirelessDeviceTray::apStrengthChanged(TQ_UINT8 strength) +void WirelessDeviceTray::apPropertyChanged(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event) { - kdDebug() << k_funcinfo << (uint)strength << endl; - TDENetworkConnectionStatus::TDENetworkConnectionStatus state = device()->getState(); - if (strength > 80) - setPixmapForState(state, "nm_signal_100"); - else if (strength > 55) - setPixmapForState(state, "nm_signal_75"); - else if (strength > 30) - setPixmapForState(state, "nm_signal_50"); - else if (strength > 5) - setPixmapForState(state, "nm_signal_25"); - else - setPixmapForState(state, "nm_signal_00"); - emit uiUpdated(); + if (event == TDENetworkAPEventType::SignalStrengthChanged) { + TDENetworkConnectionManager* deviceConnMan = d->dev->connectionManager(); + TDENetworkWiFiAPInfo * ap = deviceConnMan->findAccessPointByBSSID(BSSID); + if (ap) { + TQ_UINT32 strength = (ap->signalQuality*100.0); + kdDebug() << k_funcinfo << strength << endl; + TDENetworkConnectionStatus::TDENetworkConnectionStatus state = deviceConnMan->deviceInformation().statusFlags; + if (strength > 80) { + setPixmapForStates(state, "nm_signal_100"); + } + else if (strength > 55) { + setPixmapForStates(state, "nm_signal_75"); + } + else if (strength > 30) { + setPixmapForStates(state, "nm_signal_50"); + } + else if (strength > 5) { + setPixmapForStates(state, "nm_signal_25"); + } + else { + setPixmapForStates(state, "nm_signal_00"); + } + emit uiUpdated(); + } + } } void WirelessDeviceTray::slotAccessPointAdded(TDENetworkWiFiAPInfo* ap) @@ -353,11 +391,11 @@ WirelessDeviceTray::WirelessDeviceTray (TDENetworkDevice* dev, KSystemTray * par d->dev = dev; // we want other icons for wireless devices - setPixmapForState(NM_DEVICE_STATE_UNKNOWN, "wireless_off"); - setPixmapForState(NM_DEVICE_STATE_UNAVAILABLE, "wireless_off"); - setPixmapForState(NM_DEVICE_STATE_UNMANAGED, "wireless_off"); - setPixmapForState(NM_DEVICE_STATE_DISCONNECTED, "wireless"); - setPixmapForState(NM_DEVICE_STATE_ACTIVATED, "nm_signal_50"); + setPixmapForState(TDENetworkConnectionStatus::Invalid, "wireless_off"); + setPixmapForState(TDENetworkConnectionStatus::LinkUnavailable, "wireless_off"); + setPixmapForState(TDENetworkConnectionStatus::UnManaged, "wireless_off"); + setPixmapForState(TDENetworkConnectionStatus::Disconnected, "wireless"); + setPixmapForState(TDENetworkConnectionStatus::Connected, "nm_signal_50"); // get notified when the device state changes connect(dev, TQT_SIGNAL(StateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus)), this, TQT_SLOT(slotUpdateDeviceState(TDENetworkConnectionStatus::TDENetworkConnectionStatus))); diff --git a/tdenetworkmanager/src/knetworkmanager-wireless_device_tray.h b/tdenetworkmanager/src/knetworkmanager-wireless_device_tray.h index 4a13548..a987b77 100644 --- a/tdenetworkmanager/src/knetworkmanager-wireless_device_tray.h +++ b/tdenetworkmanager/src/knetworkmanager-wireless_device_tray.h @@ -58,7 +58,7 @@ class WirelessDeviceTray : public DeviceTrayComponent void slotCheckActiveAccessPoint(); void newConnection(); protected slots: - void apStrengthChanged(TQ_UINT8 strength); + void apPropertyChanged(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event); void slotAccessPointAdded(TDENetworkWiFiAPInfo*); void slotAccessPointRemoved(const TQString&); @@ -68,6 +68,7 @@ class WirelessDeviceTray : public DeviceTrayComponent TQValueList getWirelessConnections(); TDEWiFiConnection* findMatchingConnection(const WirelessNetwork& net, const TQValueList& connection); bool findMatchingNetwork(const TDEWiFiConnection* conn, const TQValueList& nets, WirelessNetwork& net); + void setPixmapForStates(TDENetworkConnectionStatus::TDENetworkConnectionStatus states, TQString pixmap); WirelessDeviceTrayPrivate* d; diff --git a/tdenetworkmanager/src/knetworkmanager-wireless_manager.cpp b/tdenetworkmanager/src/knetworkmanager-wireless_manager.cpp index c77d2ad..3238c0a 100644 --- a/tdenetworkmanager/src/knetworkmanager-wireless_manager.cpp +++ b/tdenetworkmanager/src/knetworkmanager-wireless_manager.cpp @@ -45,7 +45,7 @@ #define NM_CHECK_VERSION(x,y,z) 0 #endif -TQValueList WirelessManager::getWirelessNetworks(WirelessDevice* dev, TQ_UINT32 match) +TQValueList WirelessManager::getWirelessNetworks(TDENetworkDevice* dev, TQ_UINT32 match) { TQValueList nets; TQValueList aps; @@ -100,7 +100,7 @@ TQValueList WirelessManager::getWirelessNetworks(WirelessDevice return nets; } -TQValueList WirelessManager::getAccessPoints(WirelessDevice* dev) +TQValueList WirelessManager::getAccessPoints(TDENetworkDevice* dev) { // build up AP list depending on one device or on all devices if (dev) { @@ -118,7 +118,7 @@ TQValueList WirelessManager::getAccessPoints(WirelessDevice* dev) #endif for (TQValueList::Iterator it = devs.begin(); it != devs.end(); ++it) { - WirelessDevice* wdev = dynamic_cast(*it); + TDENetworkDevice* wdev = dynamic_cast(*it); if (!wdev) continue; // add all APs from this device @@ -129,17 +129,17 @@ TQValueList WirelessManager::getAccessPoints(WirelessDevice* dev) } } -TQValueList WirelessManager::getWirelessConnections() +TQValueList WirelessManager::getWirelessConnections() { - TQValueList conns; + TQValueList conns; ConnectionStore* store = ConnectionStore::getInstance(); // get all wireless connections TQValueList connections = store->getConnections(NM_SETTING_WIRELESS_SETTING_NAME); for (TQValueList::Iterator it = connections.begin(); it != connections.end(); ++it) { - // cast to WirelessConnection* - WirelessConnection* wireless_conn = dynamic_cast(*it); + // cast to TDEWiFiConnection* + TDEWiFiConnection* wireless_conn = dynamic_cast(*it); if (!wireless_conn) continue; conns.append(wireless_conn); @@ -147,7 +147,7 @@ TQValueList WirelessManager::getWirelessConnections() return conns; } -TQValueList WirelessManager::getAccessPointsForEssid(TQByteArray essid, WirelessDevice* dev) +TQValueList WirelessManager::getAccessPointsForEssid(TQByteArray essid, TDENetworkDevice* dev) { // build up AP list depending on one device or on all devices if (dev) @@ -165,7 +165,7 @@ TQValueList WirelessManager::getAccessPointsForEssid(TQByteArray e #endif for (TQValueList::Iterator it = devs.begin(); it != devs.end(); ++it) { - WirelessDevice* wdev = dynamic_cast(*it); + TDENetworkDevice* wdev = dynamic_cast(*it); if (!wdev) continue; // add all APs from this device diff --git a/tdenetworkmanager/src/knetworkmanager-wireless_manager.h b/tdenetworkmanager/src/knetworkmanager-wireless_manager.h index ab32ee6..ac49a37 100644 --- a/tdenetworkmanager/src/knetworkmanager-wireless_manager.h +++ b/tdenetworkmanager/src/knetworkmanager-wireless_manager.h @@ -44,16 +44,16 @@ class WirelessManager public: // get all accesspoints from device dev or from all devices if dev is NULL // and group them together using all properties specified in match - static TQValueList getWirelessNetworks(WirelessDevice* dev = 0, TQ_UINT32 match = WirelessNetwork::MATCH_SSID); + static TQValueList getWirelessNetworks(TDENetworkDevice* dev = 0, TQ_UINT32 match = WirelessNetwork::MATCH_SSID); // get all aps from either one device or from all available devices - static TQValueList getAccessPoints(WirelessDevice* dev = 0); + static TQValueList getAccessPoints(TDENetworkDevice* dev = 0); // get a list of all known wireless connections - static TQValueList getWirelessConnections(); + static TQValueList getWirelessConnections(); // get a list of all APs with a specific SSID - static TQValueList getAccessPointsForEssid(TQByteArray, WirelessDevice* dev = 0); + static TQValueList getAccessPointsForEssid(TQByteArray, TDENetworkDevice* dev = 0); }; diff --git a/tdenetworkmanager/src/knetworkmanager-wireless_menuitem.cpp b/tdenetworkmanager/src/knetworkmanager-wireless_menuitem.cpp index 5956e85..dd7fc81 100644 --- a/tdenetworkmanager/src/knetworkmanager-wireless_menuitem.cpp +++ b/tdenetworkmanager/src/knetworkmanager-wireless_menuitem.cpp @@ -45,32 +45,29 @@ #include #include #include -#include - -#include -#include #include "knetworkmanager-wireless_menuitem.h" #include "knetworkmanager-wireless_network.h" #include "knetworkmanager-connection_setting_info.h" -#include "knetworkmanager-wireless_connection.h" -#include "knetworkmanager-nm_proxy.h" using namespace ConnectionSettings; void WirelessNetworkItem::slotActivate() { - NMProxy* nm = NMProxy::getInstance(); - int id; - TQT_DBusError err; + + TDENetworkConnectionManager* deviceConnMan = _dev->connectionManager(); + printf("slotActivate\n\r"); - if (_dev && nm) + if (_dev && deviceConnMan) { if ( _conn ) { - kdDebug() << "Activate Connection " << _conn->getObjectPath().data() << " on Device " << _dev->getObjectPath().ascii() << endl; - if (!nm->ActivateConnectionAsync(id, "org.freedesktop.NetworkManagerUserSettings", _conn->getObjectPath(), TQT_DBusObjectPath(QCString(_dev->getObjectPath())), _conn->getObjectPath(), err)) + kdDebug() << "Activate Connection " << _conn->UUID.ascii() << " on Device " << _dev->deviceNode().ascii() << endl; + TDENetworkConnectionStatus::TDENetworkConnectionStatus result = deviceConnMan->initiateConnection(_conn->UUID); + if ((result == TDENetworkConnectionStatus::Disconnected) + || (result == TDENetworkConnectionStatus::Invalid)) { kdDebug() << "ActivateDevice failed" << endl; + } } else @@ -85,21 +82,22 @@ void WirelessNetworkItem::slotActivate() TQString WirelessNetworkItem::getDisplayText() { TQString security = ""; - if (_net.getWpaFlags() != NM_802_11_AP_SEC_NONE && _net.getRsnFlags() != NM_802_11_AP_SEC_NONE) + if (((_net.getWpaFlags() & TDENetworkWiFiAPFlags::EncryptionFlagsMask) != TDENetworkWiFiAPFlags::None) && ((_net.getRsnFlags() & TDENetworkWiFiAPFlags::EncryptionFlagsMask) != TDENetworkWiFiAPFlags::None)) { security = TQString("(%1/%2)").arg(i18n("WPA")).arg(i18n("RSN")); - else if (_net.getWpaFlags() != NM_802_11_AP_SEC_NONE) + } + else if ((_net.getWpaFlags() & TDENetworkWiFiAPFlags::EncryptionFlagsMask) != TDENetworkWiFiAPFlags::None) { security = TQString("(%1)").arg(i18n("WPA")); - else if (_net.getRsnFlags() != NM_802_11_AP_SEC_NONE) + } + else if ((_net.getRsnFlags() & TDENetworkWiFiAPFlags::EncryptionFlagsMask) != TDENetworkWiFiAPFlags::None) { security = TQString("(%2)").arg(i18n("RSN")); + } - Info* info = NULL; - if (_conn) - info = _conn->getInfoSetting(); - - if (info && info->getName() != _net.getDisplaySsid()) - return TQString("%2/%1 %3").arg(TQString::fromUtf8(_net.getDisplaySsid())).arg(info->getName()).arg(security); - else + if (_conn && (_conn->friendlyName != _net.getDisplaySsid())) { + return TQString("%2/%1 %3").arg(TQString::fromUtf8(_net.getDisplaySsid())).arg(_conn->friendlyName).arg(security); + } + else { return TQString("%1 %2").arg(TQString::fromUtf8(_net.getDisplaySsid())).arg(security); + } } void @@ -140,7 +138,7 @@ WirelessNetworkItem::sizeHint () return TQSize (_width, _height); } -WirelessNetworkItem::WirelessNetworkItem (TQWidget* p, TDENetworkDevice* dev, WirelessNetwork& net, WirelessConnection* conn, bool adhoc) +WirelessNetworkItem::WirelessNetworkItem (TQWidget* p, TDENetworkDevice* dev, WirelessNetwork& net, TDEWiFiConnection* conn, bool adhoc) : NetworkMenuItem(dev, conn, 0, 0 ), TQCustomMenuItem () { parent = p; diff --git a/tdenetworkmanager/src/knetworkmanager-wireless_menuitem.h b/tdenetworkmanager/src/knetworkmanager-wireless_menuitem.h index 1021cc6..960258e 100644 --- a/tdenetworkmanager/src/knetworkmanager-wireless_menuitem.h +++ b/tdenetworkmanager/src/knetworkmanager-wireless_menuitem.h @@ -51,7 +51,7 @@ class WirelessNetworkItem : public NetworkMenuItem, public TQCustomMenuItem Q_OBJECT public: - WirelessNetworkItem (TQWidget*, TDENetworkDevice* dev, WirelessNetwork& net, ConnectionSettings::WirelessConnection* conn, bool adhoc); + WirelessNetworkItem (TQWidget*, TDENetworkDevice* dev, WirelessNetwork& net, TDEWiFiConnection* conn, bool adhoc); WirelessNetworkItem (TQWidget*, TDENetworkDevice* dev, WirelessNetwork& net, bool adhoc); ~WirelessNetworkItem (); @@ -70,7 +70,7 @@ class WirelessNetworkItem : public NetworkMenuItem, public TQCustomMenuItem bool _adhoc; WirelessNetwork _net; TDENetworkDevice* _dev; - ConnectionSettings::WirelessConnection* _conn; + TDEWiFiConnection* _conn; /* menu item */ int _width; diff --git a/tdenetworkmanager/src/knetworkmanager-wireless_network.cpp b/tdenetworkmanager/src/knetworkmanager-wireless_network.cpp index ba509dd..66eded2 100644 --- a/tdenetworkmanager/src/knetworkmanager-wireless_network.cpp +++ b/tdenetworkmanager/src/knetworkmanager-wireless_network.cpp @@ -121,9 +121,9 @@ TQString WirelessNetwork::getDisplaySsid() const } } -TQ_UINT32 WirelessNetwork::getFlags() const +TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags WirelessNetwork::getFlags() const { - TQ_UINT32 flags = NM_802_11_AP_FLAGS_NONE; + TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags flags = TDENetworkWiFiAPFlags::None; for (TQValueList::Iterator it = d->aps.begin(); it != d->aps.end(); ++it) { flags |= (*it)->getFlags(); @@ -131,9 +131,9 @@ TQ_UINT32 WirelessNetwork::getFlags() const return flags; } -TQ_UINT32 WirelessNetwork::getWpaFlags() const +TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags WirelessNetwork::getWpaFlags() const { - TQ_UINT32 flags = NM_802_11_AP_SEC_NONE; + TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags flags = TDENetworkWiFiAPFlags::None; for (TQValueList::Iterator it = d->aps.begin(); it != d->aps.end(); ++it) { flags |= (*it)->getWpaFlags(); @@ -141,9 +141,9 @@ TQ_UINT32 WirelessNetwork::getWpaFlags() const return flags; } -TQ_UINT32 WirelessNetwork::getRsnFlags() const +TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags WirelessNetwork::getRsnFlags() const { - TQ_UINT32 flags = NM_802_11_AP_SEC_NONE; + TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags flags = TDENetworkWiFiAPFlags::None; for (TQValueList::Iterator it = d->aps.begin(); it != d->aps.end(); ++it) { flags |= (*it)->getRsnFlags(); @@ -153,7 +153,7 @@ TQ_UINT32 WirelessNetwork::getRsnFlags() const bool WirelessNetwork::isEncrypted() const { - return (getFlags() && NM_802_11_AP_FLAGS_PRIVACY); + return (getFlags() & TDENetworkWiFiAPFlags::PrivacySupport); } TQ_UINT8 WirelessNetwork::getStrength() const diff --git a/tdenetworkmanager/src/knetworkmanager-wireless_network.h b/tdenetworkmanager/src/knetworkmanager-wireless_network.h index 9fcf809..ff3c09b 100644 --- a/tdenetworkmanager/src/knetworkmanager-wireless_network.h +++ b/tdenetworkmanager/src/knetworkmanager-wireless_network.h @@ -61,13 +61,13 @@ class WirelessNetwork bool addAP(const AccessPoint * const); // combined flags of all APs - TQ_UINT32 getFlags() const; + TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags getFlags() const; // combined wpa-flags of all APs - TQ_UINT32 getWpaFlags() const; + TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags getWpaFlags() const; // combined rsn-flags of all APs - TQ_UINT32 getRsnFlags() const; + TDENetworkWiFiAPFlags::TDENetworkWiFiAPFlags getRsnFlags() const; // ssid of all APs const TQByteArray getSsid() const;