userlibandfileserver/fileserver/inc/f32fsys.h
changeset 109 b3a1d9898418
parent 33 0173bcd7697c
child 200 73ea206103e6
equal deleted inserted replaced
102:ef2a444a7410 109:b3a1d9898418
   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 */
  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