![]() |
libfilezilla
|
00001 #ifndef LIBFILEZILLA_RECURSIVE_REMOVE_HEADER 00002 #define LIBFILEZILLA_RECURSIVE_REMOVE_HEADER 00003 00004 #include "libfilezilla.hpp" 00005 00006 #ifdef FZ_WINDOWS 00007 #include "private/windows.hpp" 00008 #endif 00009 00010 #include <list> 00011 00014 00015 namespace fz { 00016 00022 class FZ_PUBLIC_SYMBOL recursive_remove 00023 { 00024 public: 00025 recursive_remove() = default; 00026 virtual ~recursive_remove() = default; 00027 00028 recursive_remove(recursive_remove const&) = delete; 00029 recursive_remove& operator=(recursive_remove const&) = delete; 00030 00032 bool remove(native_string const& path); 00033 00035 bool remove(std::list<native_string> dirsToVisit); 00036 00037 protected: 00042 virtual bool confirm() const { return true; } 00043 00044 #ifdef FZ_WINDOWS 00045 00046 00047 00048 virtual void adjust_shfileop(SHFILEOPSTRUCT & op); 00049 #endif 00050 }; 00051 00052 } 00053 00054 #endif