Since A-Shell GUI applications often involve many files passed from the server to the ATE client, there are two separate "cache" directories defined (which may, however, actually be a single directory). The Temp cache is intended for files of temporary importance. For example, if the host application wants to display an image from a database on the ATE workstation, it would transfer the image file first to the Temp cache directory and then command ATE to display it. The Temp directory may be referenced by the dynamically-created environment variable %ATECACHE%.
The Permanent Cache directory is meant for files that should be preserved between ATE sessions. A common use would be for icons and other bitmaps that are used in the application but which need to be present on the local workstation. Typically, an application will use the ATSYNC.LIT utility (or some variant thereof) to synchronize the contents of a master directory on the server containing such files, with each workstation when it connects. The Perm cache directory may be referenced by the dynamically-created environment variable %ATEPERMCACHE%.
If the Temp cache and Perm cache directories are NOT pointing to the same directory, then the Temp cache directory will be cleared at the end of each ATE session.
When the ATE client needs to access a file related to GUI operation, such as image display, or an icon or bitmap needed for a control, if the file is not present in the directory specified by the application, it will automatically check the Temp and Perm cache directories. (This can be useful for "out-smarting" an application that has incorrect hard-coded file references.)