1 #ifndef FILEZILLA_COMMONUI_FZ_PATHS_HEADER
2 #define FILEZILLA_COMMONUI_FZ_PATHS_HEADER
3 
4 #include "../include/local_path.h"
5 
6 #include "visibility.h"
7 
8 #include <vector>
9 
10 class FZCUI_PUBLIC_SYMBOL app_paths final
11 {
12 public:
13 	CLocalPath settings_path;
14 	CLocalPath defaults_path;
15 
settings_file(std::wstring const & name)16 	std::wstring settings_file(std::wstring const& name) const {
17 		return settings_path.GetPath() + name + L".xml";
18 	}
19 };
20 
21 CLocalPath FZCUI_PUBLIC_SYMBOL GetUnadjustedSettingsDir();
22 
23 // If non-empty, always terminated by a separator
24 std::wstring FZCUI_PUBLIC_SYMBOL GetOwnExecutableDir();
25 
26 CLocalPath FZCUI_PUBLIC_SYMBOL GetFZDataDir(std::vector<std::wstring> const& fileToFind, std::wstring const& prefixSub, bool searchSelfDir = true);
27 CLocalPath FZCUI_PUBLIC_SYMBOL GetDefaultsDir();
28 CLocalPath FZCUI_PUBLIC_SYMBOL GetSettingsDir();
29 CLocalPath FZCUI_PUBLIC_SYMBOL GetHomeDir();
30 CLocalPath FZCUI_PUBLIC_SYMBOL GetTempDir();
31 CLocalPath FZCUI_PUBLIC_SYMBOL GetDownloadDir();
32 
33 std::string FZCUI_PUBLIC_SYMBOL ExpandPath(std::string const& dir);
34 std::wstring FZCUI_PUBLIC_SYMBOL ExpandPath(std::wstring const& dir);
35 
36 #endif
37