/*
* Copyright (c) 2002-2006 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: Defines the class implementing MWlanHwInitInterface interface
*
*/
/*
* %version: 4 %
*/
#ifndef WLANHWINIT_H
#define WLANHWINIT_H
#include "wlanhwinitinterface.h"
class CWlanHwInitMain;
// CLASS DECLARATION
/**
* This class implements the MWlanHwInitInterface interface.
*
* @since Series 60 3.1
*/
NONSHARABLE_CLASS( CWlanHwInit ) : public CBase, public MWlanHwInitInterface
{
public: // Constructors and destructor
/**
* Two-phased constructor.
*/
IMPORT_C static CWlanHwInit* NewL();
/**
* Destructor.
*/
IMPORT_C virtual ~CWlanHwInit();
// Functions from base classes
/**
* From MWlanHwInitInterface Get pointer to hardware specific initialization data.
* @since Series 60 3.1
* @param aInitData Pointer to initialization data, NULL if none.
* @param aInitLength Length of initialization data.
* @param aFwData Pointer to firmware data, NULL if none.
* @param aFwLength Length of firmware data.
*/
IMPORT_C void GetHwInitData(
const TUint8** aInitData,
TUint& aInitLength,
const TUint8** aFwData,
TUint& aFwLength );
/**
* From MWlanHwInitInterface Get device MAC address.
* @since Series 60 3.1
* @param aMacAddress MAC address of the device.
* @return A Symbian error code.
*/
IMPORT_C TInt GetMacAddress(
TMacAddr& aMacAddress );
/**
* Methods for production testing.
*/
/**
* From MWlanHwInitInterface Get pointer to hardware specific initialization data
* for production testing.
* @since Series 60 3.1
* @param aInitData Pointer to initialization data, NULL if none.
* @param aInitLength Length of initialization data.
* @param aFwData Pointer to firmware data, NULL if none.
* @param aFwLength Length of firmware data.
*/
IMPORT_C void GetHwTestInitData(
const TUint8** aInitData,
TUint& aInitLength,
const TUint8** aFwData,
TUint& aFwLength );
/**
* From MWlanHwInitInterface Get hardware specific production testing data.
* @since Series 60 3.1
* @param aId Id of the parameter to read.
* @param aData Buffer for read data.
* @return A Symbian error code.
*/
IMPORT_C TInt GetHwTestData(
TUint aId,
TDes8& aData );
/**
* From MWlanHwInitInterface Set hardware specific production testing data.
* @since Series 60 3.1
* @param aId Id of the parameter to store.
* @param aData Data to be stored.
* @return A Symbian error code.
*/
IMPORT_C TInt SetHwTestData(
TUint aId,
TDesC8& aData );
private:
/**
* C++ default constructor.
*/
CWlanHwInit();
/**
* By default Symbian 2nd phase constructor is private.
*/
void ConstructL();
private: // Data
/** The main implemenation of HW specific functionality. */
CWlanHwInitMain* iMain;
};
#endif // WLANHWINIT_H