Backend for Notifications NG
Backend items for notification ng. Backend will provide a fully tested API that can be utilized to render notifications on screen.
Blueprint information
- Status:
- Complete
- Approver:
- Thomas Strehl
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Jussi Pakkanen
- Definition:
- Approved
- Series goal:
- Proposed for saucy
- Implementation:
- Implemented
- Milestone target:
- ubuntu-13.05
- Started by
- Jussi Pakkanen
- Completed by
- Thomas Strehl
Whiteboard
By end of March there will be a version that receives notifications, queues them, exposes the relevant ones to the renderer. It might not follow all the rules of notification ordering but will support most.
Capturing an outline of object structure/
http://
http://
Performance target: no operation (including pushing the maximum of 50 notifications at once) may take more than 0.01 seconds total.
From previous discussions ----snip----
--- backend --- (C++ w/ some qml, but it's up to Jussi)
NotificationSou
NotificationH
queue (of Notifications)
displayed_queue (of Notifications passed to the NotificationRen
--- frontend --- (all QML)
Notificatio
signal statusChanged()
bool DisplayNotifica
-------
Next iteration for notifications is the extension with sounds and haptics. Sound is to some degree already covered in the hints entity of the freedesktop notification definition. As hints can be extended adding haptics shouldn't be a problem. Classic example for a notification utilizing sound and haptics is reception of SMS. The implementation on shell side depends on sound/haptics platform APIs.
Work Items
Work items for ubuntu-
[jpakkane] Collect and clarify requirements from frontend developers and design: DONE
[jpakkane] Design new architecture: DONE
[jpakkane] create a base class Action that a NotificationSource can then implement: DONE
[saviq] Review and agree on architecture of Notifications backend: DONE
[jpakkane] Create a NotificationModel manage the Notification queue and notification states, e.g. displayed, hover, timers etc: DONE
[jpakkane] create a Notification that had all the characteristics, e.g. icons, body, summary, and has: DONE
[jpakkane] create a NotificationSource to wrap dbus & construct Notifications: DONE
[jpakkane] Define public API ("internal" API uitilized by frontend/renderer): DONE
[jpakkane] Implement backend and public APIs: DONE
Dependency tree
* Blueprints in grey have been implemented.