VirtualBox

Ignore:
Timestamp:
Jun 29, 2010 6:19:01 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
63221
Message:

VBoxShell: active mode events test

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxShell/vboxshell.py

    r30492 r30516  
    431431    vbox.unregisterCallback(cb)
    432432
    433 def monitorVBox2(ctx, dur):
     433def monitorSource(ctx, es, active, dur):
    434434    def handleEventImpl(ev):
    435435         print "got event: %s %s" %(ev, str(ev.type))
     
    446446         handleEventImpl(ev)
    447447
    448     vbox = ctx['vb']
    449     active = True
    450448    if active:
    451449        listener = ctx['global'].createListener(EventListener)
    452450    else:
    453         listener = vbox.eventSource.createListener()
     451        listener = es.createListener()
    454452    registered = False
    455453    if dur == -1:
     
    457455        dur = 100000
    458456    try:
    459         vbox.eventSource.registerListener(listener, [ctx['global'].constants.VBoxEventType_Any], active)
     457        es.registerListener(listener, [ctx['global'].constants.VBoxEventType_Any], active)
    460458        registered = True
    461459        end = time.time() + dur
     
    464462                ctx['global'].waitForEvents(500)
    465463            else:
    466                 ev = vbox.eventSource.getEvent(listener, 500)
     464                ev = es.getEvent(listener, 500)
    467465                if ev:
    468466                    handleEventImpl(ev)
    469467                    # otherwise waitable events will leak (active listeners ACK automatically)
    470                     vbox.eventSource.eventProcessed(listener, ev)
     468                    es.eventProcessed(listener, ev)
    471469    # We need to catch all exceptions here, otherwise listener will never be unregistered
    472470    except:
    473471        pass
    474472    if listener and registered:
    475         vbox.eventSource.unregisterListener(listener)
     473        es.unregisterListener(listener)
    476474
    477475
     
    14271425    return 0
    14281426
     1427def monitorGuest2Cmd(ctx, args):
     1428    if (len(args) < 2):
     1429        print "usage: monitorGuest2 name (duration)"
     1430        return 0
     1431    mach = argsToMach(ctx,args)
     1432    if mach == None:
     1433        return 0
     1434    dur = 5
     1435    if len(args) > 2:
     1436        dur = float(args[2])
     1437    active = True
     1438    cmdExistingVm(ctx, mach, 'guestlambda', [lambda ctx,mach,console,args:  monitorSource(ctx, console.eventSource, active, dur)])
     1439    return 0
     1440
    14291441def monitorVBoxCmd(ctx, args):
    14301442    if (len(args) > 2):
     
    14441456    if len(args) > 1:
    14451457        dur = float(args[1])
    1446     monitorVBox2(ctx, dur)
     1458    vbox = ctx['vb']
     1459    active = True
     1460    monitorSource(ctx, vbox.eventSource, active, dur)
    14471461    return 0
    14481462
     
    29142928            'guest':['Execute command for guest: guest Win32 \'console.mouse.putMouseEvent(20, 20, 0, 0, 0)\'', guestCmd, 0],
    29152929            'monitorGuest':['Monitor what happens with the guest for some time: monitorGuest Win32 10', monitorGuestCmd, 0],
     2930            'monitorGuest2':['Monitor what happens with the guest for some time: monitorGuest2 Win32 10', monitorGuest2Cmd, 0],
    29162931            'monitorVBox':['Monitor what happens with Virtual Box for some time: monitorVBox 10', monitorVBoxCmd, 0],
    29172932            'monitorVBox2':['(temp)Monitor what happens with Virtual Box for some time: monitorVBox2 10', monitorVBox2Cmd, 0],
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette