sl@0: // Copyright (c) 2008-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: // Hardware Configuration Respoitory Platform Independent Layer (PIL) sl@0: // sl@0: sl@0: // -- INCLUDES ---------------------------------------------------------------- sl@0: sl@0: sl@0: #include sl@0: #include sl@0: sl@0: #ifdef HCRTEST_NO_EXPORT sl@0: #undef EXPORT_C sl@0: #undef IMPORT_C sl@0: #define EXPORT_C sl@0: #define IMPORT_C sl@0: #endif // HCRTEST_NO_EXPORT sl@0: sl@0: #include sl@0: #include "hcr_debug.h" sl@0: #include "hcr_pil.h" sl@0: sl@0: sl@0: // -- FUNCTIONS --------------------------------------------------------------- sl@0: sl@0: #ifndef MAKE_DEF_FILE sl@0: namespace HCR sl@0: { sl@0: sl@0: LOCAL_C TInt GetUValueWordSetting (const TSettingId& aId, sl@0: TSettingType aType, UValueWord& aValue) sl@0: { sl@0: HCR_FUNC("GetUValueWordSetting"); sl@0: sl@0: if (HCRNotReady) sl@0: HCR_TRACE_RETURN(KErrNotReady); sl@0: sl@0: __NK_ASSERT_DEBUG((aType & KMaskWordTypes) != 0); sl@0: sl@0: TSettingRef sref(0,0); sl@0: TInt err = 0; sl@0: err = HCRSingleton->FindSetting(aId, aType, sref); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: err = sref.iRep->GetValue(sref, aValue); sl@0: __NK_ASSERT_DEBUG(err == KErrNone); sl@0: sl@0: return KErrNone; sl@0: } sl@0: sl@0: LOCAL_C TInt GetUValueLargeSetting64 (const TSettingId& aId, sl@0: TSettingType aType, UValueLarge& aValue) sl@0: { sl@0: HCR_FUNC("GetUValueLargeSetting64"); sl@0: sl@0: if (HCRNotReady) sl@0: HCR_TRACE_RETURN(KErrNotReady); sl@0: sl@0: __NK_ASSERT_DEBUG(aType == ETypeInt64 || aType == ETypeUInt64); sl@0: sl@0: TSettingRef sref(0,0); sl@0: TInt err = 0; sl@0: err = HCRSingleton->FindSetting(aId, aType, sref); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: err = sref.iRep->GetLargeValue(sref, aValue); sl@0: __NK_ASSERT_DEBUG(err == KErrNone); sl@0: sl@0: return KErrNone; sl@0: } sl@0: sl@0: sl@0: LOCAL_C TInt GetUValueLargeSettingTDes8 (const TSettingId& aId, sl@0: TSettingType aType, TDes8& aValue) sl@0: { sl@0: HCR_FUNC("GetUValueLargeSettingTDes8"); sl@0: sl@0: if (HCRNotReady) sl@0: HCR_TRACE_RETURN(KErrNotReady); sl@0: sl@0: __NK_ASSERT_DEBUG(aType == ETypeBinData || aType == ETypeText8); sl@0: sl@0: TSettingRef sref(0,0); sl@0: TInt err = 0; sl@0: err = HCRSingleton->FindSetting(aId, aType, sref); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: UValueLarge value; sl@0: err = sref.iRep->GetLargeValue(sref, value); sl@0: __NK_ASSERT_DEBUG(err == KErrNone); sl@0: sl@0: TInt len = sref.iRep->GetLength(sref); sl@0: if (len > aValue.MaxSize()) sl@0: HCR_TRACE_RETURN(KErrTooBig); sl@0: sl@0: if (aType == ETypeBinData) sl@0: aValue.Copy(value.iData, len); sl@0: else sl@0: aValue.Copy(value.iString8, len); sl@0: sl@0: return KErrNone; sl@0: } sl@0: sl@0: LOCAL_C TInt GetUValueLargeSettingTUint8 (const TSettingId& aId, TSettingType aType, sl@0: TUint16 aMaxLen, TUint8* aValue, TUint16& aLen) sl@0: { sl@0: HCR_FUNC("GetUValueLargeSettingTUint8"); sl@0: sl@0: if (HCRNotReady) sl@0: HCR_TRACE_RETURN(KErrNotReady); sl@0: sl@0: __NK_ASSERT_DEBUG(aType == ETypeBinData || aType == ETypeText8); sl@0: sl@0: TSettingRef sref(0,0); sl@0: TInt err = 0; sl@0: err = HCRSingleton->FindSetting(aId, aType, sref); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: UValueLarge value; sl@0: err = sref.iRep->GetLargeValue(sref, value); sl@0: __NK_ASSERT_DEBUG(err == KErrNone); sl@0: sl@0: aLen = sref.iRep->GetLength(sref); sl@0: if (aLen > aMaxLen) sl@0: HCR_TRACE_RETURN(KErrTooBig); sl@0: sl@0: if (aType == ETypeBinData) sl@0: memcpy (aValue, value.iData, aLen); sl@0: else sl@0: memcpy (aValue, value.iString8, aLen); sl@0: sl@0: return KErrNone; sl@0: } sl@0: sl@0: LOCAL_C TInt GetUValueLargeSettingArray (const TSettingId& aId, TSettingType aType, sl@0: TUint16 aMaxLen, TUint32* aValue, TUint16& aLen) sl@0: { sl@0: HCR_FUNC("GetUValueLargeSettingArray"); sl@0: sl@0: if (HCRNotReady) sl@0: HCR_TRACE_RETURN(KErrNotReady); sl@0: sl@0: __NK_ASSERT_DEBUG(aType == ETypeArrayInt32 || aType == ETypeArrayUInt32); sl@0: sl@0: TSettingRef sref(0,0); sl@0: TInt err = 0; sl@0: err = HCRSingleton->FindSetting(aId, aType, sref); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: UValueLarge value; sl@0: err = sref.iRep->GetLargeValue(sref, value); sl@0: __NK_ASSERT_DEBUG(err == KErrNone); sl@0: sl@0: aLen = sref.iRep->GetLength(sref); sl@0: if (aLen > aMaxLen) sl@0: HCR_TRACE_RETURN(KErrTooBig); sl@0: sl@0: if (aType == ETypeArrayInt32) sl@0: memcpy (aValue, value.iArrayInt32, aLen); sl@0: else sl@0: memcpy (aValue, value.iArrayUInt32, aLen); sl@0: sl@0: return KErrNone; sl@0: } sl@0: sl@0: } sl@0: sl@0: #endif // MAKE_DEF_FILE sl@0: sl@0: sl@0: // -- SETTING GET ------------------------------------------------------------- sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetInt(const TSettingId& aId, TInt8& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetInt8"); sl@0: sl@0: UValueWord value; sl@0: TInt err = GetUValueWordSetting(aId, ETypeInt8, value); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: aValue = value.iInt8; sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetInt(const TSettingId& aId, TInt16& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetInt16"); sl@0: sl@0: UValueWord value; sl@0: TInt err = GetUValueWordSetting(aId, ETypeInt16, value); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: aValue = value.iInt16; sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetInt(const TSettingId& aId, TInt32& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetInt32"); sl@0: sl@0: UValueWord value; sl@0: TInt err = GetUValueWordSetting(aId, ETypeInt32, value); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: aValue = value.iInt32; sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetInt(const TSettingId& aId, TInt64& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetInt64"); sl@0: sl@0: UValueLarge value; sl@0: TInt err = GetUValueLargeSetting64(aId, ETypeInt64, value); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: aValue = *(value.iInt64); sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetBool(const TSettingId& aId, TBool& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetBool"); sl@0: sl@0: UValueWord value; sl@0: TInt err = GetUValueWordSetting(aId, ETypeBool, value); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: aValue = value.iBool; sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetUInt(const TSettingId& aId, TUint8& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetUInt8"); sl@0: sl@0: UValueWord value; sl@0: TInt err = GetUValueWordSetting(aId, ETypeUInt8, value); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: aValue = value.iUInt8; sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetUInt(const TSettingId& aId, TUint16& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetUInt16"); sl@0: sl@0: UValueWord value; sl@0: TInt err = GetUValueWordSetting(aId, ETypeUInt16,value); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: aValue = value.iUInt16; sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetUInt(const TSettingId& aId, TUint32& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetUInt32"); sl@0: sl@0: UValueWord value; sl@0: TInt err = GetUValueWordSetting(aId, ETypeUInt32, value); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: aValue = value.iUInt32; sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetUInt(const TSettingId& aId, TUint64& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetUInt64"); sl@0: sl@0: UValueLarge value; sl@0: TInt err = GetUValueLargeSetting64(aId, ETypeUInt64, value); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: aValue = *(value.iUInt64); sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetLinAddr(const TSettingId& aId, TLinAddr& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetLinAddr"); sl@0: sl@0: UValueWord value; sl@0: TInt err = GetUValueWordSetting(aId, ETypeLinAddr, value); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: aValue = value.iAddress; sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetData(const TSettingId& aId, TUint16 aMaxLen, sl@0: TUint8* aValue, TUint16& aLen) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetDataTUint8"); sl@0: sl@0: TInt err = GetUValueLargeSettingTUint8(aId, ETypeBinData, aMaxLen, aValue, aLen); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetData(const TSettingId& aId, TDes8& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetDataTDes8"); sl@0: sl@0: TInt err = GetUValueLargeSettingTDes8(aId, ETypeBinData, aValue); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetString(const TSettingId& aId, TUint16 aMaxLen, sl@0: TText8* aValue, TUint16& aLen) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetStringTUint8"); sl@0: sl@0: TInt err = GetUValueLargeSettingTUint8(aId, ETypeText8, aMaxLen, aValue, aLen); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: EXPORT_C TInt HCR::GetString(const TSettingId& aId, TDes8& aValue) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetStringTUint8"); sl@0: sl@0: TInt err = GetUValueLargeSettingTDes8(aId, ETypeText8, aValue); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: EXPORT_C TInt HCR::GetArray(const TSettingId& aId, TUint16 aMaxLen, sl@0: TInt32* aValue, TUint16& aLen) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetArrayTInt32"); sl@0: sl@0: TInt err = GetUValueLargeSettingArray(aId, ETypeArrayInt32, aMaxLen, (TUint32*)aValue, aLen); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: EXPORT_C TInt HCR::GetArray(const TSettingId& aId, TUint16 aMaxLen, sl@0: TUint32* aValue, TUint16& aLen) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("HCR::GetArrayTUInt32"); sl@0: sl@0: TInt err = GetUValueLargeSettingArray(aId, ETypeArrayUInt32, aMaxLen, aValue, aLen); sl@0: if (err != KErrNone) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: return KErrNone; sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: // -- MULTIPLE GETS ----------------------------------------------------------- sl@0: sl@0: EXPORT_C TInt HCR::GetWordSettings(TInt aNum, const SSettingId aIds[], sl@0: TInt32 aValues[], TSettingType aTypes[], TInt aErrors[]) sl@0: { sl@0: sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("GetWordSettings"); sl@0: sl@0: if (HCRNotReady) sl@0: HCR_TRACE_RETURN(KErrNotReady); sl@0: sl@0: if(aNum <= 0 || aIds == NULL || aErrors == NULL || aValues == NULL) sl@0: HCR_TRACE_RETURN(KErrArgument); sl@0: sl@0: TInt err = KErrNone; sl@0: sl@0: //Don't leave while the resources are not fully allocated/deallocated sl@0: NKern::ThreadEnterCS(); sl@0: sl@0: err = HCRSingleton->GetWordSettings(aNum, aIds, aValues, aTypes, aErrors); sl@0: sl@0: //All de-allocations are done, leave a critical section sl@0: NKern::ThreadLeaveCS(); sl@0: sl@0: __NK_ASSERT_DEBUG(err >= KErrNone); sl@0: sl@0: return err; sl@0: sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: // -- SETTING PROPERTIES ------------------------------------------------------ sl@0: sl@0: EXPORT_C TInt HCR::GetTypeAndSize(const TSettingId& aId, TSettingType& aType, sl@0: TUint16& aLen) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: HCR_FUNC("GetTypeAndSize"); sl@0: if (HCRNotReady) sl@0: HCR_TRACE_RETURN(KErrNotReady); sl@0: sl@0: TSettingRef sref(0,0); sl@0: TInt err = HCRSingleton->FindSettingWithType(aId, aType, sref); sl@0: sl@0: __NK_ASSERT_DEBUG(err == KErrNone || err == KErrNotFound); sl@0: sl@0: if(err == KErrNotFound) sl@0: { sl@0: aLen = 0; sl@0: HCR_TRACE_RETURN(KErrNotFound); sl@0: } sl@0: sl@0: aLen = sref.iRep->GetLength(sref); sl@0: return KErrNone; sl@0: sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif //MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: // -- SETTING SEARCHES -------------------------------------------------------- sl@0: sl@0: EXPORT_C TInt HCR::FindNumSettingsInCategory (TCategoryUid aCatUid) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: sl@0: HCR_FUNC("FindNumSettingsInCategory"); sl@0: sl@0: if (HCRNotReady) sl@0: HCR_TRACE_RETURN(KErrNotReady); sl@0: sl@0: TInt err = HCRSingleton->FindNumSettingsInCategory(aCatUid); sl@0: sl@0: if(err < 0) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: return err; sl@0: sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: EXPORT_C TInt HCR::FindSettings(TCategoryUid aCat, TInt aMaxNum, sl@0: TElementId aElIds[], TSettingType aTypes[], TUint16 aLens[]) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: sl@0: HCR_FUNC("FindSettings without pattern/mask"); sl@0: sl@0: sl@0: if (HCRNotReady) sl@0: HCR_TRACE_RETURN(KErrNotReady); sl@0: sl@0: if(aMaxNum <= 0 || aElIds == NULL) sl@0: HCR_TRACE_RETURN(KErrArgument); sl@0: sl@0: TInt err = HCRSingleton->FindSettings(aCat, aMaxNum, aElIds, sl@0: aTypes, aLens); sl@0: sl@0: if(err < 0) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: return err; sl@0: sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: EXPORT_C TInt HCR::FindSettings(TCategoryUid aCat, sl@0: TInt aMaxNum, TUint32 aMask, TUint32 aPattern, sl@0: TElementId aElIds[], TSettingType aTypes[], TUint16 aLens[]) sl@0: { sl@0: #ifndef MAKE_DEF_FILE sl@0: sl@0: HCR_FUNC("FindSettings with pattern/mask"); sl@0: sl@0: sl@0: if (HCRNotReady) sl@0: HCR_TRACE_RETURN(KErrNotReady); sl@0: sl@0: if(aMaxNum <= 0 || aElIds == NULL) sl@0: HCR_TRACE_RETURN(KErrArgument); sl@0: sl@0: TInt err = KErrNone; sl@0: sl@0: //Don't leave while the resources are not fully allocated/deallocated sl@0: NKern::ThreadEnterCS(); sl@0: sl@0: err = HCRSingleton->FindSettings(aCat, aMaxNum, aMask, aPattern, sl@0: aElIds, aTypes, aLens); sl@0: sl@0: //All de-allocations are done, leave a critical section sl@0: NKern::ThreadLeaveCS(); sl@0: sl@0: if(err < 0) sl@0: HCR_TRACE_RETURN(err); sl@0: sl@0: return err; sl@0: sl@0: #else sl@0: HCR_TRACE_RETURN(KErrGeneral); sl@0: #endif // MAKE_DEF_FILE sl@0: } sl@0: sl@0: sl@0: // -- KERNEL ENTRY POINT ------------------------------------------------------ sl@0: sl@0: sl@0: #ifdef MAKE_DEF_FILE sl@0: sl@0: DECLARE_STANDARD_EXTENSION() sl@0: { sl@0: return KErrNone; sl@0: } sl@0: sl@0: #endif // MAKE_DEF_FILE sl@0: