// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. #pragma once #if PLATFORM_WINDOWS #include "Engine/Platform/Win32/Win32FileSystem.h" /// /// Windows platform implementation of filesystem service /// class FLAXENGINE_API WindowsFileSystem : public Win32FileSystem { public: /// /// Moves a file to the recycle bin with possible undo instead of removing it permanently. /// /// The path to the file to delete. /// True if cannot perform that operation, otherwise false. static bool MoveFileToRecycleBin(const StringView& path); public: static bool AreFilePathsEqual(const StringView& path1, const StringView& path2); public: /// /// Gets the special folder path. /// /// The folder type. /// The result full path. static void GetSpecialFolderPath(const SpecialFolder type, String& result); public: // [Win32FileSystem] static bool ShowOpenFileDialog(Window* parentWindow, const StringView& initialDirectory, const StringView& filter, bool multiSelect, const StringView& title, Array& filenames); static bool ShowSaveFileDialog(Window* parentWindow, const StringView& initialDirectory, const StringView& filter, bool multiSelect, const StringView& title, Array& filenames); static bool ShowBrowseFolderDialog(Window* parentWindow, const StringView& initialDirectory, const StringView& title, String& path); static bool ShowFileExplorer(const StringView& path); }; #endif