sl@0: // Copyright (c) 2007-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 "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: // sl@0: sl@0: /** sl@0: @file sl@0: @internalComponent sl@0: @prototype sl@0: */ sl@0: sl@0: #include "dvbhhaitestutil.h" sl@0: sl@0: const TUid KDvbhPropertyCategory = sl@0: { sl@0: 0x101f45ef //TestFramework's UID3 sl@0: }; sl@0: sl@0: struct TDvbhProperty sl@0: { sl@0: TInt iKey; sl@0: TInt iType; sl@0: }; sl@0: sl@0: const TUint KNumDvbhProperties = 8; sl@0: const TDvbhProperty KDvbhProperties[] = sl@0: { sl@0: {EDvbhPropertyKeyState, RProperty::EInt}, sl@0: {EDvbhPropertyKeyPlatform, RProperty::EByteArray}, sl@0: {EDvbhPropertyKeyNetworkTime, RProperty::EByteArray}, sl@0: {EDvbhPropertyKeyPerformanceData, RProperty::EByteArray}, sl@0: {EDvbhPropertyKeyFrequency, RProperty::EInt}, sl@0: {EDvbhPropertyKeyNetworkId, RProperty::EInt}, sl@0: {EDvbhPropertyKeySignalQuality, RProperty::EInt}, sl@0: {EDvbhPropertyKeyCellId, RProperty::EInt} sl@0: }; sl@0: sl@0: TInt CDvbhTestUtil::GetKey(TDvbhPropertyKey aKey) sl@0: { sl@0: return KDvbhProperties[aKey].iKey; sl@0: } sl@0: sl@0: TInt CDvbhTestUtil::GetType(TDvbhPropertyKey aKey) sl@0: { sl@0: return KDvbhProperties[aKey].iType; sl@0: } sl@0: sl@0: CDvbhTestUtil::CDvbhTestUtil(MDvbhHaiTestLoggerInterface& aTestStepLogger) sl@0: : iTestStepLogger(aTestStepLogger) sl@0: { sl@0: } sl@0: sl@0: CDvbhTestUtil* CDvbhTestUtil::NewL(MDvbhHaiTestLoggerInterface& aTestStepLogger) sl@0: { sl@0: CDvbhTestUtil* self = new (ELeave) CDvbhTestUtil(aTestStepLogger); sl@0: return self; sl@0: } sl@0: sl@0: TInt CDvbhTestUtil::DefineDvbhProperty(TInt aPropertyKey, TInt aType) const sl@0: { sl@0: TInt err = RProperty::Define(KDvbhPropertyCategory, aPropertyKey, aType); sl@0: if (err != KErrAlreadyExists && err != KErrNone) sl@0: { sl@0: iTestStepLogger.InfoPrintf3(_L("Error %d defining property %d"), err, aPropertyKey); sl@0: return err; sl@0: } sl@0: else sl@0: { sl@0: err = KErrNone; sl@0: } sl@0: return err; sl@0: } sl@0: sl@0: TInt CDvbhTestUtil::DefineDvbhProperty(TInt aPropertyKey, TInt aType, const TDesC8& aInitialValue) const sl@0: { sl@0: TInt err = DefineDvbhProperty(aPropertyKey, aType); sl@0: if (err != KErrNone) sl@0: { sl@0: return err; sl@0: } sl@0: return SetByteArrayProperty(aPropertyKey, aInitialValue); sl@0: } sl@0: sl@0: TInt CDvbhTestUtil::DeleteDvbhProperty(TInt aPropertyKey) sl@0: { sl@0: TInt err = RProperty::Delete(KDvbhPropertyCategory, aPropertyKey); sl@0: if (err != KErrNone && err != KErrNotFound) sl@0: { sl@0: iTestStepLogger.InfoPrintf3(_L("Error %d deleting property %d"), err, aPropertyKey); sl@0: } sl@0: else sl@0: { sl@0: err = KErrNone; sl@0: } sl@0: return err; sl@0: } sl@0: sl@0: TInt CDvbhTestUtil::SetByteArrayProperty(TInt aPropertyKey, const TDesC8& aValue) const sl@0: { sl@0: TInt result = RProperty::Set(KDvbhPropertyCategory, aPropertyKey, aValue); sl@0: if (result != KErrNone) sl@0: { sl@0: iTestStepLogger.InfoPrintf3(_L("Error %d setting the byte array property with key %d."), result, aPropertyKey); sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: TInt CDvbhTestUtil::SetIntegerProperty(TInt aPropertyKey, TInt aValue) const sl@0: { sl@0: TInt result = RProperty::Set(KDvbhPropertyCategory, aPropertyKey, aValue); sl@0: if (result != KErrNone) sl@0: { sl@0: iTestStepLogger.InfoPrintf4(_L("Error %d setting the integer property with key %d to %d"), result, aPropertyKey, aValue); sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: TInt CDvbhTestUtil::DefineDvbhStateProperty(TInt aInitialState) sl@0: { sl@0: TInt result = DefineDvbhProperty(EDvbhPropertyKeyState, KDvbhProperties[EDvbhPropertyKeyState].iType); sl@0: if (result == KErrNone && aInitialState != ENoInitialState) sl@0: { sl@0: result = SetStateProperty(aInitialState); sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: TInt CDvbhTestUtil::DefineDvbhIntegerProperty(TInt aPropertyKey, TInt aInitialValue) const sl@0: { sl@0: TInt result = DefineDvbhProperty(aPropertyKey, KDvbhProperties[aPropertyKey].iType); sl@0: if (result == KErrNone) sl@0: { sl@0: result = SetIntegerProperty(aPropertyKey, aInitialValue); sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: TInt CDvbhTestUtil::SetStateProperty(TInt aValue) sl@0: { sl@0: TInt result = SetIntegerProperty(EDvbhPropertyKeyState, aValue); sl@0: if (result != KErrNone) sl@0: { sl@0: iTestStepLogger.InfoPrintf3(_L("Error %d setting state property to %d"), result, aValue); sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: TInt CDvbhTestUtil::DefineAllDvbhProperties() sl@0: { sl@0: for (TUint i=0;i