VirtualBox

Changeset 25448 in vbox


Ignore:
Timestamp:
Dec 17, 2009 9:49:46 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56105
Message:

VBoxHeadless: added empty IVirtualBoxCallback.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxHeadless/VBoxHeadless.cpp

    r25027 r25448  
    105105
    106106/**
     107 * Callback handler for VirtualBox events
     108 */
     109class VirtualBoxCallback :
     110  VBOX_SCRIPTABLE_IMPL(IVirtualBoxCallback)
     111{
     112public:
     113    VirtualBoxCallback()
     114    {
     115#ifndef VBOX_WITH_XPCOM
     116        refcnt = 0;
     117#endif
     118    }
     119
     120    virtual ~VirtualBoxCallback()
     121    {
     122    }
     123
     124#ifndef VBOX_WITH_XPCOM
     125    STDMETHOD_(ULONG, AddRef)()
     126    {
     127        return ::InterlockedIncrement(&refcnt);
     128    }
     129    STDMETHOD_(ULONG, Release)()
     130    {
     131        long cnt = ::InterlockedDecrement(&refcnt);
     132        if (cnt == 0)
     133            delete this;
     134        return cnt;
     135    }
     136#endif
     137    VBOX_SCRIPTABLE_DISPATCH_IMPL(IVirtualBoxCallback)
     138
     139    NS_DECL_ISUPPORTS
     140
     141    STDMETHOD(OnMachineStateChange)(IN_BSTR machineId, MachineState_T state)
     142    {
     143        return S_OK;
     144    }
     145
     146    STDMETHOD(OnMachineDataChange)(IN_BSTR machineId)
     147    {
     148        return S_OK;
     149    }
     150
     151    STDMETHOD(OnExtraDataCanChange)(IN_BSTR machineId, IN_BSTR key, IN_BSTR value,
     152                                    BSTR *error, BOOL *changeAllowed)
     153    {
     154        /* we never disagree */
     155        if (!changeAllowed)
     156            return E_INVALIDARG;
     157        *changeAllowed = TRUE;
     158        return S_OK;
     159    }
     160
     161    STDMETHOD(OnExtraDataChange)(IN_BSTR machineId, IN_BSTR key, IN_BSTR value)
     162    {
     163        return S_OK;
     164    }
     165
     166    STDMETHOD(OnMediumRegistered)(IN_BSTR mediaId, DeviceType_T mediaType,
     167                                  BOOL registered)
     168    {
     169        return S_OK;
     170    }
     171
     172    STDMETHOD(OnMachineRegistered)(IN_BSTR machineId, BOOL registered)
     173    {
     174        return S_OK;
     175    }
     176
     177    STDMETHOD(OnSessionStateChange)(IN_BSTR machineId, SessionState_T state)
     178    {
     179        return S_OK;
     180    }
     181
     182    STDMETHOD(OnSnapshotTaken) (IN_BSTR aMachineId, IN_BSTR aSnapshotId)
     183    {
     184        return S_OK;
     185    }
     186
     187    STDMETHOD(OnSnapshotDiscarded) (IN_BSTR aMachineId, IN_BSTR aSnapshotId)
     188    {
     189        return S_OK;
     190    }
     191
     192    STDMETHOD(OnSnapshotChange) (IN_BSTR aMachineId, IN_BSTR aSnapshotId)
     193    {
     194        return S_OK;
     195    }
     196
     197    STDMETHOD(OnGuestPropertyChange)(IN_BSTR machineId, IN_BSTR key, IN_BSTR value, IN_BSTR flags)
     198    {
     199        return S_OK;
     200    }
     201
     202private:
     203#ifndef VBOX_WITH_XPCOM
     204    long refcnt;
     205#endif
     206
     207};
     208
     209/**
    107210 *  Callback handler for machine events.
    108211 */
     
    288391
    289392#ifdef VBOX_WITH_XPCOM
     393NS_DECL_CLASSINFO (VirtualBoxCallback)
     394NS_IMPL_THREADSAFE_ISUPPORTS1_CI (VirtualBoxCallback, IVirtualBoxCallback)
    290395NS_DECL_CLASSINFO (ConsoleCallback)
    291396NS_IMPL_THREADSAFE_ISUPPORTS1_CI (ConsoleCallback, IConsoleCallback)
     
    847952        gEventQ = com::EventQueue::getMainEventQueue();
    848953
     954        /* VirtualBox callback registration. */
     955        VirtualBoxCallback *vboxCallback = new VirtualBoxCallback();
     956        vboxCallback->AddRef();
     957        CHECK_ERROR(virtualBox, RegisterCallback(vboxCallback));
     958        vboxCallback->Release();
     959        if (FAILED (rc))
     960            break;
     961
    849962        /* register a callback for machine events */
    850963        {
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