summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-09-05 15:01:20 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-09-05 15:01:20 -0500
commit0216dae757a1ae8e4971b00b0c79fbafb33bbd57 (patch)
tree36a4910508e7d205578c4f04a6e0280cf91a962a
parent60ee06f236470525bb1bb0094fb6b2a8701533b6 (diff)
downloadtdelibs-0216dae757a1ae8e4971b00b0c79fbafb33bbd57.tar.gz
tdelibs-0216dae757a1ae8e4971b00b0c79fbafb33bbd57.zip
Make access point notifications more extensible
-rw-r--r--tdecore/networkbackends/network-manager/network-manager.cpp9
-rw-r--r--tdecore/tdenetworkconnections.cpp4
-rw-r--r--tdecore/tdenetworkconnections.h24
3 files changed, 26 insertions, 11 deletions
diff --git a/tdecore/networkbackends/network-manager/network-manager.cpp b/tdecore/networkbackends/network-manager/network-manager.cpp
index 2671ac57b..d6db41565 100644
--- a/tdecore/networkbackends/network-manager/network-manager.cpp
+++ b/tdecore/networkbackends/network-manager/network-manager.cpp
@@ -1199,7 +1199,7 @@ void TDENetworkConnectionManager_BackendNMPrivate::internalProcessDeviceStateCha
void TDENetworkConnectionManager_BackendNMPrivate::internalProcessWiFiAccessPointAdded(const TQT_DBusObjectPath& dbuspath) {
TDENetworkWiFiAPInfo* apInfo = m_parent->getAccessPointDetails(dbuspath);
if (apInfo) {
- m_parent->internalAccessPointVisibilityChanged(apInfo->BSSID, TRUE);
+ m_parent->internalAccessPointStatusChanged(apInfo->BSSID, TDENetworkAPEventType::Discovered);
delete apInfo;
}
}
@@ -1207,11 +1207,16 @@ void TDENetworkConnectionManager_BackendNMPrivate::internalProcessWiFiAccessPoin
void TDENetworkConnectionManager_BackendNMPrivate::internalProcessWiFiAccessPointRemoved(const TQT_DBusObjectPath& dbuspath) {
TDENetworkWiFiAPInfo* apInfo = m_parent->getAccessPointDetails(dbuspath);
if (apInfo) {
- m_parent->internalAccessPointVisibilityChanged(apInfo->BSSID, FALSE);
+ m_parent->internalAccessPointStatusChanged(apInfo->BSSID, TDENetworkAPEventType::Lost);
delete apInfo;
}
}
+// FIXME
+// If access point strength changes, this must be called:
+// m_parent->internalAccessPointStatusChanged(apInfo->BSSID, TDENetworkAPEventType::Lost);
+// How do I get NetworkManager to notify me when an access point changes strength? Do I have to poll it for this information?
+
TDENetworkDeviceType::TDENetworkDeviceType TDENetworkConnectionManager_BackendNM::deviceType() {
if (m_macAddress == "") {
return TDENetworkDeviceType::BackendOnly;
diff --git a/tdecore/tdenetworkconnections.cpp b/tdecore/tdenetworkconnections.cpp
index 67cca7f5f..2e35cb6c8 100644
--- a/tdecore/tdenetworkconnections.cpp
+++ b/tdecore/tdenetworkconnections.cpp
@@ -716,8 +716,8 @@ void TDENetworkConnectionManager::internalNetworkDeviceStateChanged(TDENetworkCo
m_prevDeviceStatus[hwAddress] = newState;
}
-void TDENetworkConnectionManager::internalAccessPointVisibilityChanged(TDEMACAddress BSSID, bool detected) {
- emit(accessPointVisibilityChanged(BSSID, detected));
+void TDENetworkConnectionManager::internalAccessPointStatusChanged(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event) {
+ emit(accessPointStatusChanged(BSSID, event));
}
/*================================================================================================*/
diff --git a/tdecore/tdenetworkconnections.h b/tdecore/tdenetworkconnections.h
index 720b93378..3bff2e5db 100644
--- a/tdecore/tdenetworkconnections.h
+++ b/tdecore/tdenetworkconnections.h
@@ -176,6 +176,16 @@ namespace TDENetworkSlaveDeviceType {
};
};
+namespace TDENetworkAPEventType {
+ enum TDENetworkAPEventType {
+ Discovered,
+ Lost,
+ SignalStrengthChanged,
+ Other,
+ Last = Other
+ };
+};
+
namespace TDENetworkGlobalManagerFlags {
enum TDENetworkGlobalManagerFlags {
Unknown = 0x00000000,
@@ -1045,10 +1055,10 @@ class TDECORE_EXPORT TDENetworkConnectionManager : public TQObject
void networkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus newState, TDENetworkConnectionStatus::TDENetworkConnectionStatus previousState, TQString hwAddress);
/**
- * Emitted whenever a wireless access point is detected or lost
- * If a new access point was detected, @param detected will be set to TRUE, otherwise if lost it will be set to FALSE
+ * Emitted whenever the status of a wireless access point changes
+ * The event type that caused the signal is available in @param event
*/
- void accessPointVisibilityChanged(TDEMACAddress BSSID, bool detected);
+ void accessPointStatusChanged(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event);
public:
/**
@@ -1095,7 +1105,7 @@ class TDECORE_EXPORT TDENetworkConnectionManager : public TQObject
void clearTDENetworkHWNeighborList();
void internalNetworkConnectionStateChanged(TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags newState);
void internalNetworkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus newState, TQString hwAddress=TQString::null);
- void internalAccessPointVisibilityChanged(TDEMACAddress BSSID, bool detected);
+ void internalAccessPointStatusChanged(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event);
protected:
TDENetworkConnectionList* m_connectionList;
@@ -1235,10 +1245,10 @@ class TDECORE_EXPORT TDEGlobalNetworkManager : public TQObject
void networkDeviceStateChanged(TDENetworkConnectionStatus::TDENetworkConnectionStatus newState, TDENetworkConnectionStatus::TDENetworkConnectionStatus previousState, TQString hwAddress);
/**
- * Emitted whenever a wireless access point is detected or lost
- * If a new access point was detected, @param detected will be set to TRUE, otherwise if lost it will be set to FALSE
+ * Emitted whenever the status of a wireless access point changes
+ * The event type that caused the signal is available in @param event
*/
- void accessPointVisibilityChanged(TDEMACAddress BSSID, bool detected);
+ void accessPointStatusChanged(TDEMACAddress BSSID, TDENetworkAPEventType::TDENetworkAPEventType event);
public:
/**