sl@0: // Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of the License "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Partition Management Abstract class for Embedded MMC devices sl@0: // sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: @publishedPartner sl@0: @released sl@0: */ sl@0: sl@0: #ifndef __EMMCPTN_H__ sl@0: #define __EMMCPTN_H__ sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: class DEMMCPartitionInfo : public DBase sl@0: /** sl@0: * Base Abstract class for classes that define a partitioning scheme for Embedded MMC devices sl@0: * sl@0: * @publishedPartner sl@0: * @released sl@0: */ sl@0: { sl@0: public: sl@0: /** sl@0: * Initialise the Partition Object. sl@0: * sl@0: * Called as part of the creation process for the MMC Media driver. sl@0: * sl@0: * Initialisation can include activities such as Memory structure allocation and sl@0: * creation of any required driver session/handles. sl@0: * sl@0: * @param aDriver Owning DMediaDriver class sl@0: * @return KErrNone if successful, standard error code otherwise. sl@0: */ sl@0: virtual TInt Initialise(DMediaDriver* aDriver) =0; sl@0: sl@0: /** sl@0: * Read the partition information for the media. sl@0: * sl@0: * Called as a child function of the PartitionInfo() method. sl@0: * sl@0: * @see DMmcMediaDriverFlash::PartitionInfo() sl@0: * sl@0: * @param anInfo An object that, on successful return, contains the partition information. sl@0: * @return KErrNone if successful, standard error code otherwise. sl@0: */ sl@0: virtual TInt PartitionInfo(TPartitionInfo& anInfo, const TMMCCallBack& aCallBack) =0; sl@0: sl@0: /** sl@0: * Returns partition specific drive capability attributes. sl@0: * sl@0: * Called as a child function of the Caps() method. sl@0: * sl@0: * @see DMmcMediaDriverFlash::Caps() sl@0: * sl@0: * @param aDrive Local drive to be queried. sl@0: * @param aInfo Media drive capability object to be populated. sl@0: * @return KErrNone if successful, standard error code otherwise. sl@0: */ sl@0: virtual TInt PartitionCaps(TLocDrv& aDrive, TDes8& aInfo) =0; sl@0: }; sl@0: sl@0: /** sl@0: * Factory Method that returns an instance of a DEMMCPartitionInfo class. sl@0: * sl@0: * @return Newly created DEMMCPartitionInfo object. sl@0: */ sl@0: IMPORT_C DEMMCPartitionInfo* CreateEmmcPartitionInfo(); sl@0: sl@0: #endif