kernel/eka/include/drivers/emmcptn.h
author Tom Cosgrove <tom.cosgrove@nokia.com>
Fri, 28 May 2010 16:29:07 +0100
changeset 30 8aab599e3476
parent 0 a41df078684a
permissions -rw-r--r--
Fix for bug 2283 (RVCT 4.0 support is missing from PDK 3.0.h) Have multiple extension sections in the bld.inf, one for each version of the compiler. The RVCT version building the tools will build the runtime libraries for its version, but make sure we extract all the other versions from zip archives. Also add the archive for RVCT4.

// 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 the License "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:
// Partition Management Abstract class for Embedded MMC devices
// 
//

/**
 @file
 @publishedPartner
 @released
*/

#ifndef __EMMCPTN_H__
#define __EMMCPTN_H__

#include <drivers/mmc.h>
#include <drivers/locmedia.h>
#include <drivers/pbusmedia.h>

class DEMMCPartitionInfo : public DBase
/**
 *  Base Abstract class for classes that define a partitioning scheme for Embedded MMC devices
 * 
 * 	@publishedPartner
 *  @released
 */
	{
public:
	/**
	 * Initialise the Partition Object.
	 * 
	 * Called as part of the creation process for the MMC Media driver.
	 * 
	 * Initialisation can include activities such as Memory structure allocation and
	 * creation of any required driver session/handles. 
	 * 
	 * @param aDriver Owning DMediaDriver class
	 * @return KErrNone if successful, standard error code otherwise.
	 */
	virtual TInt Initialise(DMediaDriver* aDriver) =0;
	
	/**
	 * Read the partition information for the media.
	 * 
	 * Called as a child function of the PartitionInfo() method.
	 * 
	 * @see DMmcMediaDriverFlash::PartitionInfo() 
	 * 
	 * @param anInfo An object that, on successful return, contains the partition information.
	 * @return KErrNone if successful, standard error code otherwise.
	 */
	virtual TInt PartitionInfo(TPartitionInfo& anInfo, const TMMCCallBack& aCallBack) =0;
	
	/**
	 * Returns partition specific drive capability attributes.
	 * 
	 * Called as a child function of the Caps() method.
	 * 
	 * @see DMmcMediaDriverFlash::Caps()
	 * 
	 * @param aDrive Local drive to be queried. 
	 * @param aInfo Media drive capability object to be populated.
	 * @return KErrNone if successful, standard error code otherwise. 
	 */
	virtual TInt PartitionCaps(TLocDrv& aDrive, TDes8& aInfo) =0;
	};

/**
 * Factory Method that returns an instance of a DEMMCPartitionInfo class.
 * 
 * @return Newly created DEMMCPartitionInfo object.
 */
IMPORT_C DEMMCPartitionInfo* CreateEmmcPartitionInfo();

#endif