We have output-device, output and xdg-output classes that need to be created all on their own by the compositor. In reality though they act always together with the output-device class being the one that exists over the whole time an output is connected.
We can just use that one as a "master output class" (we can rename it to output) and provide API in there to do all the things that wl_output and xdg-output need. These are then created internally instead of explicitly by the compositor.
We have output-device, output and xdg-output classes that need to be created all on their own by the compositor. In reality though they act always together with the output-device class being the one that exists over the whole time an output is connected.
We can just use that one as a "master output class" (we can rename it to output) and provide API in there to do all the things that wl_output and xdg-output need. These are then created internally instead of explicitly by the compositor.