userlibandfileserver/fileserver/inc/f32fsys.h
branchRCL_3
changeset 43 c1f20ce4abcf
parent 42 a179b74831c9
child 44 3e88ff8f41d5
equal deleted inserted replaced
42:a179b74831c9 43:c1f20ce4abcf
   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
   559 	};
   563 	};
   560 
   564 
   561 class CFileCB;
   565 class CFileCB;
   562 class CDirCB;
   566 class CDirCB;
   563 
   567 
  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