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