diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-11-29 20:07:31 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-11-29 20:07:31 -0600 |
commit | 9e5d27963b3bf1b0a2d76ef165616fdfaf58b825 (patch) | |
tree | 9cc996e374d092b40851fc5c7857a1479bf141f8 /tdecore/tdenetworkconnections.h | |
parent | 2277bfa0d62d052c5a1fa42425ed6ed23d1cc96d (diff) | |
download | tdelibs-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.h | 40 |
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 |