userlibandfileserver/fileserver/inc/f32fsys.h
branchRCL_3
changeset 44 3e88ff8f41d5
parent 43 c1f20ce4abcf
equal deleted inserted replaced
43:c1f20ce4abcf 44:3e88ff8f41d5
   554 	TInt iSpare2;
   554 	TInt iSpare2;
   555 
   555 
   556 	
   556 	
   557 	friend class LocalDrives;			// for access to iChanged flag
   557 	friend class LocalDrives;			// for access to iChanged flag
   558 	friend class CExtNotifyMediaChange; // for access to iChanged flag
   558 	friend class CExtNotifyMediaChange; // for access to iChanged flag
   559 	
       
   560 #if defined(_USE_CONTROLIO) || defined(_DEBUG) || defined(_DEBUG_RELEASE)
       
   561 	friend class TFsControlIo;			// for access to LocateDrives()
       
   562 #endif
       
   563 	};
   559 	};
   564 
   560 
   565 class CFileCB;
   561 class CFileCB;
   566 class CDirCB;
   562 class CDirCB;
   567 
   563 
  1616 
  1612 
  1617 	void SetDeleteOnClose();
  1613 	void SetDeleteOnClose();
  1618 	TBool DeleteOnClose() const;
  1614 	TBool DeleteOnClose() const;
  1619  
  1615  
  1620 	
  1616 	
       
  1617 
  1621 	void SetNotifyAsyncReadersPending(TBool aNotifyAsyncReadersPending);
  1618 	void SetNotifyAsyncReadersPending(TBool aNotifyAsyncReadersPending);
  1622 	TBool NotifyAsyncReadersPending() const;
  1619 	TBool NotifyAsyncReadersPending() const;
  1623 	TInt CancelAsyncReadRequest(CFileShare* aShareP, TRequestStatus* aStatusP);
  1620 	TInt CancelAsyncReadRequest(CFileShare* aShareP, TRequestStatus* aStatusP);
  1624 
  1621 
  1625 	/** Extended API support methods */
  1622 	/** Extended API support methods */
  1639 	void SetCachedSize64(TInt64 aSize);
  1636 	void SetCachedSize64(TInt64 aSize);
  1640 	TInt FindLock64(TInt64 aPosLow,TInt64 aPosHigh);
  1637 	TInt FindLock64(TInt64 aPosLow,TInt64 aPosHigh);
  1641 	TInt AddLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength);
  1638 	TInt AddLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength);
  1642 	TInt RemoveLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength);
  1639 	TInt RemoveLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength);
  1643 	TInt CheckLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength);
  1640 	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);
       
  1655 
  1641 
  1656     /**
  1642     /**
  1657     Renames the file with the full file name provided.
  1643     Renames the file with the full file name provided.
  1658 
  1644 
  1659     Because the full name of the file includes the path, the function can
  1645     Because the full name of the file includes the path, the function can
  1967 	TBool iBadPower;
  1953 	TBool iBadPower;
  1968 
  1954 
  1969 public:
  1955 public:
  1970 
  1956 
  1971 	/**
  1957 	/**
  1972 	The full name of the file, including its extension.
  1958 	The full name of the file, including drive and extensions.
  1973 	*/
  1959 	*/
  1974 	HBufC* iFileName;
  1960 	HBufC* iFileName;
  1975 
  1961 
  1976 	/**
  1962 	/**
  1977 	The full name of the file, including its extension - Folded.
  1963 	The full name of the file, including drive and extensions - Folded.
  1978 	*/
  1964 	*/
  1979 	HBufC* iFileNameF;
  1965 	HBufC* iFileNameF;
  1980 
  1966 
  1981 private:
  1967 private:
  1982 	TUint32	            iNameHash;
  1968 	TUint32	            iNameHash;
  1983 	TDrive*             iCreatedDrive;
  1969 	TDrive*             iCreatedDrive;
  1984 	TDrive*             iDrive;
  1970 	TDrive*             iDrive;
  1985 	CMountCB*           iMount;
  1971 	CMountCB*           iMount;
  1986 	TFileLocksArray*    iFileLocks;		// An array of file position locks
  1972 	TFileLocksArray*    iFileLocks; ///< an array of file position locks
  1987 	TDblQueLink         iMountLink;
  1973 	TDblQueLink         iMountLink;
  1988 	CFileBody*			iBody;
  1974 	
       
  1975 private:
       
  1976 	CFileBody* iBody;
  1989 
  1977 
  1990 	friend class TDrive;
  1978 	friend class TDrive;
  1991 	friend class CMountCB;
  1979 	friend class CMountCB;
  1992 	friend class CFileShare;
  1980 	friend class CFileShare;
  1993 	friend class TFsFileRead;
  1981 	friend class TFsFileRead;
  2036 	~CFileShare();
  2024 	~CFileShare();
  2037 	TInt CheckMount();
  2025 	TInt CheckMount();
  2038 	void InitL();
  2026 	void InitL();
  2039 	inline CFileCB& File();
  2027 	inline CFileCB& File();
  2040 
  2028 
  2041 	// For serialising async requests 
  2029 	// For serialising aync requests 
  2042 	TBool RequestStart(CFsMessageRequest* aRequest);
  2030 	TBool RequestStart(CFsMessageRequest* aRequest);
  2043 	void RequestEnd(CFsMessageRequest* aRequest);
  2031 	void RequestEnd(CFsMessageRequest* aRequest);
  2044 	TBool RequestInProgress() const;
  2032 	TBool RequestInProgress() const;
  2045 	inline TBool IsFileModeBig();
  2033 	inline TBool IsFileModeBig();
  2046 	
  2034 	
  2061 private:
  2049 private:
  2062 	CFileCB* iFile;
  2050 	CFileCB* iFile;
  2063 
  2051 
  2064 	// A pointer to the current request. Used for serializing client 
  2052 	// A pointer to the current request. Used for serializing client 
  2065 	// async read/write requests which might otherwise be processed out
  2053 	// async read/write requests which might otherwise be processed out
  2066 	// of order due to fair scheduling.
  2054 	// of order due to fair scheduling
  2067 	CFsMessageRequest* iCurrentRequest;
  2055 	CFsMessageRequest* iCurrentRequest;	
  2068 	
       
  2069 	// The FileShare List link object.
       
  2070 	TDblQueLink iShareLink;
       
  2071 
       
  2072 friend class CFileBody;	// For access to iShareLink
       
  2073 	};
  2056 	};
  2074 
  2057 
  2075 
  2058 
  2076 
  2059 
  2077 
  2060