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 
161 std::string getSaveGamesFolder1();
162 
163 #ifndef DOXYGEN_SHOULD_SKIP_THIS
164 
172 public:
173  PlatformFolders();
174  ~PlatformFolders();
180  std::string getDesktopFolder() const;
185  std::string getDocumentsFolder() const;
190  std::string getPicturesFolder() const;
196  std::string getDownloadFolder1() const;
201  std::string getMusicFolder() const;
206  std::string getVideoFolder() const;
218  std::string getSaveGamesFolder1() const;
219 private:
221  PlatformFolders& operator=(const PlatformFolders&);
222 #if defined(_WIN32)
223 #elif defined(__APPLE__)
224 #else
225  struct PlatformFoldersData;
226  PlatformFoldersData* data;
227 #endif
228 };
229 
230 #endif // skip doxygen
231 
232 
233 } //namespace sago
234 
235 #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:171
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