/** * Enables or disables logging. * * @returns COM status code * @param aLogEnabled The new code log state. */ HRESULT MachineDebugger::setLogEnabled(BOOL aLogEnabled) { LogFlowThisFunc(("aLogEnabled=%d\n", aLogEnabled)); AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); if (i_queueSettings()) { // queue the request mLogEnabledQueued = aLogEnabled; return S_OK; } Console::SafeVMPtr ptrVM(mParent); if (FAILED(ptrVM.rc())) return ptrVM.rc(); #ifdef LOG_ENABLED int vrc = DBGFR3LogModifyFlags(ptrVM.rawUVM(), aLogEnabled ? "enabled" : "disabled"); if (RT_FAILURE(vrc)) { /** @todo handle error code. */ } #endif return S_OK; }
/** * Enables or disables logging. * * @returns COM status code * @param aEnabled The new code log state. */ STDMETHODIMP MachineDebugger::COMSETTER(LogEnabled) (BOOL aEnabled) { LogFlowThisFunc(("aEnabled=%d\n", aEnabled)); AutoCaller autoCaller(this); if (FAILED(autoCaller.rc())) return autoCaller.rc(); AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); if (queueSettings()) { // queue the request mLogEnabledQueued = aEnabled; return S_OK; } Console::SafeVMPtr pVM(mParent); if (FAILED(pVM.rc())) return pVM.rc(); #ifdef LOG_ENABLED int vrc = DBGFR3LogModifyFlags (pVM, aEnabled ? "enabled" : "disabled"); if (RT_FAILURE(vrc)) { /** @todo handle error code. */ } #endif return S_OK; }