2002-08-06 Darren Kenny <darren.kenny@sun.com>
authoreire <eire@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Tue, 6 Aug 2002 14:55:33 +0000 (14:55 +0000)
committereire <eire@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Tue, 6 Aug 2002 14:55:33 +0000 (14:55 +0000)
* test/event-listener-test.c:
Added command-line options to disable mouse events (m) and
show usage (h).

git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@329 e2bd861d-eb25-0410-b326-f6ed22b6b98c

ChangeLog
test/event-listener-test.c

index 05afb31..d8abdfd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-08-06  Darren Kenny  <darren.kenny@sun.com>
+
+       * test/event-listener-test.c: 
+       Added command-line options to disable mouse events (m) and
+       show usage (h). 
+
 2002-07-31  Padraig O'Briain  <padraig.obriain@sun.com>
 
        * configure.in: Update required versions of ATK, GTK+ and GAIL
index bed7264..ebe0b59 100644 (file)
@@ -21,6 +21,7 @@
  */
 
 #include <stdlib.h>
+#include <unistd.h>
 #include "../cspi/spi-private.h" /* A hack for now */
 
 static void traverse_accessible_tree (Accessible *accessible);
@@ -35,10 +36,22 @@ static AccessibleEventListener *test_listener;
 static gint n_elements_traversed = 0;
 static GTimer *timer;
 
+static gboolean report_mouse_events = TRUE;
+
+void 
+usage_and_exit( void )
+{
+  g_print("\nUsage: event-listener-test [-h] [-m]\n");
+  g_print("       -h    : prints this usage message.\n");
+  g_print("       -m    : disable mouse event reporting.\n\n");
+
+  exit( 1 );
+}
+
 int
 main (int argc, char **argv)
 {
-  int i, j;
+  int i, j, c;
   int n_desktops;
   int n_apps;
   char *s;
@@ -47,6 +60,23 @@ main (int argc, char **argv)
   Accessible *application;
   const char *modules;
 
+  /* Parse Command-line */
+  if ( argc > 1 ) {
+      while ( ( c = getopt( argc, argv, "hm")) != EOF ) {
+          switch( c ) {
+              case 'm':
+                  report_mouse_events = FALSE;
+                  break;
+              default:
+                  usage_and_exit();
+                  break;
+          }
+      }
+      if ( optind < argc ) {
+          usage_and_exit();
+      }
+  }
+
   SPI_init ();
 
   generic_listener = SPI_createAccessibleEventListener (
@@ -58,12 +88,14 @@ main (int argc, char **argv)
 
   SPI_registerGlobalEventListener (generic_listener,
                                   "focus:");
-  SPI_registerGlobalEventListener (specific_listener,
-                                  "mouse:rel");
-  SPI_registerGlobalEventListener (specific_listener,
-                                  "mouse:button");
-  SPI_registerGlobalEventListener (specific_listener,
-                                  "mouse:abs");
+  if ( report_mouse_events ) {
+      SPI_registerGlobalEventListener (specific_listener,
+                                      "mouse:rel");
+      SPI_registerGlobalEventListener (specific_listener,
+                                      "mouse:button");
+      SPI_registerGlobalEventListener (specific_listener,
+                                      "mouse:abs");
+  }
   SPI_registerGlobalEventListener (generic_listener,
                                   "object:property-change");
   SPI_registerGlobalEventListener (specific_listener,