ASCII art diagram of the above:
+----------+ +-------+ +-------+
| | | | | |
| calendar | | clock | | app X |
| | | | | |
====================================== libalarm.h
| |
| libalarm |
| |
+----------+
^
|
==z=== D-Bus
|
v
+---------+
| | +---------+
| |<-----------| snooze |
| | +---------+
| alarmd | ^
| | |
+-------+ | | +------------------+
| alarm |<-->| |----------->| alarm action |
| queue | +---------+ +------------------+
| file | ^ | ^ | |
+-------+ | | | exec ==z== ==z== D-Bus
| | | | |
| | | v v
ioctl ===z== ==z=z=== D-Bus +---------+ +-------------+
| | | | | | dbus signal |
v v | | command | | or method |
+----------+ +----------+ | | | call |
| | | systemui | +---------+ +-------------+
| /dev/rtc | | dialog |
| | | service |
+----------+ +----------+
^
|
==z=== Touchscreen
|
v
+----------+
| response |
| from the |
| user |
+----------+
1.5.1