VirtualBox

Ignore:
Timestamp:
Feb 3, 2012 2:21:28 PM (13 years ago)
Author:
vboxsync
Message:

VBoxBalloonCtrl: Update.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdogUtils.cpp

    r39936 r39986  
    5454    /* Query current memory free. */
    5555    strName.cloneTo(&metricNames[0]);
    56 #ifdef VBOX_BALLOONCTRL_GLOBAL_PERFCOL
     56#ifdef VBOX_WATCHDOG_GLOBAL_PERFCOL
    5757    Assert(!g_pPerfCollector.isNull());
    5858    HRESULT hrc = g_pPerfCollector->QueryMetricsData(
     
    112112    if (it == pMachine->payload.end())
    113113        return NULL;
    114     Assert(it->second.cbPayload);
    115     return it->second.pvPayload;
     114    Assert(it->second.cbData);
     115    return it->second.pvData;
    116116}
    117117
     118int payloadAlloc(PVBOXWATCHDOG_MACHINE pMachine, const char *pszModule,
     119                 size_t cbSize, void **ppszPayload)
     120{
     121    AssertPtrReturn(pMachine, VERR_INVALID_POINTER);
     122    AssertPtrReturn(pszModule, VERR_INVALID_POINTER);
     123    AssertReturn(cbSize, VERR_INVALID_PARAMETER);
     124
     125    void *pvData = RTMemAlloc(cbSize);
     126    AssertPtrReturn(pvData, VERR_NO_MEMORY);
     127
     128    mapPayloadIter it = pMachine->payload.find(pszModule);
     129    AssertReturn(it == pMachine->payload.end(), VERR_INVALID_PARAMETER);
     130
     131    VBOXWATCHDOG_MODULE_PAYLOAD p;
     132    p.pvData = pvData;
     133    p.cbData = cbSize;
     134
     135    if (ppszPayload)
     136        *ppszPayload = p.pvData;
     137
     138    pMachine->payload.insert(std::make_pair(pszModule, p));
     139
     140    return VINF_SUCCESS;
     141}
     142
     143void payloadFree(PVBOXWATCHDOG_MACHINE pMachine, const char *pszModule)
     144{
     145    AssertPtrReturnVoid(pMachine);
     146    AssertPtrReturnVoid(pszModule);
     147
     148    mapPayloadIter it = pMachine->payload.find(pszModule);
     149    if (it != pMachine->payload.end())
     150    {
     151        RTMemFree(it->second.pvData);
     152        pMachine->payload.erase(it);
     153    }
     154}
     155
     156PVBOXWATCHDOG_MACHINE getMachine(const Bstr& strUuid)
     157{
     158    mapVMIter it = g_mapVM.find(strUuid);
     159    if (it != g_mapVM.end())
     160        return &it->second;
     161    return NULL;
     162}
     163
     164MachineState_T getMachineState(const PVBOXWATCHDOG_MACHINE pMachine)
     165{
     166    AssertPtrReturn(pMachine, MachineState_Null);
     167    MachineState_T machineState;
     168    Assert(!pMachine->machine.isNull());
     169    HRESULT rc = pMachine->machine->COMGETTER(State)(&machineState);
     170    if (SUCCEEDED(rc))
     171        return machineState;
     172    return MachineState_Null;
     173}
     174
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