![]() |
Public API Reference |
This is a general cache that can cache data on VFS. More...
#include <csutil/vfshiercache.h>
Public Member Functions | |
| VfsHierarchicalCache (iObjectRegistry *object_reg, const char *vfsdir) | |
| Construct the cache with the given directory. | |
iHierarchicalCache implementation | |
| virtual bool | CacheData (const void *data, size_t size, const char *path) |
| Cache some data. | |
| virtual csPtr< iDataBuffer > | ReadCache (const char *path) |
| Retrieve some data from the cache. | |
| virtual bool | ClearCache (const char *path) |
| Clear items from the cache. | |
| virtual void | Flush () |
| Ensure that the cached data is written on whatever medium is behind the cache. | |
| virtual csPtr< iHierarchicalCache > | GetRootedCache (const char *base) |
| Create a new hierarchical cache which is a view of this cache with the items root at base. | |
| virtual csPtr< iStringArray > | GetSubItems (const char *path) |
| Get cache items directly under path. | |
| virtual iHierarchicalCache * | GetTopCache () |
| Get the cache which is the ultimate hierarchical ancestor of a cache. | |
| virtual bool | IsCacheWriteable () const |
| Query if cache can be written to (as some caches may be static/read-only) | |
This is a general cache that can cache data on VFS.
Definition at line 41 of file vfshiercache.h.
| CS::Utility::VfsHierarchicalCache::VfsHierarchicalCache | ( | iObjectRegistry * | object_reg, |
| const char * | vfsdir | ||
| ) |
Construct the cache with the given directory.
All cached data will be put somewhere in that directory.
| virtual bool CS::Utility::VfsHierarchicalCache::CacheData | ( | const void * | data, |
| size_t | size, | ||
| const char * | path | ||
| ) | [virtual] |
Cache some data.
Returns true if this succeeded. path needs to be absolute.
Implements iHierarchicalCache.
| virtual bool CS::Utility::VfsHierarchicalCache::ClearCache | ( | const char * | path | ) | [virtual] |
Clear items from the cache.
Clears all items below the given path. path needs to be absolute.
Implements iHierarchicalCache.
| virtual void CS::Utility::VfsHierarchicalCache::Flush | ( | ) | [virtual] |
Ensure that the cached data is written on whatever medium is behind the cache.
Implements iHierarchicalCache.
| virtual csPtr<iHierarchicalCache> CS::Utility::VfsHierarchicalCache::GetRootedCache | ( | const char * | base | ) | [virtual] |
Create a new hierarchical cache which is a view of this cache with the items root at base.
You can imagine the returned cache prepending base to all item requests or storage.
Implements iHierarchicalCache.
| virtual csPtr<iStringArray> CS::Utility::VfsHierarchicalCache::GetSubItems | ( | const char * | path | ) | [virtual] |
Get cache items directly under path.
Implements iHierarchicalCache.
| virtual iHierarchicalCache* CS::Utility::VfsHierarchicalCache::GetTopCache | ( | ) | [virtual] |
Get the cache which is the ultimate hierarchical ancestor of a cache.
Implements iHierarchicalCache.
| virtual bool CS::Utility::VfsHierarchicalCache::IsCacheWriteable | ( | ) | const [inline, virtual] |
Query if cache can be written to (as some caches may be static/read-only)
Implements iHierarchicalCache.
Definition at line 80 of file vfshiercache.h.
| virtual csPtr<iDataBuffer> CS::Utility::VfsHierarchicalCache::ReadCache | ( | const char * | path | ) | [virtual] |
Retrieve some data from the cache.
Returns 0 if the data could not be found in the cache. path needs to be absolute.
Implements iHierarchicalCache.