diff -r 000000000000 -r 1e05558e2206 usbclasses/usbphoneasmodem/classcontroller/inc/usbmscfileclasscontroller.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbclasses/usbphoneasmodem/classcontroller/inc/usbmscfileclasscontroller.h Thu Dec 17 09:14:30 2009 +0200 @@ -0,0 +1,75 @@ +// 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: +// +// + + +/** + @file + @internalTechnology + Adheres to the UsbMan USB Class API and talks to mass storage file system + */ + +#ifndef USBMSCLASSCONTROLLER_H +#define USBMSCLASSCONTROLLER_H + +#include +#include +#include "usbmscfile.h" + +class MUsbClassControllerNotify; + +const TInt KMsStartupPriority = 3; + + +/** + The CUsbMscFileClassController class + Implements the USB Class Controller API + */ +NONSHARABLE_CLASS(CUsbMscFileClassController) : public CUsbClassControllerPlugIn + { + +public: + static CUsbMscFileClassController* NewL(MUsbClassControllerNotify& aOwner); + ~CUsbMscFileClassController(); + +private: + // Functions derived from CActive. + virtual void RunL(); + virtual void DoCancel(); + virtual TInt RunError(TInt aError); + +private: + // Functions derived from CUsbClassControllerBase + virtual void Start(TRequestStatus& aStatus); + virtual void Stop(TRequestStatus& aStatus); + + virtual void GetDescriptorInfo(TUsbDescriptor& aDescriptorInfo) const; + +private: + CUsbMscFileClassController(MUsbClassControllerNotify& aOwner); + void ConstructL(); + +private: + + void ReadMassStorageConfigL(); + void ConfigItem(const TPtrC& source, TDes& target, TInt maxLength); + void SetupUnitsL(); + +private: + RUsbMscFile iMscFile; + TMassStorageConfig iMsConfig; + }; + +#endif //USBMSCLASSCONTROLLER_H