| 
									
										
										
										
											2012-03-31 17:45:59 -04:00
										 |  |  | ! (c)2012 Joe Groff bsd license | 
					
						
							| 
									
										
										
										
											2012-03-31 20:11:38 -04:00
										 |  |  | USING: alien.data alien.strings io.directories | 
					
						
							| 
									
										
										
										
											2012-06-21 11:32:53 -04:00
										 |  |  | io.files.temp io.pathnames kernel math | 
					
						
							| 
									
										
										
										
											2012-03-31 20:11:38 -04:00
										 |  |  | memoize specialized-arrays system windows.errors | 
					
						
							|  |  |  | windows.kernel32 windows.ole32 windows.shell32 | 
					
						
							|  |  |  | windows.types ;
 | 
					
						
							| 
									
										
										
										
											2012-03-31 17:45:59 -04:00
										 |  |  | SPECIALIZED-ARRAY: WCHAR | 
					
						
							|  |  |  | IN: io.files.temp.windows | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <PRIVATE
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-16 18:19:10 -04:00
										 |  |  | : get-temp-directory ( -- path )
 | 
					
						
							| 
									
										
										
										
											2012-03-31 20:11:38 -04:00
										 |  |  |     MAX_PATH 1 + dup WCHAR <c-array> [ GetTempPath ] keep
 | 
					
						
							|  |  |  |     swap win32-error=0/f | 
					
						
							| 
									
										
										
										
											2012-06-21 11:32:53 -04:00
										 |  |  |     alien>native-string ;
 | 
					
						
							| 
									
										
										
										
											2012-03-31 17:45:59 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-30 21:20:16 -04:00
										 |  |  | PRIVATE>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : get-appdata-directory ( -- path )
 | 
					
						
							| 
									
										
										
										
											2012-03-31 17:45:59 -04:00
										 |  |  |     f
 | 
					
						
							|  |  |  |     CSIDL_LOCAL_APPDATA CSIDL_FLAG_CREATE bitor
 | 
					
						
							|  |  |  |     f
 | 
					
						
							|  |  |  |     0
 | 
					
						
							| 
									
										
										
										
											2012-03-31 20:11:38 -04:00
										 |  |  |     MAX_PATH 1 + WCHAR <c-array> | 
					
						
							| 
									
										
										
										
											2012-03-31 17:45:59 -04:00
										 |  |  |     [ SHGetFolderPath ] keep
 | 
					
						
							| 
									
										
										
										
											2012-06-21 12:04:09 -04:00
										 |  |  |     swap check-ole32-error alien>native-string ;
 | 
					
						
							| 
									
										
										
										
											2012-03-31 17:45:59 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-16 18:19:10 -04:00
										 |  |  | M: windows default-temp-directory | 
					
						
							|  |  |  |     get-temp-directory "factorcode.org\\Factor" append-path ;
 | 
					
						
							| 
									
										
										
										
											2012-03-31 17:45:59 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-16 18:19:10 -04:00
										 |  |  | M: windows default-cache-directory | 
					
						
							|  |  |  |     get-appdata-directory "factorcode.org\\Factor" append-path ;
 |