~ubuntu-branches/ubuntu/natty/kdebase-runtime/natty-proposed

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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.