1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
/* $Id: main.c 21064 2006-04-18 19:35:58Z benny $ */
/*-
* Copyright (c) 2004-2005 Benedikt Meurer <benny@xfce.org>
* All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <libxfce4util/libxfce4util.h>
static void
usage (gboolean error)
{
FILE *fp = error ? stderr : stdout;
fprintf (fp,
"Usage: xfce4-kiosk-query [OPTION...] <module> <capability>...\n"
"\n"
"Options:\n"
" -h Print this help screen\n"
" -v Show version information\n"
"\n"
"Queries the given capabilities of <module> for the current user\n"
"and reports whether the user has the capabilities or not. This\n"
"tool is mainly ment for system administrators to test their\n"
"Kiosk setup.\n");
exit (error ? EXIT_FAILURE : EXIT_SUCCESS);
}
int
main (int argc, char **argv)
{
const gchar *module;
XfceKiosk *kiosk;
int ch;
int n;
while ((ch = getopt (argc, argv, "hv")) != -1)
{
switch (ch)
{
case 'v':
printf ("xfce4-kiosk-query %s (Xfce %s)\n\n"
"Copyright (c) 2003-2004\n"
" The Xfce development team. All rights reserved.\n"
"Written for Xfce by Benedikt Meurer <benny@xfce.org>.\n\n"
"Please report bugs to <%s>.\n",
PACKAGE_VERSION, xfce_version_string (), PACKAGE_BUGREPORT);
return EXIT_SUCCESS;
case 'h':
default:
usage (ch != 'h');
}
}
argc -= optind;
argv += optind;
if (argc < 2)
usage (TRUE);
module = argv[0];
printf ("MODULE \"%s\"\n", module);
kiosk = xfce_kiosk_new (module);
for (n = 1; n < argc; ++n)
{
if (xfce_kiosk_query (kiosk, argv[n]))
printf (" CAP \"%s\" = ALLOWED\n", argv[n]);
else
printf (" CAP \"%s\" = DENIED\n", argv[n]);
}
return EXIT_SUCCESS;
}
|