fix tricky regression noticed by Vyacheslav Tokarev on Google Reader.
[kdelibs.git] / solid / TODO
blobce8f84cf3ec22c931f2bbf4719b00852fd90c719
1 Temporary Roadmap before inclusion in trunk
3 Mn : Milestone n
4 - : done
5 + : to do
6 # : in progress
7 ! : cancelled or postponed
9 Inception Phase
10 ---------------
12 M1 Architecture design and quick prototyping
13 - Prepare architecture view for handling hardware discovery, power management and
14   networking (done)
15 - Prepare a high level model for hardware handling (done)
16 - Implement partly (no capability support) this high level model using HAL as
17   backend (done)
18 - Make a tiny 'lshal' clone using the implementation (done)
20 M2 Cleaning up and preparing construction
21 - Fully document implemented classes and methods
22 - Split out the HAL specific code in its own backend
23 - Implement the stub backend for unit testing
24 - First unit tests
25 - Syncing with D-BUS, HAL and KDE latest version
26 - Add unit tests in the HAL backend
29 Construction Phase
30 ------------------
31 From here, a feature is considered implemented when:
32 1) The classes and methods are fully documented
33 2) Unit tests for the feature are implemented
35 M3 Completing hardware handling
36 ! Implement bus specific data gathering in the backends:
37         Postpone? might not be useful...
38 - Implement job support for slow operations (mount/umount for example)
39         - Reuse the Job logic from KIO, provides progress, etc.
40         - Means that we'll have to track the refactoring that will happen there
41           KIO::Job should become more generic in the future (KJob is in now in
42           kdecore)
43 - Implement support for the first capabilities
44 -   Storage and Cdrom
45 -   Volume and Disc
46 -   Camera
47 -   PortableMediaPlayer
49 M4 Network Management
50 - Select a first backend target : NetworkManager is the current candidate
51 - Prepare a high-level model
52 - Implement support for the following capabilities in the hardware layer
53 -   NetworkHw (handle both Ethernet and Wireless)
54 # Implement the network management model and the first backend
56 M5 Power Management
57 - Prepare a high-level model
58 ! Implement suspend/resume notification and inhibit
59 - Implement support for the following capabilities in the hardware layer
60 -   AcAdaptor
61 -   Battery
62 -   Button
63 - Implement the power management model and the first backend
65 M6 Migration to trunk
66 - Clean up code and comments
67 + Prepare documentation about how to work with this new framework
68 - Add even more unit tests if appropriate
69 - Merge to trunk
71 M7 Make use of it
72 + Port the mediamanager and the medianotifier to this framework
73 + Make a Plasma Engine to encapsulate this framework
74 + Reimplement the media applet using the new engine
76 Stop a bit... And rethink the way the user will be able to interact with the hardware.
77 If we reach M7 we'll have a strong base to create a great new interaction model with
78 the hardware.