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" |