userlibandfileserver/fileserver/sfat/sl_cache.h
changeset 15 4122176ea935
parent 0 a41df078684a
equal deleted inserted replaced
0:a41df078684a 15:4122176ea935
    18 /**
    18 /**
    19  @file
    19  @file
    20  @internalTechnology
    20  @internalTechnology
    21 */
    21 */
    22 
    22 
       
    23 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       
    24 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       
    25 //!!
       
    26 //!! WARNING!! DO NOT edit this file !! '\sfat' component is obsolete and is not being used. '\sfat32'replaces it
       
    27 //!!
       
    28 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       
    29 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       
    30 
       
    31 
    23 #ifndef SL_CACHE_H
    32 #ifndef SL_CACHE_H
    24 #define SL_CACHE_H
    33 #define SL_CACHE_H
    25 
    34 
    26 
    35 
    27 //---------------------------------------------------------------------------------------------------------------------------------
    36 //---------------------------------------------------------------------------------------------------------------------------------
    38 */
    47 */
    39 class MWTCacheInterface
    48 class MWTCacheInterface
    40     {
    49     {
    41 public:
    50 public:
    42         
    51         
    43 	/** Enums for control functions. See Control() */
    52     /** Enums for control functions. See Control() */
    44 	enum TControl
    53     enum TControl
    45 	    {
    54         {
    46 	    EDisableCache = 0, 	///< disable/enable cache, can be used for debug purposes
    55         EDisableCache = 0,  ///< disable/enable cache, can be used for debug purposes
    47 	    EDumpCache = 1, 	///< print full cache content, can be used for debug purposes
    56         EDumpCache = 1,     ///< print full cache content, can be used for debug purposes
    48 	    ECacheInfo = 2, 	///< print cache info, can be used for debug purposes
    57         ECacheInfo = 2,     ///< print cache info, can be used for debug purposes
    49 	    };
    58         };
    50 
    59 
    51         virtual ~MWTCacheInterface() {}
    60         virtual ~MWTCacheInterface() {}
    52         
    61         
    53         /** the same meaning and parameters as in CRawDisk::ReadL */
    62         /** the same meaning and parameters as in CRawDisk::ReadL */
    54         virtual void    ReadL(TInt64 aPos, TInt aLength, TDes8& aDes)=0;
    63         virtual void    ReadL(TInt64 aPos, TInt aLength, TDes8& aDes)=0;
   159         void    InvalidateCachePage(TUint64 aPos);
   168         void    InvalidateCachePage(TUint64 aPos);
   160 
   169 
   161 
   170 
   162         TUint32 PosCached(const TInt64& aPosToSearch, TInt64& aCachedPosStart);
   171         TUint32 PosCached(const TInt64& aPosToSearch, TInt64& aCachedPosStart);
   163         TUint32 CacheSizeInBytes()  const;
   172         TUint32 CacheSizeInBytes()  const;
   164         void 	MakePageMRU(TInt64 aPos);
   173         void    MakePageMRU(TInt64 aPos);
   165         TUint32 PageSizeInBytesLog2()	const;
   174         TUint32 PageSizeInBytesLog2()   const;
   166         TInt    Control(TUint32 aFunction, TUint32 aParam1, TAny* aParam2);
   175         TInt    Control(TUint32 aFunction, TUint32 aParam1, TAny* aParam2);
   167         inline void SetCacheBasePos(TInt64 aBasePos);
   176         inline void SetCacheBasePos(TInt64 aBasePos);
   168         //--
   177         //--
   169         
   178         
   170 protected:
   179 protected: