| #include <config.h> |
| #include <dbus/dbus.h> |
| |
| #define DBUS_COMPILATION /* cheat and use dbus-sysdeps */ |
| #include <dbus/dbus-sysdeps.h> |
| #include <dbus/dbus-spawn.h> |
| #undef DBUS_COMPILATION |
| #include <stdio.h> |
| |
| static void |
| setup_func (void *data) |
| { |
| printf ("entering setup func.\n"); |
| } |
| |
| int |
| main (int argc, char **argv) |
| { |
| char **argv_copy; |
| int i; |
| DBusError error; |
| |
| if (argc < 2) |
| { |
| fprintf (stderr, "You need to specify a program to launch.\n"); |
| |
| return -1; |
| } |
| |
| argv_copy = dbus_new (char *, argc); |
| for (i = 0; i < argc - 1; i++) |
| argv_copy [i] = argv[i + 1]; |
| argv_copy[argc - 1] = NULL; |
| |
| if (!_dbus_spawn_async_with_babysitter (NULL, argv_copy, NULL, setup_func, NULL, &error)) |
| { |
| fprintf (stderr, "Could not launch application: \"%s\"\n", |
| error.message); |
| } |
| |
| dbus_free(argv_copy); |
| |
| return 0; |
| } |