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