I want to use a tool in my program . eg, org.cinnamon.ScreenSaver
I can invoke shell command directly in C by using
system("cinnamon-screensaver-command --lock")
Or using dbus, require session bus, eg "/org/cinnamon/ScreenSaver", then invoke method "Lock()".
I know using dbus is more graceful in gnome than system(), but I don't know the main advantage about it.