The system consists of 3 classes of components: 1) Network service applications Responsible for reporting the status of the system's network connection(s). May be a KDE app or anything (including a system networking script) that can talk DBus. These are responsible for registering networks with, and updating their status at: 2) KDED Module - networkstatus Hub of the system. Implements two DBus interfaces at org.kde.kded /modules/networkstatus, org.kde.Solid.Networking.Service (for use by service applications, above) and org.kde.Solid.Networking.Client (for client apps, below) networkstatus knows of the status of any networks registered with it, which it aggregates and reports the most connected status onwards, to: 3) Network client applications { Regular KDE applications which need to use the network. These either listen directly to org.kde.kded /modules/networkstatus' signals, or use the Solid::Networking namespaces' functions and notifier() object to react to network status changes. UI Components The KIO library contains a widget, KStatusBarOfflineIndicator, which is intended for use in applications' status bars. This widget shows itself when the system is offline, and hides itself when the system is connected. KConnectionManager As well as signalling status changes, Solid::Networking can signal when an app should connect, and should disconnect, based on a ConnectionPolicy setting. Layout kdelibs/solid/solid/networking.* Main client app facing functions kdelibs/kio/kio/ksstatusbarofflineindicator.* Status bar widget kdebase/workspace/solid/networking KDED module, service definition and this file. Test service and client GUI applications which make it easy to simulate network events and observe their effect on a client (which has a queued/autoconnect function with its simulated network usage). Final destination: kdebase/runtime/solid kdebase/workspace/libs/solid/control Library for writing network control applications. Provides the interface for pluggable backends addressing different platforms' networking subsystems. As of KDE 4.0 the control function is incomplete and only the network status reporting functions is completely specified. kdebase/workspace/solid/networkmanager-* Backends for different NetworkManager versions.