On Fri Oct 25 17:14:05 2024 +0000, Elizabeth Figura wrote:
Why do you need two levels of enums to specify event types?
The events have two distinct sources. `WATCHER_EVENT` only come from BlueZ signals sent on DBus, so are generated only in `bluez_filter` here: https://gitlab.winehq.org/vibhavp/wine/-/blob/ba7975632337d4c5cb87896d242e5d....
`AUTH_EVENT` events are, again, only generated when BlueZ makes method calls to our authentication agent, i.e, from these methods: https://gitlab.winehq.org/vibhavp/wine/-/blob/ba7975632337d4c5cb87896d242e5d...
The motivation behind two enum levels is to indicate that the event types exist in two mutually exclusive categories, the idea being that the handling code can be sufficiently separated into separate functions to preempt the possibility of a `PropertiesChanged` event for a Device object mistakenly finding its way/falling through into auth code.