userlibandfileserver/fileserver/inc/f32fsys.h
changeset 140 2ac1c5c27758
parent 33 0173bcd7697c
child 176 af6ec97d9189
--- a/userlibandfileserver/fileserver/inc/f32fsys.h	Mon May 24 18:45:46 2010 +0100
+++ b/userlibandfileserver/fileserver/inc/f32fsys.h	Mon Jun 07 16:46:36 2010 +0100
@@ -556,6 +556,10 @@
 	
 	friend class LocalDrives;			// for access to iChanged flag
 	friend class CExtNotifyMediaChange; // for access to iChanged flag
+	
+#if defined(_USE_CONTROLIO) || defined(_DEBUG) || defined(_DEBUG_RELEASE)
+	friend class TFsControlIo;			// for access to LocateDrives()
+#endif
 	};
 
 class CFileCB;
@@ -1614,7 +1618,6 @@
 	TBool DeleteOnClose() const;
  
 	
-
 	void SetNotifyAsyncReadersPending(TBool aNotifyAsyncReadersPending);
 	TBool NotifyAsyncReadersPending() const;
 	TInt CancelAsyncReadRequest(CFileShare* aShareP, TRequestStatus* aStatusP);
@@ -1629,6 +1632,7 @@
 	IMPORT_C TInt64 Size64() const;
 	IMPORT_C void SetSize64(TInt64 aSize, TBool aDriveLocked);
     IMPORT_C void SetMaxSupportedSize(TUint64 aMaxFileSize);
+	IMPORT_C TBool DirectIOMode(const RMessagePtr2& aMessage);
 
 
     TInt64 CachedSize64() const;
@@ -1638,6 +1642,17 @@
 	TInt RemoveLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength);
 	TInt CheckLock64(CFileShare* aFileShare,TInt64 aPos,TInt64 aLength);
 
+	/** Sequential mode */
+	
+	IMPORT_C TBool IsSequentialMode() const;
+	void SetSequentialMode(TBool aSequential);
+
+	/**
+	The FileShare List contains the file shares of an open file.
+	*/
+	TDblQue<CFileShare>& FileShareList() const;
+	void AddShare(CFileShare& aFileShare);
+
     /**
     Renames the file with the full file name provided.
 
@@ -1954,12 +1969,12 @@
 public:
 
 	/**
-	The full name of the file, including drive and extensions.
+	The full name of the file, including its extension.
 	*/
 	HBufC* iFileName;
 
 	/**
-	The full name of the file, including drive and extensions - Folded.
+	The full name of the file, including its extension - Folded.
 	*/
 	HBufC* iFileNameF;
 
@@ -1968,11 +1983,9 @@
 	TDrive*             iCreatedDrive;
 	TDrive*             iDrive;
 	CMountCB*           iMount;
-	TFileLocksArray*    iFileLocks; ///< an array of file position locks
+	TFileLocksArray*    iFileLocks;		// An array of file position locks
 	TDblQueLink         iMountLink;
-	
-private:
-	CFileBody* iBody;
+	CFileBody*			iBody;
 
 	friend class TDrive;
 	friend class CMountCB;
@@ -2025,7 +2038,7 @@
 	void InitL();
 	inline CFileCB& File();
 
-	// For serialising aync requests 
+	// For serialising async requests 
 	TBool RequestStart(CFsMessageRequest* aRequest);
 	void RequestEnd(CFsMessageRequest* aRequest);
 	TBool RequestInProgress() const;
@@ -2050,8 +2063,13 @@
 
 	// A pointer to the current request. Used for serializing client 
 	// async read/write requests which might otherwise be processed out
-	// of order due to fair scheduling
-	CFsMessageRequest* iCurrentRequest;	
+	// of order due to fair scheduling.
+	CFsMessageRequest* iCurrentRequest;
+	
+	// The FileShare List link object.
+	TDblQueLink iShareLink;
+
+friend class CFileBody;	// For access to iShareLink
 	};