idlefw/tsrc/devicestatusplugin/mt_devstaplg/testingtools.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 19 Aug 2010 10:13:44 +0300
branchRCL_3
changeset 28 053c6c7c14f3
permissions -rw-r--r--
Revision: 201026 Kit: 201033

/*
* Copyright (c) 2004 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:
*
*/


#ifndef TESTINGTOOLS_H
#define TESTINGTOOLS_H

#include <btsapinternalpskeys.h>
//#include <telephonyinternalpskeys.h>
#include <activeidle2domainpskeys.h>
#include <e32property.h>
#include "stubdataholder.h"

LOCAL_C void ChangeBTSAPValueL( TInt aValue )
    {
    RProperty::Define( KPSUidBluetoothSapConnectionState,
                                KBTSapConnectionState,
                                RProperty::EInt );
                                
    User::LeaveIfError( RProperty::Set( KPSUidBluetoothSapConnectionState,
                    KBTSapConnectionState,
                    aValue ) );
    
    }
    
LOCAL_C void DeleteBTSAPKey()
    {
    RProperty::Delete( KPSUidBluetoothSapConnectionState,
                                KBTSapConnectionState );
    }
    
    
LOCAL_C void EmulateSimRegFailEvent()
    {
    
        // Read capability: ReadUserData.
    _LIT_SECURITY_POLICY_C1( KReadUserPolicy, ECapabilityReadUserData ); 
    // Write capability: WriteDeviceData.
    _LIT_SECURITY_POLICY_C1( KWriteDevicePolicy, ECapabilityWriteDeviceData );

    RProperty::Define( 
         	KPSUidAiInformation,
         	KActiveIdleState,
         	RProperty::EInt,
            KReadUserPolicy,
            KWriteDevicePolicy );

    
    User::LeaveIfError( RProperty::Set( KPSUidAiInformation,
                    KActiveIdleState,
                    EPSAiForeground ) );    
    TNWInfo* nwInfo = CStubDataHolder::Instance()->NWInfo();
    nwInfo->iRegistrationStatus = ENWRegistrationDenied;

    CStubDataHolder::Instance()->NWMessageObserver()->HandleNetworkMessage( MNWMessageObserver::ENWMessageNetworkConnectionFailure );
    }


LOCAL_C void EmulateHCZEvent( const TDesC& aZoneName )
    {
    TNWInfo* nwInfo = CStubDataHolder::Instance()->NWInfo();
    nwInfo->iViagIndicatorType = ENWViagIndicatorTypeHomeZone;
    nwInfo->iViagTextTag.Copy( aZoneName );

    CStubDataHolder::Instance()->NWMessageObserver()->HandleNetworkMessage( MNWMessageObserver::ENWMessageCurrentHomeZoneMessage );
    }

LOCAL_C void EmulateMCNEvent( const TDesC& aName )
    {
    TNWInfo* nwInfo = CStubDataHolder::Instance()->NWInfo();
    nwInfo->iMCNIndicatorType = ENWMCNIndicatorTypeActive;
    nwInfo->iMCNName.Copy( aName );

    CStubDataHolder::Instance()->NWMessageObserver()->HandleNetworkMessage( MNWMessageObserver::ENWMessageCurrentCellInfoMessage );
    }

LOCAL_C void EmulateCUGEvent( TInt aIndex )
    {
    CStubDataHolder::Instance()->RemoveSSSetting( ESSSettingsCug );    
    CStubDataHolder::Instance()->SetSSSettingsValueL( ESSSettingsCug, aIndex );        
    RArray<MSSSettingsObserver*> observers = CStubDataHolder::Instance()->SSSettingsObservers();
    
    for( TInt i( 0 ); i < observers.Count(); i++ )
        {
        observers[i]->PhoneSettingChanged( ESSSettingsCug, aIndex );        
        }    
    }


LOCAL_C void EncodePLMNField( TDes& aBuf, TBool aShowSPN, TInt aMCC, TInt aMNC )
    {
    TPtr8 ptr( (TUint8*)aBuf.Ptr(), aBuf.MaxSize() );
    ptr.Append( TChar( aShowSPN ) );    
    
    //one PLMN pair
    ptr.Append( TChar( 1 ) );    
    
    TBuf8<3> mcc;
    TBuf8<3> mnc;
    
//    mcc.Format( _L8("%d"), aMCC );
  //  mnc.Format( _L8("%d"), aMNC );
    mcc.AppendNumFixedWidthUC( aMCC, EDecimal, 3 );//"241"
    mnc.AppendNumFixedWidthUC( aMNC, EDecimal, 3 );//"091"
    
    ptr.Append( TChar( ( mcc[0] - 48 ) | ( ( mcc[1] - 48 ) << 4 ) ) );    
    ptr.Append( TChar( ( mcc[2] - 48 ) | ( ( mnc[2] - 48 ) << 4 ) ) );    
    ptr.Append( TChar( ( mnc[0] - 48 ) | ( ( mnc[1] - 48 ) << 4 ) ) );    
    
    aBuf.SetLength( 3 );
        
    }


#endif      //  TESTINGTOOLS_H