Platform folders  3.2.0
platform_folders.h
1 /*
2 Its is under the MIT license, to encourage reuse by cut-and-paste.
3 
4 The original files are hosted here: https://github.com/sago007/PlatformFolders
5 
6 Copyright (c) 2015 Poul Sander
7 
8 Permission is hereby granted, free of charge, to any person
9 obtaining a copy of this software and associated documentation files
10 (the "Software"), to deal in the Software without restriction,
11 including without limitation the rights to use, copy, modify, merge,
12 publish, distribute, sublicense, and/or sell copies of the Software,
13 and to permit persons to whom the Software is furnished to do so,
14 subject to the following conditions:
15 
16 The above copyright notice and this permission notice shall be
17 included in all copies or substantial portions of the Software.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
23 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
24 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
25 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26 SOFTWARE.
27 */
28 
29 #ifndef SAGO_PLATFORM_FOLDERS_H
30 #define SAGO_PLATFORM_FOLDERS_H
31 
32 #include <vector>
33 #include <string>
34 
38 namespace sago {
39 
50 std::string getDataHome();
51 
62 std::string getConfigHome();
63 
74 std::string getCacheDir();
75 
92 void appendAdditionalDataDirectories(std::vector<std::string>& homes);
93 
110 void appendAdditionalConfigDirectories(std::vector<std::string>& homes);
111 
117 std::string getDesktopFolder();
118 
123 std::string getDocumentsFolder();
124 
130 std::string getDownloadFolder1();
131 
136 std::string getPicturesFolder();
137 
142 std::string getMusicFolder();
143 
148 std::string getVideoFolder();
149 
160 std::string getSaveGamesFolder1();
161 
162 #ifndef DOXYGEN_SHOULD_SKIP_THIS
163 
171 public:
172  PlatformFolders();
173  ~PlatformFolders();
179  std::string getDesktopFolder() const;
184  std::string getDocumentsFolder() const;
189  std::string getPicturesFolder() const;
195  std::string getDownloadFolder1() const;
200  std::string getMusicFolder() const;
205  std::string getVideoFolder() const;
217  std::string getSaveGamesFolder1() const;
218 private:
220  PlatformFolders& operator=(const PlatformFolders&);
221 #if defined(_WIN32)
222 #elif defined(__APPLE__)
223 #else
224  struct PlatformFoldersData;
225  PlatformFoldersData* data;
226 #endif
227 };
228 
229 #endif // skip doxygen
230 
231 
232 } //namespace sago
233 
234 #endif /* PLATFORM_FOLDERS_H */
Definition: platform_folders.h:38
void appendAdditionalConfigDirectories(std::vector< std::string > &homes)
std::string getDesktopFolder()
std::string getCacheDir()
std::string getDocumentsFolder()
std::string getPicturesFolder() const
std::string getMusicFolder() const
std::string getVideoFolder() const
std::string getDownloadFolder1()
std::string getSaveGamesFolder1() const
Definition: platform_folders.h:170
std::string getConfigHome()
void appendAdditionalDataDirectories(std::vector< std::string > &homes)
std::string getMusicFolder()
std::string getPicturesFolder()
std::string getVideoFolder()
std::string getSaveGamesFolder1()
std::string getDocumentsFolder() const
std::string getDesktopFolder() const
std::string getDataHome()
std::string getDownloadFolder1() const