Antares Simulator
Power System Simulator
io.h
1 /*
2 ** Copyright 2007-2025, RTE (https://www.rte-france.com)
3 ** See AUTHORS.txt
4 ** SPDX-License-Identifier: MPL-2.0
5 ** This file is part of Antares-Simulator,
6 ** Adequacy and Performance assessment for interconnected energy networks.
7 **
8 ** Antares_Simulator is free software: you can redistribute it and/or modify
9 ** it under the terms of the Mozilla Public Licence 2.0 as published by
10 ** the Mozilla Foundation, either version 2 of the License, or
11 ** (at your option) any later version.
12 **
13 ** Antares_Simulator is distributed in the hope that it will be useful,
14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ** Mozilla Public Licence 2.0 for more details.
17 **
18 ** You should have received a copy of the Mozilla Public Licence 2.0
19 ** along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20 */
21 #ifndef __ANTARES_VACUUM_IO_H__
22 #define __ANTARES_VACUUM_IO_H__
23 
24 #include <yuni/io/file.h>
25 #ifndef YUNI_OS_WINDOWS
26 #include <unistd.h>
27 #else
28 #include <yuni/core/string/wstring.h>
29 #include <yuni/core/system/windows.hdr.h>
30 #endif
31 #include <atomic>
32 #include <unordered_set>
33 
35 extern bool dry;
36 
38 
39 extern std::atomic<int> IOBytesDeleted;
40 extern std::atomic<int> IOFilesDeleted;
41 extern std::atomic<int> IOFoldersDeleted;
42 
44 extern std::unordered_set<YString> inputFolders;
45 
51 bool RemoveFile(const YString& filename, uint64_t size);
52 
58 bool RemoveDirectoryIfEmpty(const YString& folder);
59 
60 #endif // __ANTARES_VACUUM_IO_H__