Add function to get home/documents folder

This commit is contained in:
baldurk
2016-08-05 15:06:28 +02:00
parent 593e2c5903
commit db57f18b08
3 changed files with 23 additions and 0 deletions
+1
View File
@@ -250,6 +250,7 @@ namespace FileIO
{
void GetDefaultFiles(const char *logBaseName, string &capture_filename, string &logging_filename,
string &target);
string GetHomeFolderFilename();
string GetAppFolderFilename(const string &filename);
string GetReplayAppFilename();
+8
View File
@@ -49,6 +49,14 @@ namespace FileIO
// in posix/.../..._stringio.cpp
const char *GetTempRootPath();
string GetHomeFolderFilename()
{
passwd *pw = getpwuid(getuid());
const char *homedir = pw->pw_dir;
return homedir;
}
void CreateParentDirectory(const string &filename)
{
string fn = dirname(filename);
+14
View File
@@ -285,6 +285,20 @@ void GetDefaultFiles(const char *logBaseName, string &capture_filename, string &
logging_filename = StringFormat::Wide2UTF8(wstring(temp_filename));
}
string GetHomeFolderFilename()
{
PWSTR docsPath;
SHGetKnownFolderPath(FOLDERID_Documents, KF_FLAG_SIMPLE_IDLIST | KF_FLAG_DONT_UNEXPAND, NULL,
&docsPath);
wstring documents = docsPath;
CoTaskMemFree(docsPath);
if(documents[documents.size() - 1] == '/' || documents[documents.size() - 1] == '\\')
documents.pop_back();
return StringFormat::Wide2UTF8(documents);
}
string GetAppFolderFilename(const string &filename)
{
PWSTR appDataPath;