Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: src/shared/Utils.cpp

Issue 10836037: Share code for data path retrieval in engine and plugin (Closed)
Patch Set: Created June 4, 2013, 9:54 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/shared/Utils.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #include "stdafx.h" 1 #include "stdafx.h"
2 #include "Utils.h" 2 #include "Utils.h"
3 3
4 namespace 4 namespace
5 { 5 {
6 static std::wstring appDataPath; 6 std::wstring appDataPath;
7 7
8 bool IsWindowsVistaOrLater() 8 bool IsWindowsVistaOrLater()
9 { 9 {
10 OSVERSIONINFOEX osvi; 10 OSVERSIONINFOEX osvi;
11 ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); 11 ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
12 osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); 12 osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
13 GetVersionEx(reinterpret_cast<LPOSVERSIONINFO>(&osvi)); 13 GetVersionEx(reinterpret_cast<LPOSVERSIONINFO>(&osvi));
14 return osvi.dwMajorVersion >= 6; 14 return osvi.dwMajorVersion >= 6;
15 } 15 }
16 } 16 }
(...skipping 10 matching lines...) Expand all
27 appDataPath.assign(pathBuffer); 27 appDataPath.assign(pathBuffer);
28 CoTaskMemFree(pathBuffer); 28 CoTaskMemFree(pathBuffer);
29 } 29 }
30 else 30 else
31 { 31 {
32 std::auto_ptr<wchar_t> pathBuffer(new wchar_t[MAX_PATH]); 32 std::auto_ptr<wchar_t> pathBuffer(new wchar_t[MAX_PATH]);
33 if (!SHGetSpecialFolderPath(0, pathBuffer.get(), CSIDL_LOCAL_APPDATA, true )) 33 if (!SHGetSpecialFolderPath(0, pathBuffer.get(), CSIDL_LOCAL_APPDATA, true ))
34 throw std::runtime_error("Unable to find app data directory"); 34 throw std::runtime_error("Unable to find app data directory");
35 appDataPath.assign(pathBuffer.get()); 35 appDataPath.assign(pathBuffer.get());
36 } 36 }
37 appDataPath += L"\\AdblockPlus"; 37 appDataPath += L"\\Adblock Plus for IE";
38
39 // Ignore errors here, this isn't a critical operation
40 ::CreateDirectoryW(appDataPath.c_str(), NULL);
38 } 41 }
39 return appDataPath; 42 return appDataPath;
40 } 43 }
OLDNEW
« no previous file with comments | « src/shared/Utils.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld