usbclasses/usbphoneasmodem/classimplementation/inc/usbmscfile.h
changeset 35 9d8b04ca6939
child 63 ef2686f7597e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbclasses/usbphoneasmodem/classimplementation/inc/usbmscfile.h	Fri Jun 04 10:27:39 2010 +0100
@@ -0,0 +1,96 @@
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description: RUsbMscFile Client side header
+//              Implements the Symbian OS USB mass storage server RUsbMscFile API 
+// 
+
+#ifndef USBMSCFILE_H
+#define USBMSCFILE_H
+
+#include <e32std.h>
+#include "usbmscfileshared.h"
+
+class RUsbMscFile : public RSessionBase
+/**
+ The RUsbMscFile class implements the Symbian OS USB mass storage RUsbMscFile API 
+ 
+ @internalTechnology
+ */
+	{
+public:
+	/**
+     Constructor
+      
+	 @internalTechnology
+	 */
+	inline RUsbMscFile();
+
+	/**
+     Extract the version of the server providing the RUsbMscFile API
+     
+     @return	Version of the server
+     @internalTechnology
+	 */
+	inline TVersion Version() const;
+
+	/**
+	 * Setup a logical unit. Maps a file containing a file system image
+	 * to a logical Mass Storage unit. The parameter aLun is reserved for 
+	 * future expansion, currently only one unit with LUN = 0 is supported.
+	 * 
+	 * @param aFileName path to the file containing the file system image
+	 * @param aProtocol type of SCSI protocol to use
+	 * @param aLun logical unit number (LUN) to assign
+     * @return KErrNone on success, otherwise system wide error code 
+	 */
+	inline TInt SetupLogicalUnit( const TDesC& aFileName, 
+	                              const TInt aProtocol, 
+	                              const TInt aLun = 0 );
+	/**
+     StartL the mass storage transport service
+     
+	 @param aMsConfig	mass storage configuration info
+	 @internalTechnology
+	 @return KErrNone on success, otherwise system wide error code 
+	 */
+	inline TInt Start( const TMassStorageConfig& aMsConfig );
+
+	/**
+     Stops mass storage transport service
+     
+	 @internalTechnology
+	 @return KErrNone on success, otherwise system wide error code 
+	 */
+	inline TInt Stop();
+	
+	/**
+     Shut down the Mass Storage server
+     
+	 @internalTechnology
+	 @return KErrNone on success, otherwise system wide error code 
+	 */
+	inline TInt Shutdown();
+	
+	/**
+	 Connects to mass storage file server
+	 
+	 @internalTechnology
+	 @return KErrNone on success, otherwise system wide error code 
+	 */
+    inline TInt Connect();
+    
+	};
+
+#include "usbmscfile.inl"
+
+#endif //USBMSCFILE_H