summaryrefslogtreecommitdiffstats
path: root/tools/dbus-launch.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/dbus-launch.c')
-rw-r--r--tools/dbus-launch.c89
1 files changed, 89 insertions, 0 deletions
diff --git a/tools/dbus-launch.c b/tools/dbus-launch.c
new file mode 100644
index 00000000..b21c7e9d
--- /dev/null
+++ b/tools/dbus-launch.c
@@ -0,0 +1,89 @@
+/* -*- mode: C; c-file-style: "gnu" -*- */
+/* dbus-launch.c dbus-launch utility
+ *
+ * Copyright (C) 2003 Red Hat, Inc.
+ *
+ * Licensed under the Academic Free License version 1.2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+#include <config.h>
+#include <dbus/dbus.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <sys/wait.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#ifdef DBUS_BUILD_X11
+#include <X11/Xlib.h>
+#endif
+
+static void
+usage (void)
+{
+ fprintf (stderr, "dbus-launch [--version] [--exit-with-session]\n");
+ exit (1);
+}
+
+static void
+version (void)
+{
+ printf ("D-BUS Message Bus Launcher %s\n"
+ "Copyright (C) 2003 Red Hat, Inc.\n"
+ "This is free software; see the source for copying conditions.\n"
+ "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n",
+ VERSION);
+ exit (0);
+}
+
+int
+main (int argc, char **argv)
+{
+ const char *prev_arg;
+ dbus_bool_t exit_with_session;
+ int i;
+
+ exit_with_session = FALSE;
+
+ prev_arg = NULL;
+ i = 1;
+ while (i < argc)
+ {
+ const char *arg = argv[i];
+
+ if (strcmp (arg, "--help") == 0 ||
+ strcmp (arg, "-h") == 0 ||
+ strcmp (arg, "-?") == 0)
+ usage ();
+ else if (strcmp (arg, "--version") == 0)
+ version ();
+ else if (strcmp (arg, "--exit-with-session") == 0)
+ exit_with_session = TRUE;
+ else
+ usage ();
+
+ prev_arg = arg;
+
+ ++i;
+ }
+
+
+
+ return 0;
+}