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 | +----------+