public static bool IsAbortNeeded(this FileSystemClientImpl fs, Result result) { if (result.IsSuccess()) { return(false); } switch (fs.Fs.GetCurrentThreadFsContext().HandleResult(result)) { case AbortSpecifier.Default: if (fs.Globals.ResultHandlingUtility.IsResultHandledByApplication) { return(ResultFs.HandledByAllProcess.Includes(result)); } else { return(!(ResultFs.HandledByAllProcess.Includes(result) || ResultFs.HandledBySystemProcess.Includes(result))); } case AbortSpecifier.Abort: return(true); case AbortSpecifier.Return: return(false); default: Abort.UnexpectedDefault(); return(default); } }
internal static void AbortIfNeeded(this FileSystemClientImpl fs, Result result, [CallerMemberName] string functionName = "") { if (!IsAbortNeeded(fs, result)) { return; } fs.LogResultErrorMessage(result, functionName); if (!result.IsSuccess()) { Abort.DoAbort(result); } }
public static void LogResultErrorMessage(this FileSystemClientImpl fs, Result result, [CallerMemberName] string functionName = "") { // Todo }
public static void LogResultErrorMessage(this FileSystemClientImpl fs, Result result) { // Todo }