VirtualBox

Changeset 30159 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Jun 11, 2010 8:06:55 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
62586
Message:

Main: generic Java glue works (including callbacks on Win)

Location:
trunk/src/VBox/Main
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/VirtualBoxImpl.cpp

    r30156 r30159  
    26062606                aEvDesc.add(id.toUtf16());
    26072607                break;
    2608                
     2608
    26092609            case VirtualBoxCallbackRegistration::kOnMachineStateChange:
    26102610                aEvDesc.init("OnMachineStateChange", 2);
     
    26202620                AssertFailedReturn(S_OK);
    26212621         }
    2622          return S_OK;         
     2622         return S_OK;
    26232623    }
    26242624#endif
     
    27242724       aEvDesc.init("OnExtraDataChange", 3);
    27252725       aEvDesc.add(machineId.toUtf16()).add(key).add(val);
    2726        return S_OK;         
     2726       return S_OK;
    27272727    }
    27282728#endif
     
    28852885       aEvDesc.init("OnGuestPropertyChange", 4);
    28862886       aEvDesc.add(machineId.toUtf16()).add(name).add(value).add(flags);
    2887        return S_OK;         
     2887       return S_OK;
    28882888    }
    28892889#endif
     
    45834583
    45844584
    4585 #ifdef RT_OS_WINDOWS       
    4586 #if 0
     4585#ifdef RT_OS_WINDOWS
     4586#if 1
    45874587    // WIP
    45884588    {
  • trunk/src/VBox/Main/glue/tests/Makefile.kmk

    r30013 r30159  
    2222
    2323ifeq ($(KBUILD_HOST),win)
    24  VBOX_SDK=e:/ws/out/win.amd64/debug/bin/sdk
    25  VBOX_BIN=e:/ws/out/win.amd64/debug/bin
    26  JACOB_DIR=e:/ws/src/libs/jacob-1.15-M3/
     24 VBOX_SDK=c:/out/bin/sdk
     25 VBOX_BIN=c:/out/bin
     26 JACOB_DIR=s:/jacob-1.15-M3/
    2727 JACOB_JAR=$(JACOB_DIR)/jacob.jar
    2828 CLASSPATH += $(JACOB_JAR)$(SEP)
  • trunk/src/VBox/Main/glue/tests/TestVBox.java

    r29792 r30159  
    1111 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
    1212 */
    13 import org.virtualbox_3_2.*;
     13import org.virtualbox_3_3.*;
    1414import java.util.List;
    1515
     
    2222    public void onSnapshotChange(String machineId, String snapshotId)
    2323    {
     24        System.out.println("onSnapshotChange -- VM: " + machineId + ", snap: " + snapshotId);
     25
    2426    }
    2527    public void onSnapshotDeleted(String machineId, String snapshotId)
    2628    {
     29        System.out.println("onSnapshotDeleted -- VM: " + machineId + ", snap: " + snapshotId);
    2730    }
    28     public void onSnapshotTaken(String machineId, String snapshotId) {}
     31    public void onSnapshotTaken(String machineId, String snapshotId)
     32    {
     33        System.out.println("onSnapshotTaken -- VM: " + machineId + ", snap: " + snapshotId);
     34    }
    2935    public void onSessionStateChange(String machineId, SessionState state)
    3036    {
    3137        System.out.println("onSessionStateChange -- VM: " + machineId + ", state: " + state);
    3238    }
    33     public void onMachineRegistered(String machineId, Boolean registered) {}
    34     public void onMediumRegistered(String mediumId, DeviceType mediumType, Boolean registered) {}
     39    public void onMachineRegistered(String machineId, Boolean registered)
     40    {
     41        System.out.println("onMachineRegistered -- VM: " + machineId + ", registered: " + registered);
     42    }
     43    public void onMediumRegistered(String mediumId, DeviceType mediumType, Boolean registered)
     44    {
     45        System.out.println("onMediumRegistered -- ID: " + mediumId + ", type=" + mediumType + ", registered: " + registered);
     46    }
    3547    public void onExtraDataChange(String machineId, String key, String value)
    3648    {
    3749        System.out.println("onExtraDataChange -- VM: " + machineId + ": " + key+"->"+value);
    3850    }
    39     public Boolean onExtraDataCanChange(String machineId, String key, String value, Holder<String> error) { return true; }
     51    public Boolean onExtraDataCanChange(String machineId, String key, String value, Holder<String> error)
     52    {
     53        return true;
     54    }
    4055    public void onMachineDataChange(String machineId)
    41     {}
     56    {
     57        System.out.println("onMachineDataChange -- VM: " + machineId);
     58    }
    4259    public void onMachineStateChange(String machineId, MachineState state)
    4360    {
     
    5067    static void testCallbacks(VirtualBoxManager mgr, IVirtualBox vbox)
    5168    {
    52         IVirtualBoxCallback cbs = mgr.createIVirtualBoxCallback(new VBoxCallbacks());
    53         vbox.registerCallback(cbs);
     69
     70        IVirtualBoxCallback cbs = new VBoxCallbacks();
     71        mgr.registerGlobalCallback(vbox, cbs);
    5472        for (int i=0; i<100; i++)
    5573        {
    5674            mgr.waitForEvents(500);
    5775        }
    58         vbox.unregisterCallback(cbs);
     76        mgr.unregisterGlobalCallback(vbox, cbs);
    5977    }
    6078
     
    90108            testEnumeration(mgr, vbox);
    91109            testStart(mgr, vbox);
    92             //testCallbacks(mgr, vbox);
     110            testCallbacks(mgr, vbox);
    93111
    94112            System.out.println("done, press Enter...");
  • trunk/src/VBox/Main/win/VBoxComEvents.cpp

    r30156 r30159  
    5656        DWORD         hContext; // help context
    5757        BSTR          fName;
    58        
     58
    5959        hr = ptinfo->GetFuncDesc(i, &pfuncdesc);
    6060        if (FAILED(hr))
    6161           break;
    62          
     62
    6363        hr = ptinfo->GetDocumentation(pfuncdesc->memid, &fName, NULL, &hContext, NULL);
    6464        if (FAILED(hr))
     
    7474
    7575        }
    76         SysFreeString(fName); 
     76        SysFreeString(fName);
    7777
    7878        pfuncdesc.Release();
     
    105105     DISPPARAMS disp = { args, NULL, argc, 0};
    106106     DISPID           dispid;
    107  
     107
    108108     HRESULT          hr = lookup(event.mName, &dispid);
    109109
  • trunk/src/VBox/Main/win/VBoxComEvents.h

    r30156 r30159  
    3030
    3131class ComEventDesc
    32 {       
     32{
    3333public:
    34  ComEventDesc() 
    35    : mArgc(0), mArgs(0), mPos(0) 
     34 ComEventDesc()
     35   : mArgc(0), mArgs(0), mPos(0)
    3636 {}
    37  ~ComEventDesc() 
    38  { 
     37 ~ComEventDesc()
     38 {
    3939   if (mArgs)
    4040      delete [] mArgs;
     
    5050   mArgs = new CComVariant[mArgc];
    5151   mPos = argc - 1;
    52  } 
     52 }
    5353
    5454 template <class T>
     
    6060   return *this;
    6161 }
    62  
     62
    6363private:
    6464 com::Utf8Str mName;
     
    7979    HRESULT lookup(com::Utf8Str &aName, DISPID *did);
    8080    HRESULT fire(IDispatch* aObj, ComEventDesc& desc, CComVariant *pResult);
    81    
     81
    8282private:
    8383    typedef std::map<com::Utf8Str, DISPID> ComEventsMap;
     
    8787
    8888#endif /* __VBOXCOMEVENTS_h__ */
    89 
Note: See TracChangeset for help on using the changeset viewer.

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