CrystalSpace

Public API Reference

iutil/cache.h

Go to the documentation of this file.
00001 /*
00002     Copyright (C) 2002 by Jorrit Tyberghein
00003 
00004     This library is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU Library General Public
00006     License as published by the Free Software Foundation; either
00007     version 2 of the License, or (at your option) any later version.
00008     
00009     This library is distributed in the hope that it will be useful,
00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012     Library General Public License for more details.
00013     
00014     You should have received a copy of the GNU Library General Public
00015     License along with this library; if not, write to the Free
00016     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
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 

Generated for Crystal Space 1.0.2 by doxygen 1.4.7