Revert last code drop.
// Copyright (c) 2003-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
*/
#include "CMtfTestParameter.h"
#include "CMtfTestCase.h"
/** Ownership of aParameter is taken at the END. aParameter must be on the cleanup stack.
aParameter must not be NULL. */
CMtfTestParameter* CMtfTestParameter::NewL(const TDesC& aName,
TMtfTestParameterGeneralType aGeneralTypeId, TMtfTestParameterSpecificType aSpecificTypeId, TAny* aParameter)
{
__ASSERT_ALWAYS(aParameter != NULL, CMtfTestCase::Panic(CMtfTestCase::EMtfInvalidParameter));
CMtfTestParameter* self = new(ELeave) CMtfTestParameter(aGeneralTypeId,aSpecificTypeId);
CleanupStack::PushL(self);
self->ConstructL(aName);
CleanupStack::Pop(self);
self->iParameter = aParameter;
return self;
}
CMtfTestParameter::CMtfTestParameter(TMtfTestParameterGeneralType aGeneralTypeId,TMtfTestParameterSpecificType aSpecificTypeId)
:iGeneralTypeId(aGeneralTypeId),iSpecificTypeId(aSpecificTypeId)
{
}
void CMtfTestParameter::ConstructL(const TDesC& aName)
{
iName = aName.AllocL();
}
//#include "CMTFTestCase.h"
//#include <e32base.h>
#include "test/testexecutelog.h"
#include "TMtfTestParameterType.h"
/** Depending on the parameter type, attempt to cast back to the associated
type and delete the parameter. */
CMtfTestParameter::~CMtfTestParameter()
{
delete iName;
switch (iGeneralTypeId)
{
case EMtfValueType:
if(iSpecificTypeId != EMtfTTime)
{
delete reinterpret_cast<HBufC8*>(iParameter);
}
break;
case EMtfHBufCType:
switch (iSpecificTypeId)
{
case EMtfHBufC:
delete reinterpret_cast<HBufC*>(iParameter);
break;
case EMtfHBufC8:
delete reinterpret_cast<HBufC8*>(iParameter);
break;
default:
User::Panic(KMtfUnrecognisedHBufCType,0);
break;
}
break;
case EMtfCBaseType:
if(iSpecificTypeId != EMtfTTime)
{
delete reinterpret_cast<CBase*>(iParameter);
}
break;
default:
User::Panic(KMtfParameterGeneralTypeUnrecognised,-781);
break;
}
}
const TDesC& CMtfTestParameter::Name() const
{
// guaranteed not to be NULL
return *iName;
}
TMtfTestParameterGeneralType CMtfTestParameter::GeneralTypeId() const
{
return iGeneralTypeId;
}
TMtfTestParameterSpecificType CMtfTestParameter::SpecificTypeId() const
{
return iSpecificTypeId;
}
TAny* CMtfTestParameter::Parameter() const
{
return iParameter;
}