public bool SetContextStatus(ContextStatus newStatus)
{
CheckContextInitialized();
int result = NativeMethods.ERRORCODE_SUCCESS;
switch(newStatus) {
case ContextStatus.Wipe: {
if(_status == ContextStatus.Stopped) {
result = NativeMethods.StartWipeContext(_contextId);
}
else if(_status == ContextStatus.Paused) {
result = NativeMethods.ResumeWipeContext(_contextId);
}
break;
}
case ContextStatus.Paused: {
if(_status == ContextStatus.Wipe) {
result = NativeMethods.PauseWipeContext(_contextId);
}
break;
}
case ContextStatus.Stopped: {
if(_status == ContextStatus.Wipe || _status == ContextStatus.Paused) {
result = NativeMethods.StopWipeContext(_contextId);
}
break;
}
}
_status = newStatus;
return ValidResult(result);
}