Instead of doing this, pass the DBusManager to ApplicationServiceProvider constructor in Linux. And remove the new added accessor.

Move the factory function to inside ApplicationSystem so that you have access to the DBusManager to pass. That factory function will contain ifdefs in it's body simply to instantiate the correct subclass.