Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_IUTIL_CACHE_H__
00020 #define __CS_IUTIL_CACHE_H__
00021
00022 #include "csutil/ref.h"
00023 #include "csutil/scf_interface.h"
00024
00025 struct iDataBuffer;
00026
00052 struct iCacheManager : public virtual iBase
00053 {
00054 SCF_INTERFACE(iCacheManager, 2,0,0);
00060 virtual void SetReadOnly (bool ro) = 0;
00061
00065 virtual bool IsReadOnly () const = 0;
00066
00071 virtual void SetCurrentType (const char* type) = 0;
00072
00076 virtual const char* GetCurrentType () const = 0;
00077
00082 virtual void SetCurrentScope (const char* scope) = 0;
00083
00087 virtual const char* GetCurrentScope () const = 0;
00088
00092 virtual bool CacheData (const void* data, size_t size,
00093 const char* type, const char* scope, uint32 id) = 0;
00094
00101 virtual csPtr<iDataBuffer> ReadCache (
00102 const char* type, const char* scope, uint32 id) = 0;
00103
00115 virtual bool ClearCache (const char* type = 0, const char* scope = 0,
00116 const uint32* id = 0) = 0;
00117
00122 virtual void Flush () = 0;
00123 };
00124
00125 #endif // __CS_IUTIL_CACHE_H__
00126