userlibandfileserver/fileserver/sfat/sl_disk.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 #if !defined(__SL_DISK_H__)
    32 #if !defined(__SL_DISK_H__)
    24 #define __SL_DISK_H__
    33 #define __SL_DISK_H__
    25 
    34 
    26 #include "sl_std.h"
    35 #include "sl_std.h"
    27 
    36 
    29 
    38 
    30 class MWTCacheInterface;
    39 class MWTCacheInterface;
    31 
    40 
    32 
    41 
    33 class CAtaDisk : public CRawDisk
    42 class CAtaDisk : public CRawDisk
    34 	{
    43     {
    35 public:
    44 public:
    36 	static CAtaDisk* NewL(CFatMountCB& aFatMount);
    45     static CAtaDisk* NewL(CFatMountCB& aFatMount);
    37 	
    46     
    38      CAtaDisk(CFatMountCB& aFatMount);
    47      CAtaDisk(CFatMountCB& aFatMount);
    39 	~CAtaDisk();
    48     ~CAtaDisk();
    40 
    49 
    41     void ConstructL();  
    50     void ConstructL();  
    42     void InitializeL();
    51     void InitializeL();
    43 
    52 
    44 public:
    53 public:
    45 	void ReadCachedL(TInt64 aPos,TInt aLength,TDes8& aDes) const; 
    54     void ReadCachedL(TInt64 aPos,TInt aLength,TDes8& aDes) const; 
    46 	void WriteCachedL(TInt64 aPos,const TDesC8& aDes);
    55     void WriteCachedL(TInt64 aPos,const TDesC8& aDes);
    47 
    56 
    48     void InvalidateUidCache();
    57     void InvalidateUidCache();
    49     virtual void InvalidateUidCachePage(TUint64 aPos);
    58     virtual void InvalidateUidCachePage(TUint64 aPos);
    50 
    59 
    51 	
    60     
    52     void ReadL(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset) const;
    61     void ReadL(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset) const;
    53 	void WriteL(TInt64 aPos,TInt aLength,const TAny* aSrc,const RMessagePtr2 &aMessage,TInt anOffset);
    62     void WriteL(TInt64 aPos,TInt aLength,const TAny* aSrc,const RMessagePtr2 &aMessage,TInt anOffset);
    54 	virtual TInt GetLastErrorInfo(TDes8& aErrorInfo) const;
    63     virtual TInt GetLastErrorInfo(TDes8& aErrorInfo) const;
    55 
    64 
    56     MWTCacheInterface* DirCacheInterface();
    65     MWTCacheInterface* DirCacheInterface();
    57 
    66 
    58     
    67     
    59 
    68 
    60 
    69 
    61 private:
    70 private:
    62 
    71 
    63 	TFatDriveInterface& iDrive;     ///< Driver's interface to access the media
    72     TFatDriveInterface& iDrive;     ///< Driver's interface to access the media
    64     MWTCacheInterface*  ipDirCache; ///< pointer to the FAT Directory cache object
    73     MWTCacheInterface*  ipDirCache; ///< pointer to the FAT Directory cache object
    65     MWTCacheInterface*  iUidCache;  ///< pointer to the UID cache object
    74     MWTCacheInterface*  iUidCache;  ///< pointer to the UID cache object
    66 
    75 
    67     };
    76     };
    68 
    77 
    69 
    78 
    70 //---------------------------------------------------------------------------------------------------------------------------------
    79 //---------------------------------------------------------------------------------------------------------------------------------
    71 
    80 
    72 class CRamDisk : public CRawDisk
    81 class CRamDisk : public CRawDisk
    73 	{
    82     {
    74 public:
    83 public:
    75 	
    84     
    76     static CRamDisk* NewL(CFatMountCB& aFatMount);
    85     static CRamDisk* NewL(CFatMountCB& aFatMount);
    77 	CRamDisk(CFatMountCB& aFatMount);
    86     CRamDisk(CFatMountCB& aFatMount);
    78 
    87 
    79     void InitializeL();
    88     void InitializeL();
    80 public:
    89 public:
    81 	void ReadCachedL(TInt64 aPos,TInt aLength,TDes8& aDes) const;
    90     void ReadCachedL(TInt64 aPos,TInt aLength,TDes8& aDes) const;
    82 	void WriteCachedL(TInt64 aPos,const TDesC8& aDes);
    91     void WriteCachedL(TInt64 aPos,const TDesC8& aDes);
    83 	void ReadL(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset) const;
    92     void ReadL(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset) const;
    84 	void WriteL(TInt64 aPos,TInt aLength,const TAny* aSrc,const RMessagePtr2 &aMessage,TInt anOffset);
    93     void WriteL(TInt64 aPos,TInt aLength,const TAny* aSrc,const RMessagePtr2 &aMessage,TInt anOffset);
    85 
    94 
    86     
    95     
    87 
    96 
    88 private:
    97 private:
    89 	inline TUint8 *RamDiskBase() const;
    98     inline TUint8 *RamDiskBase() const;
    90 
    99 
    91 private:
   100 private:
    92 	TUint8* iRamDiskBase; ///< pointer to the beginning of the RAM disk memory area
   101     TUint8* iRamDiskBase; ///< pointer to the beginning of the RAM disk memory area
    93 	};
   102     };
    94 
   103 
    95 
   104 
    96 //---------------------------------------------------------------------------------------------------------------------------------
   105 //---------------------------------------------------------------------------------------------------------------------------------
    97 
   106 
    98 #include "sl_disk.inl"
   107 #include "sl_disk.inl"