]> gitweb.factorcode.org Git - factor.git/blob - basis/io/files/temp/windows/windows.factor
95ab4a35c3555ce4a691fe880c0b1397253a8d39
[factor.git] / basis / io / files / temp / windows / windows.factor
1 ! (c)2012 Joe Groff bsd license
2 USING: ;
3 SPECIALIZED-ARRAY: WCHAR
4 IN: io.files.temp.windows
5
6 <PRIVATE
7
8 : (get-temp-directory) ( -- path )
9     MAX_PATH dup <WCHAR-array> [ GetTempPath ] keep
10     swap win32-error
11     utf16n alien>string ;
12
13 : (get-appdata-directory) ( -- path )
14     f
15     CSIDL_LOCAL_APPDATA CSIDL_FLAG_CREATE bitor
16     f
17     0
18     MAX_PATH <WCHAR-array>
19     [ SHGetFolderPath ] keep
20     swap win32-error
21     utf16n alien>string ;
22
23 PRIVATE>
24
25 MEMO: (temp-directory) ( -- path )
26     (get-temp-directory) "factorcode.org\\Factor" append-path dup make-directories ;
27
28 M: windows temp-directory (temp-directory) ;
29
30 MEMO: (cache-directory) ( -- path )
31     (get-appdata-directory) "factorcode.org\\Factor" append-path dup make-directories ;
32
33 M: windows cache-directory (cache-directory) ;