1 // 2 // Copyright (c) 2010-2022 Antmicro 3 // 4 // This file is licensed under the MIT License. 5 // Full license text is available in 'licenses/MIT.txt'. 6 // 7 using System; 8 9 namespace Antmicro.Renode.Utilities 10 { 11 public class FileLocker : IDisposable 12 { FileLocker(string fileToLock)13 public FileLocker(string fileToLock) 14 { 15 #if PLATFORM_WINDOWS 16 innerLocker = new WindowsFileLocker(fileToLock); 17 #else 18 innerLocker = new PosixFileLocker(fileToLock); 19 #endif 20 } 21 Dispose()22 public void Dispose() 23 { 24 innerLocker?.Dispose(); 25 innerLocker = null; 26 } 27 28 private IDisposable innerLocker; 29 } 30 } 31