1612 |
1616 |
1613 void SetDeleteOnClose(); |
1617 void SetDeleteOnClose(); |
1614 TBool DeleteOnClose() const; |
1618 TBool DeleteOnClose() const; |
1615 |
1619 |
1616 |
1620 |
1617 |
|
1618 void SetNotifyAsyncReadersPending(TBool aNotifyAsyncReadersPending); |
1621 void SetNotifyAsyncReadersPending(TBool aNotifyAsyncReadersPending); |
1619 TBool NotifyAsyncReadersPending() const; |
1622 TBool NotifyAsyncReadersPending() const; |
1620 TInt CancelAsyncReadRequest(CFileShare* aShareP, TRequestStatus* aStatusP); |
1623 TInt CancelAsyncReadRequest(CFileShare* aShareP, TRequestStatus* aStatusP); |
1621 |
1624 |
1622 /** Extended API support methods */ |
1625 /** Extended API support methods */ |
1636 void SetCachedSize64(TInt64 aSize); |
1639 void SetCachedSize64(TInt64 aSize); |
1637 TInt FindLock64(TInt64 aPosLow,TInt64 aPosHigh); |
1640 TInt FindLock64(TInt64 aPosLow,TInt64 aPosHigh); |
1638 TInt AddLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength); |
1641 TInt AddLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength); |
1639 TInt RemoveLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength); |
1642 TInt RemoveLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength); |
1640 TInt CheckLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength); |
1643 TInt CheckLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength); |
|
1644 |
|
1645 /** Sequential mode */ |
|
1646 |
|
1647 IMPORT_C TBool IsSequentialMode() const; |
|
1648 void SetSequentialMode(TBool aSequential); |
|
1649 |
|
1650 /** |
|
1651 The FileShare List contains the file shares of an open file. |
|
1652 */ |
|
1653 TDblQue<CFileShare>& FileShareList() const; |
|
1654 void AddShare(CFileShare& aFileShare); |
1641 |
1655 |
1642 /** |
1656 /** |
1643 Renames the file with the full file name provided. |
1657 Renames the file with the full file name provided. |
1644 |
1658 |
1645 Because the full name of the file includes the path, the function can |
1659 Because the full name of the file includes the path, the function can |
1953 TBool iBadPower; |
1967 TBool iBadPower; |
1954 |
1968 |
1955 public: |
1969 public: |
1956 |
1970 |
1957 /** |
1971 /** |
1958 The full name of the file, including drive and extensions. |
1972 The full name of the file, including its extension. |
1959 */ |
1973 */ |
1960 HBufC* iFileName; |
1974 HBufC* iFileName; |
1961 |
1975 |
1962 /** |
1976 /** |
1963 The full name of the file, including drive and extensions - Folded. |
1977 The full name of the file, including its extension - Folded. |
1964 */ |
1978 */ |
1965 HBufC* iFileNameF; |
1979 HBufC* iFileNameF; |
1966 |
1980 |
1967 private: |
1981 private: |
1968 TUint32 iNameHash; |
1982 TUint32 iNameHash; |
1969 TDrive* iCreatedDrive; |
1983 TDrive* iCreatedDrive; |
1970 TDrive* iDrive; |
1984 TDrive* iDrive; |
1971 CMountCB* iMount; |
1985 CMountCB* iMount; |
1972 TFileLocksArray* iFileLocks; ///< an array of file position locks |
1986 TFileLocksArray* iFileLocks; // An array of file position locks |
1973 TDblQueLink iMountLink; |
1987 TDblQueLink iMountLink; |
1974 |
1988 CFileBody* iBody; |
1975 private: |
|
1976 CFileBody* iBody; |
|
1977 |
1989 |
1978 friend class TDrive; |
1990 friend class TDrive; |
1979 friend class CMountCB; |
1991 friend class CMountCB; |
1980 friend class CFileShare; |
1992 friend class CFileShare; |
1981 friend class TFsFileRead; |
1993 friend class TFsFileRead; |
2024 ~CFileShare(); |
2036 ~CFileShare(); |
2025 TInt CheckMount(); |
2037 TInt CheckMount(); |
2026 void InitL(); |
2038 void InitL(); |
2027 inline CFileCB& File(); |
2039 inline CFileCB& File(); |
2028 |
2040 |
2029 // For serialising aync requests |
2041 // For serialising async requests |
2030 TBool RequestStart(CFsMessageRequest* aRequest); |
2042 TBool RequestStart(CFsMessageRequest* aRequest); |
2031 void RequestEnd(CFsMessageRequest* aRequest); |
2043 void RequestEnd(CFsMessageRequest* aRequest); |
2032 TBool RequestInProgress() const; |
2044 TBool RequestInProgress() const; |
2033 inline TBool IsFileModeBig(); |
2045 inline TBool IsFileModeBig(); |
2034 |
2046 |
2049 private: |
2061 private: |
2050 CFileCB* iFile; |
2062 CFileCB* iFile; |
2051 |
2063 |
2052 // A pointer to the current request. Used for serializing client |
2064 // A pointer to the current request. Used for serializing client |
2053 // async read/write requests which might otherwise be processed out |
2065 // async read/write requests which might otherwise be processed out |
2054 // of order due to fair scheduling |
2066 // of order due to fair scheduling. |
2055 CFsMessageRequest* iCurrentRequest; |
2067 CFsMessageRequest* iCurrentRequest; |
|
2068 |
|
2069 // The FileShare List link object. |
|
2070 TDblQueLink iShareLink; |
|
2071 |
|
2072 friend class CFileBody; // For access to iShareLink |
2056 }; |
2073 }; |
2057 |
2074 |
2058 |
2075 |
2059 |
2076 |
2060 |
2077 |