pygccxml.parser.directory_cache.directory_cache_t

Package pygccxml :: Package parser :: Module directory_cache :: Class directory_cache_t |

# type directory_cache_t

source code

                         object --+
                                  |
    declarations_cache.cache_base_t --+
                                      |
                                     directory_cache_t

Cache class that stores its data as multiple files inside a directory.

The cache stores one index file called "index.dat" which is always read by the cache when the cache object is created. Each header file will have its corresponding *.cache file that stores the declarations found in the header file. The index file is used to determine whether a *.cache file is still valid or not (by checking if one of the dependent files (i.e. the header file itself and all included files) have been modified since the last run).

Instance Methods
__init__(self, dir=`'``cache``'`, compression=False, md5_sigs=True) Constructor. | source code
flush(self) Save the index table to disk. | source code
update(self, source_file, configuration, declarations, included_files) Replace a cache entry by a new value. | source code
cached_value(self, source_file, configuration) Return the cached declarations or None. | source code

Class Variables
Inherited from `declarations_cache.cache_base_t`: `logger`

Method Details

### __init__(self, dir=`'``cache``'`, compression=False, md5_sigs=True) (Constructor) | source code
Constructor. dir is the cache directory (it is created if it does not exist). If compression is set to True the cache files will be compressed using gzip. md5_sigs determines whether file modifications is checked by computing a md5 digest or by checking the modification date. Overrides: declarations_cache.cache_base_t.__init__

### flush(self) | source code
Save the index table to disk. Overrides: declarations_cache.cache_base_t.flush

### update(self, source_file, configuration, declarations, included_files) | source code
Replace a cache entry by a new value. Parameters: `source_file` (str) - Header file name. `configuration` (config_t) - Configuration object. `declarations` (picklable object) - Declarations contained in the header file. `included_files` (list of str) - Dependent files Overrides: declarations_cache.cache_base_t.update

### cached_value(self, source_file, configuration) | source code
Return the cached declarations or None. Parameters: `source_file` (str) - Header file name `configuration` (config_t) - Configuration object Returns: Cached declarations or None Overrides: declarations_cache.cache_base_t.cached_value