]> gitweb.factorcode.org Git - factor.git/blob - basis/io/files/temp/windows/windows.factor
Update some copyright headers to follow the current convention
[factor.git] / basis / io / files / temp / windows / windows.factor
1 ! Copyright (C) 2012 Joe Groff.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.data alien.strings io.directories
4 io.files.temp io.pathnames kernel math
5 memoize specialized-arrays system windows.errors
6 windows.kernel32 windows.ole32 windows.shell32
7 windows.types ;
8 SPECIALIZED-ARRAY: WCHAR
9 IN: io.files.temp.windows
10
11 <PRIVATE
12
13 : get-temp-directory ( -- path )
14     MAX_PATH 1 + dup WCHAR <c-array> [ GetTempPath ] keep
15     swap win32-error=0/f
16     alien>native-string ;
17
18 PRIVATE>
19
20 : get-appdata-directory ( -- path )
21     f
22     CSIDL_LOCAL_APPDATA CSIDL_FLAG_CREATE bitor
23     f
24     0
25     MAX_PATH 1 + WCHAR <c-array>
26     [ SHGetFolderPath ] keep
27     swap check-ole32-error alien>native-string ;
28
29 M: windows default-temp-directory
30     get-temp-directory "factorcode.org\\Factor" append-path ;
31
32 M: windows default-cache-directory
33     get-appdata-directory "factorcode.org\\Factor" append-path ;