os/kernelhwsrv/userlibandfileserver/fileserver/smassstorage/inc/cusbmassstoragecontroller.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // Class declaration for CUsbMassStorageController.
    15 // 
    16 //
    17 
    18 /**
    19  @file
    20  @internalTechnology
    21 */
    22 
    23 #ifndef __CUSBMASSSTORAGECONTROLLER_H__
    24 #define __CUSBMASSSTORAGECONTROLLER_H__
    25 
    26 #include <e32base.h>
    27 #include <usbmsshared.h>
    28 #include "drivemanager.h"
    29 #include "cusbmassstorageserver.h"
    30 #include "protocol.h"
    31 
    32 /**
    33 Mass Storage Controller class.
    34 Encapsulates the drive manager, transport and protocol for USB Mass Storage.
    35 Its main purpose is to instantiate and initialize these objects.
    36 */
    37 class CUsbMassStorageController : public CBase
    38 	{
    39 	public:
    40 	~CUsbMassStorageController();
    41 	void CreateL(RArray<TInt>& aDriveMapping);
    42 	CDriveManager& DriveManager();
    43 	TInt Start(TMassStorageConfig& aConfig);
    44 	TInt Stop();
    45 	void Reset();
    46 	void GetTransport(MTransportBase* &aTransport);
    47 	enum TTransportldd {EUsbc = 1, EUsbcsc};
    48 	
    49 	private:
    50 	CDriveManager* iDriveManager;
    51 	MTransportBase* iTransport;
    52 	MProtocolBase* iProtocol;
    53 	CUsbMassStorageServer* iServer;
    54 	TMassStorageConfig iConfig;
    55 	TInt iMaxDrives;
    56 	TTransportldd iTransportLddFlag;
    57 	};
    58 
    59 #endif //__CUSBMASSSTORAGECONTROLLER_H__