libfilezilla
Loading...
Searching...
No Matches
recursive_remove.hpp
Go to the documentation of this file.
1#ifndef LIBFILEZILLA_RECURSIVE_REMOVE_HEADER
2#define LIBFILEZILLA_RECURSIVE_REMOVE_HEADER
3
4#include "libfilezilla.hpp"
5
6#ifdef FZ_WINDOWS
7#include "glue/windows.hpp"
8#endif
9
10#include <list>
11
14
15namespace fz {
16
23class FZ_PUBLIC_SYMBOL recursive_remove
24{
25public:
26 recursive_remove() = default;
27 virtual ~recursive_remove() = default;
28
29 recursive_remove(recursive_remove const&) = delete;
30 recursive_remove& operator=(recursive_remove const&) = delete;
31
33 bool remove(native_string const& path);
34
36 bool remove(std::list<native_string> dirsToVisit);
37
38protected:
43 virtual bool confirm() const { return true; }
44
45#ifdef FZ_WINDOWS
49 virtual void adjust_shfileop(SHFILEOPSTRUCT & op);
50
53 virtual bool call_shfileop(SHFILEOPSTRUCT & op);
54#endif
55};
56
57}
58
59#endif
virtual bool call_shfileop(SHFILEOPSTRUCT &op)
virtual void adjust_shfileop(SHFILEOPSTRUCT &op)
Windows only: Allows customization of the SHFILEOPSTRUCT passed to SHFileOperation.
virtual bool confirm() const
Can be overridden to ask the user for a confirmation.
Definition recursive_remove.hpp:43
bool remove(std::list< native_string > dirsToVisit)
Removes given directories.
bool remove(native_string const &path)
Removes given directory.
Sets some global macros and further includes string.hpp.
The namespace used by libfilezilla.
Definition apply.hpp:17
std::wstring native_string
A string in the system's native character type and encoding. Note: This typedef changes depending on...
Definition string.hpp:69