CS::PluginCommon::ShaderCacheHelper::MicroArchiveCache Class Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions
CS::PluginCommon::ShaderCacheHelper::MicroArchiveCache Class Reference

iHierarchicalCache implementation storing everything in a MicroArchive. More...

`#include <csplugincommon/shader/shadercachehelper.h>`

Inheritance diagram for CS::PluginCommon::ShaderCacheHelper::MicroArchiveCache:

List of all members.

## Public Member Functions
| MicroArchiveCache (iHierarchicalCache *parentCache, const char *cacheItem)
| Construct.
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)

## Detailed Description

iHierarchicalCache implementation storing everything in a MicroArchive.

Definition at line 195 of file shadercachehelper.h.

## Constructor & Destructor Documentation

CS::PluginCommon::ShaderCacheHelper::MicroArchiveCache::MicroArchiveCache | ( | iHierarchicalCache * | parentCache,
|  | const char * | cacheItem
| ) |  |

Construct.

Parameters:

  parentCache | The cache in which the archive will be stored
  cacheItem | The path of the cache item for the archive

## Member Function Documentation

virtual bool CS::PluginCommon::ShaderCacheHelper::MicroArchiveCache::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::PluginCommon::ShaderCacheHelper::MicroArchiveCache::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::PluginCommon::ShaderCacheHelper::MicroArchiveCache::Flush | ( |  | ) | `[virtual]`

Ensure that the cached data is written on whatever medium is behind the cache.

Implements iHierarchicalCache.

virtual csPtr<iHierarchicalCache> CS::PluginCommon::ShaderCacheHelper::MicroArchiveCache::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::PluginCommon::ShaderCacheHelper::MicroArchiveCache::GetSubItems | ( | const char * | path | ) | `[virtual]`

Get cache items directly under path.

Implements iHierarchicalCache.

virtual iHierarchicalCache* CS::PluginCommon::ShaderCacheHelper::MicroArchiveCache::GetTopCache | ( |  | ) | `[virtual]`

Get the cache which is the ultimate hierarchical ancestor of a cache.

Implements iHierarchicalCache.

virtual bool CS::PluginCommon::ShaderCacheHelper::MicroArchiveCache::IsCacheWriteable | ( |  | ) | const`[inline, virtual]`

Query if cache can be written to (as some caches may be static/read-only)

Implements iHierarchicalCache.

Definition at line 221 of file shadercachehelper.h.

virtual csPtr<iDataBuffer> CS::PluginCommon::ShaderCacheHelper::MicroArchiveCache::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.

Remarks:
  Don't modify returned buffer!

Implements iHierarchicalCache.

The documentation for this class was generated from the following file:

- csplugincommon/shader/shadercachehelper.h