Lines Matching defs:task

1302 // SessionMachine task records
1324 /** Take snapshot task */
1362 /** Restore snapshot task */
1379 /** Delete snapshot task */
1480 /* create and start the task on a separate thread (note that it will not
1518 * @param task
1521 void SessionMachine::i_takeSnapshotHandler(TakeSnapshotTask &task)
1544 task.m_pProgress->i_notifyComplete(rc);
1561 AssertStmt(task.m_machineStateBackup != mData->mMachineState, throw E_FAIL);
1562 AssertStmt(task.m_pSnapshot.isNull(), throw E_FAIL);
1572 if ( !task.m_fTakingSnapshotOnline
1584 /* task.m_strStateFilePath is "" when the machine is offline or saved */
1585 if (task.m_fTakingSnapshotOnline)
1592 i_composeSavedStateFilename(task.m_strStateFilePath);
1596 task.m_strStateFilePath = mSSData->strStateFilePath;
1598 if (task.m_strStateFilePath.isNotEmpty())
1601 rc = VirtualBox::i_ensureFilePathExists(task.m_strStateFilePath, true /* fCreate */);
1615 rc = pSnapshotMachine->init(this, snapshotId.ref(), task.m_strStateFilePath);
1621 task.m_pSnapshot.createObject();
1622 rc = task.m_pSnapshot->init(mParent,
1624 task.m_strName,
1625 task.m_strDescription,
1633 task.m_fTakingSnapshotOnline));
1642 rc = i_createImplicitDiffs(task.m_pProgress,
1644 task.m_fTakingSnapshotOnline);
1659 if ( !task.m_fTakingSnapshotOnline
1660 && !task.m_strStateFilePath.isEmpty())
1664 if (task.m_fTakingSnapshotOnline)
1666 task.m_pProgress->SetNextOperation(Bstr(tr("Saving the machine state")).raw(),
1670 if (task.m_strStateFilePath.isNotEmpty())
1673 task.m_pProgress->i_setCancelCallback(i_takeSnapshotProgressCancelCallback, &task);
1674 rc = task.m_pDirectControl->SaveStateWithReason(Reason_Snapshot,
1675 task.m_pProgress,
1676 Bstr(task.m_strStateFilePath).raw(),
1677 task.m_fPause,
1679 task.m_pProgress->i_setCancelCallback(NULL, NULL);
1687 if (!task.m_pProgress->i_notifyPointOfNoReturn())
1693 task.m_pProgress->SetNextOperation(Bstr(tr("Reconfiguring medium attachments")).raw(),
1702 rc = task.m_pDirectControl->ReconfigureMediumAttachments(ComSafeArrayAsInParam(atts));
1712 rc = i_finishTakingSnapshot(task, alock, true /*aSuccess*/);
1727 i_finishTakingSnapshot(task, alock, false /*aSuccess*/);
1731 task.m_pSnapshot->uninit();
1732 task.m_pSnapshot.setNull();
1752 if (!task.m_fTakingSnapshotOnline)
1753 i_setMachineState(task.m_machineStateBackup);
1757 HRESULT rc2 = task.m_pDirectControl->COMGETTER(NominalState)(&enmMachineState);
1769 rc2 = task.m_pDirectControl->ResumeWithReason(Reason_Snapshot);
1772 enmMachineState = task.m_machineStateBackup;
1775 enmMachineState = task.m_machineStateBackup;
1787 if (!task.m_pDirectControl.isNull())
1790 task.m_pDirectControl->COMGETTER(RemoteConsole)(pConsole.asOutParam());
1802 task.m_pProgress->i_notifyComplete(rc);
1833 HRESULT SessionMachine::i_finishTakingSnapshot(TakeSnapshotTask &task, AutoWriteLock &alock, bool aSuccess)
1847 bool fOnline = Global::IsOnline(task.m_machineStateBackup);
1854 mData->mCurrentSnapshot = task.m_pSnapshot;
1877 task.m_pSnapshot->i_getId());
1896 RTFileDelete(task.m_pSnapshot->i_getStateFilePath().c_str());
1900 task.m_pSnapshot->uninit();
1906 task.m_pSnapshot.setNull();
1995 /* create and start the task on a separate thread (note that it will not
2028 void SessionMachine::i_restoreSnapshotHandler(RestoreSnapshotTask &task)
2039 task.m_pProgress->i_notifyComplete(E_FAIL,
2064 if (task.m_machineStateBackup == MachineState_Saved)
2074 task.modifyBackedUpState(MachineState_PoweredOff);
2085 AutoReadLock snapshotLock(task.m_pSnapshot COMMA_LOCKVAL_SRC_POS);
2088 snapshotTimeStamp = task.m_pSnapshot->i_getTimeStamp();
2090 ComPtr<SnapshotMachine> pSnapshotMachine(task.m_pSnapshot->i_getSnapshotMachine());
2115 rc = i_createImplicitDiffs(task.m_pProgress,
2132 const Utf8Str &strSnapshotStateFile = task.m_pSnapshot->i_getStateFilePath();
2138 LogFlowThisFunc(("Setting new current snapshot {%RTuuid}\n", task.m_pSnapshot->i_getId().raw()));
2140 mData->mCurrentSnapshot = task.m_pSnapshot;
2265 i_setMachineState(task.m_machineStateBackup);
2272 task.m_pProgress->i_notifyComplete(rc);
2475 /* create and start the task on a separate thread */
2484 // the task might start running but will block on acquiring the machine's write lock
2485 // which we acquired above; once this function leaves, the task will be unblocked;
2595 * MachineState_DeletingSnapshot right after creating this task. Since we block
2603 void SessionMachine::i_deleteSnapshotHandler(DeleteSnapshotTask &task)
2616 task.m_pProgress->i_notifyComplete(rc);
2628 task.m_pSnapshot->lockHandle() // snapshot
2636 ComObjPtr<SnapshotMachine> pSnapMachine = task.m_pSnapshot->i_getSnapshotMachine();
2641 snapshotId = task.m_pSnapshot->i_getId();
2685 bool fOnlineMergePossible = task.m_fDeleteOnline;
2923 Utf8Str stateFilePath = task.m_pSnapshot->i_getStateFilePath();
2926 task.m_pProgress->SetNextOperation(Bstr(tr("Deleting the execution state")).raw(),
2929 i_releaseSavedStateFile(stateFilePath, task.m_pSnapshot /* pSnapshotToIgnore */);
2954 task.m_pProgress->SetNextOperation(BstrFmt(tr("Merging differencing image '%s'"),
2979 rc = pMedium->i_deleteStorage(&task.m_pProgress,
3007 task.m_pProgress,
3019 &task.m_pProgress,
3084 ComObjPtr<Snapshot> pChildSnapshot = task.m_pSnapshot->i_getFirstChild();
3129 task.m_pSnapshot->i_beginSnapshotDelete();
3130 task.m_pSnapshot->uninit();
3169 // task was started
3170 i_setMachineState(task.m_machineStateBackup);
3178 task.m_pProgress->i_notifyComplete(rc);