When calling D-Bus methods, three fields are required:
* The bus name, which is what applications own when they
want to expose themselves to D-Bus;
* The object path, which represents a D-Bus object exported
under a bus name;
* The interface, which holds the methods and signals;
While out of pure coincidence all the D-Bus buses have a
matching interface name, it is technically incorrect to assume
that.
Add a new 'interface' field to service_info, and split the bus
name.
GDBus is more and better maintained than libdbus these days. In the
future, a potential Wayland-compatible capture plugin will need to
interact with D-Bus in a way that's way too complicated for libdbus,
and it won't be nice to have both libraries talking to the D-Bus
socket.
Replace the libdbus usage by GDBus. As it turns out, it results in less
code.
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed. Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
These fucntions prevent the computer from going to sleep, hibernating,
or starting up a screen saver.
On linux, it will also attempt to use DBus to prevent gnome/kde/etc
sleep, but it's not necessarily required in order to compile the
library. Otherwise, it will simply call "xdg-screensaver reset" once
every 30 seconds to reset the screensaver timer.