Platform folders  3.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();
61 std::string getConfigHome();
72 std::string getCacheDir();
89 void appendAdditionalDataDirectories(std::vector<std::string>& homes);
106 void appendAdditionalConfigDirectories(std::vector<std::string>& homes);
107 
115 public:
116  PlatformFolders();
117  ~PlatformFolders();
123  std::string getDesktopFolder() const;
128  std::string getDocumentsFolder() const;
133  std::string getPicturesFolder() const;
139  std::string getDownloadFolder1() const;
144  std::string getMusicFolder() const;
149  std::string getVideoFolder() const;
161  std::string getSaveGamesFolder1() const;
162 private:
164  PlatformFolders& operator=(const PlatformFolders&);
165 #if defined(_WIN32)
166 #elif defined(__APPLE__)
167 #else
168  struct PlatformFoldersData;
169  PlatformFoldersData *data;
170 #endif
171 };
172 
173 } //namespace sago
174 
175 #endif /* PLATFORM_FOLDERS_H */
Definition: platform_folders.h:38
void appendAdditionalConfigDirectories(std::vector< std::string > &homes)
std::string getCacheDir()
std::string getPicturesFolder() const
std::string getMusicFolder() const
std::string getVideoFolder() const
std::string getSaveGamesFolder1() const
Definition: platform_folders.h:114
std::string getConfigHome()
void appendAdditionalDataDirectories(std::vector< std::string > &homes)
std::string getDocumentsFolder() const
std::string getDesktopFolder() const
std::string getDataHome()
std::string getDownloadFolder1() const