diff --git a/Userland/Applications/FileManager/main.cpp b/Userland/Applications/FileManager/main.cpp index fcd46dbd67..129880e706 100644 --- a/Userland/Applications/FileManager/main.cpp +++ b/Userland/Applications/FileManager/main.cpp @@ -23,9 +23,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -115,7 +115,7 @@ ErrorOr serenity_main(Main::Arguments arguments) if (!FileSystem::is_directory(initial_location)) { // We want to extract zips to a temporary directory when FileManager is launched with a .zip file as its first argument if (path.has_extension(".zip"sv)) { - auto temp_directory = Core::TempFile::create_temp_directory(); + auto temp_directory = FileSystem::TempFile::create_temp_directory(); if (temp_directory.is_error()) { dbgln("Failed to create temporary directory during zip extraction: {}", temp_directory.error()); diff --git a/Userland/DevTools/HackStudio/ProjectBuilder.h b/Userland/DevTools/HackStudio/ProjectBuilder.h index dede1d28bb..c579202e1b 100644 --- a/Userland/DevTools/HackStudio/ProjectBuilder.h +++ b/Userland/DevTools/HackStudio/ProjectBuilder.h @@ -10,7 +10,6 @@ #include "TerminalWrapper.h" #include #include -#include namespace HackStudio { class ProjectBuilder { diff --git a/Userland/Libraries/LibCore/CMakeLists.txt b/Userland/Libraries/LibCore/CMakeLists.txt index 6dee12a65c..1a5b3fcbd3 100644 --- a/Userland/Libraries/LibCore/CMakeLists.txt +++ b/Userland/Libraries/LibCore/CMakeLists.txt @@ -30,7 +30,6 @@ set(SOURCES System.cpp SystemServerTakeover.cpp TCPServer.cpp - TempFile.cpp Timer.cpp UDPServer.cpp Version.cpp diff --git a/Userland/Libraries/LibFileSystem/CMakeLists.txt b/Userland/Libraries/LibFileSystem/CMakeLists.txt index 1e4e1871ff..e9ec24bdbf 100644 --- a/Userland/Libraries/LibFileSystem/CMakeLists.txt +++ b/Userland/Libraries/LibFileSystem/CMakeLists.txt @@ -1,5 +1,6 @@ set(SOURCES FileSystem.cpp + TempFile.cpp ) serenity_lib(LibFileSystem filesystem) diff --git a/Userland/Libraries/LibCore/TempFile.cpp b/Userland/Libraries/LibFileSystem/TempFile.cpp similarity index 65% rename from Userland/Libraries/LibCore/TempFile.cpp rename to Userland/Libraries/LibFileSystem/TempFile.cpp index 8558847e43..9f433acaea 100644 --- a/Userland/Libraries/LibCore/TempFile.cpp +++ b/Userland/Libraries/LibFileSystem/TempFile.cpp @@ -1,14 +1,27 @@ /* * Copyright (c) 2020-2023, the SerenityOS developers. + * Copyright (c) 2023, Cameron Youell * * SPDX-License-Identifier: BSD-2-Clause */ -#include "TempFile.h" -#include #include +#include +#include -namespace Core { +namespace FileSystem { + +TempFile::~TempFile() +{ + // Temporary files aren't removed by anyone else, so we must do it ourselves. + auto recursion_mode = RecursionMode::Disallowed; + if (m_type == Type::Directory) + recursion_mode = RecursionMode::Allowed; + + auto result = FileSystem::remove(m_path, recursion_mode); + if (result.is_error()) + warnln("Removal of temporary file failed '{}': {}", m_path, result.error().string_literal()); +} ErrorOr> TempFile::create_temp_directory() { @@ -27,17 +40,4 @@ ErrorOr> TempFile::create_temp_file() return adopt_nonnull_own_or_enomem(new (nothrow) TempFile(Type::File, string)); } -TempFile::~TempFile() -{ - // Temporary files aren't removed by anyone else, so we must do it ourselves. - auto recursion_mode = DeprecatedFile::RecursionMode::Disallowed; - if (m_type == Type::Directory) - recursion_mode = DeprecatedFile::RecursionMode::Allowed; - - auto result = DeprecatedFile::remove(m_path, recursion_mode); - if (result.is_error()) { - warnln("Removal of temporary file failed: {}", result.error().string_literal()); - } -} - } diff --git a/Userland/Libraries/LibCore/TempFile.h b/Userland/Libraries/LibFileSystem/TempFile.h similarity index 84% rename from Userland/Libraries/LibCore/TempFile.h rename to Userland/Libraries/LibFileSystem/TempFile.h index ac1743a165..038978f916 100644 --- a/Userland/Libraries/LibCore/TempFile.h +++ b/Userland/Libraries/LibFileSystem/TempFile.h @@ -1,16 +1,16 @@ /* * Copyright (c) 2020-2023, the SerenityOS developers. + * Copyright (c) 2023, Cameron Youell * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once -#include -#include +#include #include -namespace Core { +namespace FileSystem { class TempFile {