summaryrefslogtreecommitdiffstats
path: root/tdecore/tdenetworkconnections.h
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-11-29 20:07:31 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-11-29 20:07:31 -0600
commit9e5d27963b3bf1b0a2d76ef165616fdfaf58b825 (patch)
tree9cc996e374d092b40851fc5c7857a1479bf141f8 /tdecore/tdenetworkconnections.h
parent2277bfa0d62d052c5a1fa42425ed6ed23d1cc96d (diff)
downloadtdelibs-9e5d27963b3bf1b0a2d76ef165616fdfaf58b825.tar.gz
tdelibs-9e5d27963b3bf1b0a2d76ef165616fdfaf58b825.zip
Fix various performance and stability issues in the network-manager backend
Diffstat (limited to 'tdecore/tdenetworkconnections.h')
-rw-r--r--tdecore/tdenetworkconnections.h40
1 files changed, 39 insertions, 1 deletions
diff --git a/tdecore/tdenetworkconnections.h b/tdecore/tdenetworkconnections.h
index b1e02ce9d..b8425196a 100644
--- a/tdecore/tdenetworkconnections.h
+++ b/tdecore/tdenetworkconnections.h
@@ -990,6 +990,29 @@ class TDECORE_EXPORT TDEModemConnection : public TDENetworkConnection
typedef TQPtrList< TDENetworkConnection > TDENetworkConnectionList;
+/**
+* INTERNAL CLASS
+*/
+class TDENetworkEventQueueEvent_Private
+{
+ public:
+ int eventType;
+ TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags newState;
+ TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags previousState;
+ TDENetworkConnectionStatus::TDENetworkConnectionStatus newConnStatus;
+ TDENetworkConnectionStatus::TDENetworkConnectionStatus previousConnStatus;
+ TDEMACAddress BSSID;
+ TQString message;
+ TQString hwAddress;
+ TDENetworkAPEventType::TDENetworkAPEventType apevent;
+ TDENetworkDeviceEventType::TDENetworkDeviceEventType ndevent;
+ TDENetworkVPNEventType::TDENetworkVPNEventType vpnevent;
+ TDENetworkGlobalEventType::TDENetworkGlobalEventType globalevent;
+};
+typedef TQValueList<TDENetworkEventQueueEvent_Private> TDENetworkEventQueueEvent_PrivateList;
+
+class TQTimer;
+
class TDECORE_EXPORT TDENetworkConnectionManager : public TQObject
{
Q_OBJECT
@@ -1024,11 +1047,21 @@ class TDECORE_EXPORT TDENetworkConnectionManager : public TQObject
virtual TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags backendStatus() = 0;
/**
- * @return A TDENetworkDeviceInformation object containing the current status of the network device.
+ * @return A TDENetworkDeviceInformation object containing the current configuration and status of the network device.
*/
virtual TDENetworkDeviceInformation deviceInformation() = 0;
/**
+ * @return A TDENetworkDeviceInformation object containing a (limited) current status of the network device.
+ * Only the following object fields are populated:
+ * statusFlags
+ * UUID
+ * activeConnectionUUID
+ * valid
+ */
+ virtual TDENetworkDeviceInformation deviceStatus() = 0;
+
+ /**
* Loads all connection information from the configuration backend
* Secret information must be loaded separately via a call to
* loadConnectionSecrets(TQString uuid) after this method has been
@@ -1311,12 +1344,17 @@ class TDECORE_EXPORT TDENetworkConnectionManager : public TQObject
*/
void internalNetworkManagementEvent(TDENetworkGlobalEventType::TDENetworkGlobalEventType event);
+ protected slots:
+ void emitQueuedSignals();
+
protected:
TDENetworkConnectionList* m_connectionList;
TDENetworkHWNeighborList* m_hwNeighborList;
TQString m_macAddress;
TDENetworkGlobalManagerFlags::TDENetworkGlobalManagerFlags m_prevConnectionStatus;
TQMap<TQString, TDENetworkConnectionStatus::TDENetworkConnectionStatus> m_prevDeviceStatus;
+ TQTimer* m_emissionTimer;
+ TDENetworkEventQueueEvent_PrivateList m_globalEventQueueEventList;
};
class TDECORE_EXPORT TDEGlobalNetworkManager : public TQObject