Index: /trunk/src/VBox/Main/glue/tests/TestVBox.java
===================================================================
--- /trunk/src/VBox/Main/glue/tests/TestVBox.java	(revision 30423)
+++ /trunk/src/VBox/Main/glue/tests/TestVBox.java	(revision 30424)
@@ -13,4 +13,5 @@
 import org.virtualbox_3_3.*;
 import java.util.List;
+import java.util.Arrays;
 import java.math.BigInteger;
 
@@ -180,8 +181,52 @@
         } catch (Exception e) {
           e.printStackTrace();
-        } finally { 
+        } finally {
           mgr.closeMachineSession(session);
         }
         mgr.unregisterGlobalCallback(vbox, cbs);
+    }
+
+
+    static void processEvent(IEvent ev)
+    {
+        System.out.println("got event: " + ev);
+
+        VBoxEventType type = ev.getType();
+        System.out.println("type = "+type);
+
+        switch (type)
+        {
+            case OnMachineStateChange:
+                IMachineStateChangeEvent mcse = IMachineStateChangeEvent.queryInterface(ev);
+                if (mcse == null)
+                    System.out.println("Cannot query an interface");
+                else
+                    System.out.println("mid="+mcse.getMachineId());
+                break;
+        }
+    }
+
+    static void testEvents(VirtualBoxManager mgr, IEventSource es)
+    {
+        IEventListener listener = es.createListener();
+
+        es.registerListener(listener, Arrays.asList(VBoxEventType.Any), false);
+
+        try {
+            for (int i=0; i<100; i++)
+            {
+                IEvent ev = es.getEvent(listener, 1000);
+                System.out.print(".");
+                if (ev != null)
+                {
+                    processEvent(ev);
+                    es.eventProcessed(listener, ev);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        es.unregisterListener(listener);
     }
 
@@ -217,5 +262,6 @@
             testEnumeration(mgr, vbox);
             testStart(mgr, vbox);
-            testCallbacks(mgr, vbox);
+            //testCallbacks(mgr, vbox);
+            testEvents(mgr, vbox.getEventSource());
 
             System.out.println("done, press Enter...");
