cbsref/telephonyrefplugins/atltsy/integrationtest/src/testltsyphbkread.cpp
author hgs
Tue, 22 Jun 2010 11:02:32 +0100
changeset 44 8b72faa1200f
permissions -rw-r--r--
201024_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     1
// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     2
// All rights reserved.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     7
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     8
// Initial Contributors:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    10
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    11
// Contributors:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    12
//
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    13
// Description:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    14
// 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    15
// 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    16
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    17
//system include 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    18
#include <mpbutil.h> 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    19
//user include
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    20
#include "testltsyphbkread.h"
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    21
//const defination
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    22
_LIT(KExpectedText, "TelNo 010");
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    23
_LIT(KExpectedNumber,"+123456010");
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    24
const TUint KExpectedIndex = 10;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    25
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    26
CTestLtsyPhbkRead::CTestLtsyPhbkRead(CTestLtsyModel& aTestModel)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    27
	: CTestLtsyPhoneStoreBase(aTestModel)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    28
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    29
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    30
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    31
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    32
CTestLtsyPhbkRead::~CTestLtsyPhbkRead()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    33
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    34
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    35
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    36
CTestLtsyPhbkRead* CTestLtsyPhbkRead::NewLC(CTestLtsyModel& aTestModel)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    37
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    38
	CTestLtsyPhbkRead* self = new (ELeave)CTestLtsyPhbkRead(aTestModel);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    39
	CleanupStack::PushL(self);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    40
	self->ConstructL();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    41
	return self;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    42
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    43
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    44
CTestLtsyPhbkRead* CTestLtsyPhbkRead::NewL(CTestLtsyModel& aTestModel)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    45
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    46
	CTestLtsyPhbkRead* self=CTestLtsyPhbkRead::NewLC(aTestModel);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    47
	CleanupStack::Pop(self);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    48
	return self;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    49
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    50
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    51
void CTestLtsyPhbkRead::ConstructL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    52
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    53
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    54
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    55
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    56
TVerdict CTestLtsyPhbkRead::doTestStepPreambleL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    57
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    58
	INFO_PRINTF1(_L("CTestLtsyPhbkRead::doTestStepPreambleL called"));
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    59
	SetTestStepResult(EPass);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    60
	return TestStepResult();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    61
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    62
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    63
TVerdict CTestLtsyPhbkRead::doTestStepL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    64
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    65
	INFO_PRINTF1(_L("CTestLtsyPhbkRead::doTestStepL called"));
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    66
	TInt index = 10;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    67
	TRAPD(err,ReadEntryL(index));
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    68
	if(err != KErrNone)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    69
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    70
		INFO_PRINTF2(_L("The error was returned %d!! when read phonebook"),err);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    71
	    SetTestStepResult(EFail);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    72
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    73
	return TestStepResult();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    74
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    75
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    76
TVerdict CTestLtsyPhbkRead::doTestStepPostambleL()
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    77
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    78
	INFO_PRINTF1(_L("CTestLtsyPhbkRead::doTestStepPostambleL called"));
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    79
	return TestStepResult();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    80
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    81
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    82
void CTestLtsyPhbkRead::ReadEntryL(TInt aIndex)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    83
	{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    84
	TRequestStatus status;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    85
	TBuf8<800> outputPbData;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    86
	TUint16 index(0);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    87
	TUint8 tonNpi;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    88
	TPtrC16 number(NULL,0);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    89
	TPtrC16 text(NULL,0);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    90
	TUint8 tagValue(0);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    91
	CPhoneBookBuffer::TPhBkTagType dataType;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    92
	
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    93
	CPhoneBookBuffer* pbBuffer=new(ELeave) CPhoneBookBuffer(); // used to read phonebook data
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    94
	CleanupStack::PushL(pbBuffer);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    95
	PhoneBookStore().Read(status,aIndex,1,outputPbData);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    96
	User::WaitForRequest(status);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    97
	TInt r=status.Int();
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    98
	INFO_PRINTF2(_L("Write() request status = %d"),r);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
    99
	// Set pbBuffer to point to received phonebook data
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   100
	pbBuffer->Set(&outputPbData); 
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   101
	// Start reading received phonebook data
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   102
	pbBuffer->StartRead();       
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   103
	while (pbBuffer->GetTagAndType(tagValue,dataType)==KErrNone)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   104
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   105
		switch (tagValue)
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   106
			{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   107
		case RMobilePhoneBookStore::ETagPBAdnIndex:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   108
			pbBuffer->GetValue(index);			
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   109
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   110
		case RMobilePhoneBookStore::ETagPBTonNpi:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   111
			pbBuffer->GetValue(tonNpi);			
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   112
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   113
		case RMobilePhoneBookStore::ETagPBText:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   114
			pbBuffer->GetValue(text);			
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   115
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   116
		case RMobilePhoneBookStore::ETagPBNumber:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   117
			pbBuffer->GetValue(number);			
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   118
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   119
		default:
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   120
			// An unsupported field type - just skip this value
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   121
			pbBuffer->SkipValue(dataType);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   122
			break;
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   123
			}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   124
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   125
	if((index != KExpectedIndex)||(text.MatchF(KExpectedText)==KErrNotFound)||
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   126
			                      (number.MatchF(KExpectedNumber)==KErrNotFound))
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   127
		{
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   128
		SetTestStepResult(EFail);
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   129
		}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   130
	CleanupStack::PopAndDestroy();             
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   131
	}
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   132
8b72faa1200f 201024_02
hgs
parents:
diff changeset
   133
// end of file