diff -r 630d2f34d719 -r 07a122eea281 wapstack/wapmessageapi/te_wapstack/src/WapBoundCLPushSteps.cpp --- a/wapstack/wapmessageapi/te_wapstack/src/WapBoundCLPushSteps.cpp Tue Aug 31 16:23:08 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,917 +0,0 @@ -// Copyright (c) 2002-2010 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: -// CBoundCLPushStep_xyz derived implementations -// -// - -/** - @file - @internalComponent -*/ - -#include "WapBoundCLPushSteps.h" -#include "WapStackSuiteDefs.h" -#include -#include -#include - - -CBoundCLPushStepBase::CBoundCLPushStepBase() -/** -* Constructor -*/ - { - } - -CBoundCLPushStepBase::~CBoundCLPushStepBase() -/** -* Destructor -*/ - { - if(iImp) - { - UnloadInterface(); - } - } - -// Load CWapBoundCLPushService Interface -CWapBoundCLPushService* CBoundCLPushStepBase::LoadInterface() - { - TInt trapValue; - CWapBoundCLPushService* implementation = NULL; - // UID {0x101FBB39} - SWS implementation - TUid KInterfaceUid = {0x101FBB39}; - INFO_PRINTF2(_L("Calling new NewL(0x%08X) method"), KInterfaceUid); - TRAP(trapValue, implementation = CWapBoundCLPushService::NewL(KInterfaceUid)); - if(!trapValue) - { - INFO_PRINTF2(_L("Interface is loaded: implementation.addr = 0x%08x"), implementation); - return implementation; - } - else return NULL; - } - -void CBoundCLPushStepBase::UnloadInterface() - { - INFO_PRINTF2(_L("Interface at implementation.addr = 0x%08x is deleted"), iImp); - delete iImp; - iImp = NULL; - REComSession::FinalClose(); - } - -CBoundCLPushStep_1::~CBoundCLPushStep_1() -/** -* Destructor -*/ - { - } - -CBoundCLPushStep_1::CBoundCLPushStep_1() -/** -* Constructor -*/ - { - } - -TVerdict CBoundCLPushStep_1::doTestStepL() -/** -* @return - TVerdict code -* Override of base class pure virtual -* Our implementation only gets called if the base class doTestStepPreambleL() did -* not leave. That being the case, the current test result value will be EPass. -*/ - { - // - // CWapBoundCLPushService - // - INFO_PRINTF1(_L("CreateImplementation - CWapBoundCLPushService")); - INFO_PRINTF1(_L("Calling old NewL() method")); - - TInt trapValue; - - SetTestStepResult(EFail); - TRAP(trapValue, iImp = CWapBoundCLPushService::NewL()); - if(!trapValue) - { - INFO_PRINTF2(_L("Interface is loaded: implementation.addr = 0x%08x"), iImp); - UnloadInterface(); - iImp = LoadInterface(); - if(iImp) - { - INFO_PRINTF1(_L("CreateImplementation - OK")); - SetTestStepResult(EPass); - UnloadInterface(); - } - } - return TestStepResult(); - } - -CBoundCLPushStep_2::CBoundCLPushStep_2() -/** -* Constructor -*/ - { - } - -CBoundCLPushStep_2::~CBoundCLPushStep_2() -/** -* Destructor -*/ - { - } - -TVerdict CBoundCLPushStep_2::doTestStepL() -/** -* Test Connect methoths -* @return - TVerdict code -* -*/ - { - INFO_PRINTF1(_L("BOUNDCL-PUSH: Testing Connect")); - if(TestStepResult() == EPass ) - { - SetTestStepResult(EFail); - iImp = LoadInterface(); - if(iImp) - { - TInt bearer, port; - TInt error = KErrNone; - TBool secure= EFalse; - TBool reconnect= EFalse; - SetLastError(KErrNone); - TBool delay = EFalse; - - if(GetIntFromConfig(ConfigSection(), KWapBearer, bearer)) iBearer = (Wap::TBearer)bearer; - if(GetIntFromConfig(ConfigSection(), KWapLocalPort, port)) iLocalPort = (Wap::TPort)port; - if(GetIntFromConfig(ConfigSection(), KWapExError, error)) SetExpectedError(error); - if(GetBoolFromConfig(ConfigSection(), KWapSecure, secure)) iSecure = secure; - if(GetBoolFromConfig(ConfigSection(),_L("Reconnect"), reconnect)) iReconnect = reconnect; - if(GetBoolFromConfig(ConfigSection(),KWapDelayPortClosure, delay)) iDelayPortClosure = delay; - - if(UseSimTsy()) - { - GetIntFromConfig(ConfigSection(), KWapSIMTSYState, iSimTsyState); - User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, iSimTsyState)); - } - User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn)); - - SetState(EConnect); - iControl->ReStart(); - ShowConnectionInfo(); - - StartScheduler(); - UnloadInterface(); - } - } - return TestStepResult(); - } - -TInt CBoundCLPushStep_2::CallStateMachine() - { - TInt err = KErrNone; - INFO_PRINTF2(_L("CallStateMachine: state [%d]"), State()); - switch(iState) - { - case EConnect: - INFO_PRINTF1(_L("EConnect")); - err = iImp->Connect(iBearer, (Wap::TPort)iLocalPort, iSecure); - INFO_PRINTF2(_L("Connection completed with code = %d"), err); - if( err == KErrNone) - { - if(iReconnect) - { - INFO_PRINTF1(_L("Second connect")); - iControl->ReStart(); - break; - } - } - SetState(EFinish); - SetLastError(err); - iControl->ReStart(); - break; - - case EFinish: - // it's necessary to delay port closure, let the other concurrent test step - // can fail opening the same port with expected error EPortAlreadyBound (-5498) - if (iDelayPortClosure) - User::After(5000000); - - INFO_PRINTF1(_L("EFinish")); - if(GetLastError() == GetExpectedError()) - SetTestStepResult(EPass); - else - SetTestStepResult(EFail); - SetState(EIdle); - StopScheduler(); - break; - - case EIdle: - default: - INFO_PRINTF2(_L("Error: EIdle or unknown state %d"), State()); - SetTestStepResult(EFail); - StopScheduler(); - break; - } - return (0); - } - -CBoundCLPushStep_3::CBoundCLPushStep_3() -/** -* Constructor -*/ - { - } - -CBoundCLPushStep_3::~CBoundCLPushStep_3() -/** -* Destructor -*/ - { - } - -TVerdict CBoundCLPushStep_3::doTestStepL() -/* -* Test the BoundCLPush APIs in unconnected state. -*/ - { - INFO_PRINTF1(_L("BoundCLPush. Requests without connection")); - // check preamble result - TVerdict verdict = TestStepResult(); - if (verdict==EPass) - { - TInt err, ret; - iImp = LoadInterface(); - if (!iImp) - { - ERR_PRINTF1(_L("Unable to load BoundCLPush Interface")); - verdict = EFail; - } - else - { - GetIntFromConfig(ConfigSection(),KWapExError,(TInt&)iExError); - ShowConnectionInfo(); - TRequestStatus reqStatus; - iImp->AwaitPush(iRecvHeadersBuf, iRecvBodyBuf, iTransactionIdPckg, reqStatus); - TRAP(ret, TEST_CHECKL(reqStatus.Int(), iExError, _L("AwaitPush Fails not as expected"))) - if (ret) - verdict = EFail; - else - { - Wap::TPort port; - err=iImp->GetLocalPort(port); - TRAP(ret, TEST_CHECKL(err, iExError, _L("GetLocalPort Fails not as expected"))) - if (ret) - verdict = EFail; - else - { - HBufC8* localHost; - err=iImp->GetLocalAddress(localHost); - TRAP(ret, TEST_CHECKL(err, iExError, _L("GetLocalAddress Fails not as expected"))) - if (ret) - verdict = EFail; - else - { - err=iImp->GetBearer(iBearer); - TRAP(ret, TEST_CHECKL(err, iExError, _L("GetBearer Fails not as expected"))) - if (ret) - verdict = EFail; - else - { - HBufC8* host; - err=iImp->GetServerAddress(host); - TRAP(ret, TEST_CHECKL(err, iExError, _L("GetServerAddress Fails not as expected"))) - if (ret) - verdict = EFail; - } - } - } - } - UnloadInterface(); - } - } - if (verdict==EPass) - { - INFO_PRINTF1(_L("BoundCLPush. Requests Fail as expected")); - } - SetTestStepResult(verdict); - return TestStepResult(); - } - -TInt CBoundCLPushStep_3::CallStateMachine() - { - return (0); - } - - -CBoundCLPushStep_4::CBoundCLPushStep_4() -/** -* Constructor -*/ - { - } - -CBoundCLPushStep_4::~CBoundCLPushStep_4() -/** -* Destructor -*/ - { - } - -TVerdict CBoundCLPushStep_4::doTestStepL() -/** -* Test receiving PDU data over UDP -* The test is run concurently with CBoundCLPushStep_9 test. CBoundCLPushStep_4 waits for push message whilst -* CBoundCLPushStep_9 sends a push message over UDP using loopback. -* The test pair is used to test two cases (dependent on configuration read for CBoundCLPushStep_9): -* - sending PDU data that is smaller than the allocated buffer on the receiving side (<=1024) -* - sending PDU data that is larger than the allocated buffer on the receiving side and needs reallocation (>1024) -* @return - TVerdict code -* -*/ - { - INFO_PRINTF1(_L("BOUND-CLPUSH: Connect-AwaitPush")); - INFO_PRINTF1(_L("Receiving PDU over UDP from a concurrent test... ")); - if(TestStepResult() == EPass ) - { - SetTestStepResult(EFail); - iImp = LoadInterface(); - if(iImp) - { - SetLastError(KErrNone); - - TInt bearer, port; - TInt error = KErrNone; - - if(GetIntFromConfig(ConfigSection(),KWapBearer, bearer)) - { - iBearer = static_cast(bearer); - } - if(GetIntFromConfig(ConfigSection(),KWapLocalPort, port)) - { - iLocalPort = static_cast(port); - } - if(GetIntFromConfig(ConfigSection(),KWapExError, error)) - { - SetExpectedError(error); - } - GetBoolFromConfig(ConfigSection(), KMiddleCancel, iMiddleCancel); - GetBoolFromConfig(ConfigSection(), KMultiReadCancel, iMultiReadCancel); - TInt headerLength, bufLength; - if(GetIntFromConfig(ConfigSection(),KWapWSPRecvHeaderLength, headerLength)) - { - iHeaderRecvBufLength=static_cast(headerLength); - } - if(GetIntFromConfig(ConfigSection(),KWapWSPRecvBodyLength, bufLength)) - { - iBodyRecvBufLength=static_cast(bufLength); - } - iRecvHeaders = HBufC8::NewL(iHeaderRecvBufLength); - iRecvBody = HBufC8::NewL(iBodyRecvBufLength); - - User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn)); - - - if(UseSimTsy()) - { - GetIntFromConfig(ConfigSection(),KWapSIMTSYState, iSimTsyState); - User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, iSimTsyState)); - } - - - SetState(EConnect); - iControl->ReStart(); - ShowConnectionInfo(); - - StartScheduler(); - delete iRecvBody; - iRecvBody=NULL; - delete iRecvHeaders; - iRecvHeaders=NULL; - UnloadInterface(); - } - } - return TestStepResult(); - } - -TInt CBoundCLPushStep_4::CallStateMachine() - { - TVerdict verdict = EFail; - TInt err = KErrNone; - TInt activate = 0; - - INFO_PRINTF2(_L("CallStateMachine: state [%d]"), State()); - switch(iState) - { - case EConnect: - INFO_PRINTF1(_L("EConnect")); - err = iImp->Connect(iBearer, iLocalPort, EFalse); - INFO_PRINTF2(_L("Connection completed with code = %d"), err); - if( err == KErrNone) - { - if(iBearer != Wap::EIP) - { - TRAP(err, WaitForInitializeL()); - } - iRecvHeadersBuf.Set(iRecvHeaders->Des()); - iRecvBodyBuf.Set(iRecvBody->Des()); - iImp->AwaitPush(iRecvHeadersBuf, iRecvBodyBuf, iTransactionIdPckg, *iStatus); - INFO_PRINTF1(_L("Start AwaitingPush.....")); - activate = 1; - if (!iMiddleCancel) - { - SetState(EAwaitPush); - } - else - { - INFO_PRINTF1(_L("Cancel AwaitPush")); - iImp->CancelAwaitPush(); - SetState(EFinish); - } - } - else - { - SetState(EFinish); - iControl->ReStart(); - } - SetLastError(err); - break; - - case EAwaitPush: - - INFO_PRINTF1(_L("EAwaitPush")); - if(iStatus->Int() != KErrNone && iStatus->Int()!=Wap::EMoreData) - // AwaitPush failed - { - INFO_PRINTF1(_L("AwaitPush failed")); - SetLastError(iStatus->Int()); - SetState(EFinish); - iControl->ReStart(); - } - else - { - iMaxWspHeaderRecvBuffer.Append(iRecvHeadersBuf); - iMaxWspDataRecvBuffer.Append(iRecvBodyBuf); - if (iStatus->Int()==Wap::EMoreData) - { - iImp->AwaitPush(iRecvHeadersBuf, iRecvBodyBuf, iTransactionIdPckg, *iStatus); - activate = 1; - if (!iMultiReadCancel) - { - SetState(EAwaitPush); - } - else - { - INFO_PRINTF1(_L("Cancel Receive in EMutipleReceive state")); - iImp->CancelAwaitPush(); - SetState(EFinish); - } - } - else - { - SetLastError(iStatus->Int()); - iControl->ReStart(); - SetState(EFinish); - } - } - break; - - case EFinish: - - INFO_PRINTF1(_L("EFinish")); - if(iStatus->Int() != KErrNone) - { - SetLastError(iStatus->Int()); - } - verdict = (GetLastError() == GetExpectedError())?EPass:EFail; - if (verdict==EPass && !iMiddleCancel && !iMultiReadCancel) - { - iImp->CancelAwaitPush(); - INFO_PRINTF1(_L("Headers:")); - DumpBuf(iMaxWspHeaderRecvBuffer); - INFO_PRINTF1(_L("Body")); - DumpBuf(iMaxWspDataRecvBuffer); - if (verdict==EPass) - { - HBufC8* buf; - iImp->GetServerAddress(buf); - verdict = (buf->Match(iRemoteHost)!=KErrNotFound)?EPass:EFail; - delete buf; - } - if (verdict==EPass) - { - Wap::TPort port; - iImp->GetLocalPort(port); - verdict = (port == iLocalPort)?EPass:EFail; - } - if (verdict==EPass) - { - Wap::TBearer bearer; - iImp->GetBearer(bearer); - verdict = (bearer == iBearer)?EPass:EFail; - } - if (verdict==EPass) - { - //This test can not perform. - HBufC8* buf; - iImp->GetLocalAddress(buf); - delete buf; - } - } - SetTestStepResult(verdict); - SetState(EIdle); - StopScheduler(); - break; - - case EIdle: - default: - INFO_PRINTF2(_L("Error: EIdle or unknown state %d"), State()); - SetTestStepResult(verdict); - StopScheduler(); - - break; - } - return (activate); -} - -CBoundCLPushStep_5::CBoundCLPushStep_5() -/** -* Constructor -*/ - { - } - -CBoundCLPushStep_5::~CBoundCLPushStep_5() -/** -* Destructor -*/ - { - } - -TVerdict CBoundCLPushStep_5::doTestStepL() -/** -* Test Cancel -* @return - TVerdict code -* -*/ - { - INFO_PRINTF1(_L("BOUNDCL-PUSH: Testing Cancel")); - if(TestStepResult() == EPass ) - { - SetTestStepResult(EFail); - iImp = LoadInterface(); - if(iImp) - { - TInt bearer, port; - TInt error = KErrNone; - TBool secure= EFalse; - TBool reconnect= EFalse; - SetLastError(KErrNone); - - if(GetIntFromConfig(ConfigSection(),KWapBearer, bearer)) iBearer = (Wap::TBearer)bearer; - if(GetIntFromConfig(ConfigSection(),KWapLocalPort, port)) iLocalPort = (Wap::TPort)port; - if(GetIntFromConfig(ConfigSection(), KWapExError, error)) SetExpectedError(error); - if(GetBoolFromConfig(ConfigSection(), KWapSecure, secure)) iSecure = secure; - if(GetBoolFromConfig(ConfigSection(),_L("Reconnect"), reconnect)) iReconnect = reconnect; - - ShowConnectionInfo(); - error = iImp->Connect(iBearer, iLocalPort, iSecure); - INFO_PRINTF2(_L("Connection completed with code = %d"), error); - if( error == KErrNone) - { - TBuf8<100> header, body; - TPckgBuf pushIdPckg; - TRequestStatus reqStatus; - iImp->AwaitPush(header, body, pushIdPckg, reqStatus); - SetState(EAwaitPush); - StartScheduler(); - iControl->ReStart(); - if(reqStatus==KErrCancel) - { - SetTestStepResult(EPass); - } - } - - } - } - return TestStepResult(); - } - -TInt CBoundCLPushStep_5::CallStateMachine() - { - INFO_PRINTF2(_L("CallStateMachine: state [%d]"), State()); - switch(iState) - { - case EAwaitPush: - INFO_PRINTF1(_L("EAwaitPush")); - iImp->CancelAwaitPush(); - SetState(EFinish); - iControl->ReStart(); - break; - case EFinish: - INFO_PRINTF1(_L("EFinish")); - SetState(EIdle); - StopScheduler(); - break; - case EIdle: - default: - INFO_PRINTF2(_L("Error: EIdle or unknown state %d"), State()); - SetTestStepResult(EFail); - StopScheduler(); - break; - } - return (0); - } - - -CBoundCLPushStep_6::CBoundCLPushStep_6() - { - } -CBoundCLPushStep_6::~CBoundCLPushStep_6() - { - } -TVerdict CBoundCLPushStep_6::doTestStepL() - { - return TestStepResult(); - } -TInt CBoundCLPushStep_6::CallStateMachine() - { - return (0); - } - -CBoundCLPushStep_7::CBoundCLPushStep_7() - { - } -CBoundCLPushStep_7::~CBoundCLPushStep_7() - { - } -TVerdict CBoundCLPushStep_7::doTestStepL() - { - INFO_PRINTF1(_L("BOUND-CLPUSH: Connect-AwaitPush-AwaitPush")); - if(TestStepResult() == EPass ) - { - SetTestStepResult(EFail); - iImp = LoadInterface(); - if(iImp) - { - SetLastError(KErrNone); - - TInt bearer, port; - TInt error = KErrNone; - - if(GetIntFromConfig(ConfigSection(),KWapBearer, bearer)) - { - iBearer = static_cast(bearer); - } - if(GetIntFromConfig(ConfigSection(),KWapLocalPort, port)) - { - iLocalPort = static_cast(port); - } - if(GetIntFromConfig(ConfigSection(),KWapExError, error)) - { - SetExpectedError(error); - } - TInt headerLength, bufLength; - if(GetIntFromConfig(ConfigSection(),KWapWSPRecvHeaderLength, headerLength)) - { - iHeaderRecvBufLength=static_cast(headerLength); - } - if(GetIntFromConfig(ConfigSection(),KWapWSPRecvBodyLength, bufLength)) - { - iBodyRecvBufLength=static_cast(bufLength); - } - iRecvHeaders = HBufC8::NewL(iHeaderRecvBufLength); - iRecvBody = HBufC8::NewL(iBodyRecvBufLength); - SetState(EConnect); - iControl->ReStart(); - ShowConnectionInfo(); - - StartScheduler(); - delete iRecvBody; - iRecvBody=NULL; - delete iRecvHeaders; - iRecvHeaders=NULL; - UnloadInterface(); - } - } - return TestStepResult(); - } -TInt CBoundCLPushStep_7::CallStateMachine() - { - TVerdict verdict = EFail; - TInt err = KErrNone; - TInt activate = 0; - - INFO_PRINTF2(_L("CallStateMachine: state [%d]"), State()); - switch(iState) - { - case EConnect: - - INFO_PRINTF1(_L("EConnect")); - err = iImp->Connect(iBearer, iLocalPort, EFalse); - INFO_PRINTF2(_L("Connection completed with code = %d"), err); - if( err == KErrNone) - { - iRecvHeadersBuf.Set(iRecvHeaders->Des()); - iRecvBodyBuf.Set(iRecvBody->Des()); - TRequestStatus reqStatus; - iImp->AwaitPush(iRecvHeadersBuf, iRecvBodyBuf, iTransactionIdPckg, reqStatus); - iImp->AwaitPush(iRecvHeadersBuf, iRecvBodyBuf, iTransactionIdPckg, *iStatus); - INFO_PRINTF1(_L("AwaitPush")); - activate = 1; - } - else - { - iControl->ReStart(); - } - SetLastError(err); - SetState(EFinish); - break; - - case EFinish: - - INFO_PRINTF1(_L("EFinish")); - iImp->CancelAwaitPush(); - if(iStatus->Int() != KErrNone) - { - SetLastError(iStatus->Int()); - } - verdict = (GetLastError() == GetExpectedError())?EPass:EFail; - SetTestStepResult(verdict); - SetState(EIdle); - StopScheduler(); - break; - - case EIdle: - default: - INFO_PRINTF2(_L("Error: EIdle or unknown state [%d]"), State()); - SetTestStepResult(verdict); - StopScheduler(); - break; - } - return (activate); - } - -CBoundCLPushStep_8::CBoundCLPushStep_8() - { - } -CBoundCLPushStep_8::~CBoundCLPushStep_8() - { - } -TVerdict CBoundCLPushStep_8::doTestStepL() -/** -* @return - TVerdict code -* Wrong parameter values for Bound CL Push API: -* - Wrong TUid on construction -* - Connect to wrong bearer (already implemented in test 2) -*/ - { - INFO_PRINTF1(_L("CreateImplementation with wrong Uid- CWapBoundCLPushService")); - if(TestStepResult() == EPass ) - { - TInt error; - if(GetIntFromConfig(ConfigSection(),KWapExError2, error)) - { - iExError2=error; - } - TInt trapValue; - - TUid invalidInterfaceUid = {0x00000000}; - - INFO_PRINTF2(_L("Calling new NewL(0x%08X) method"), invalidInterfaceUid); - TRAP(trapValue, iImp = CWapBoundCLPushService::NewL(invalidInterfaceUid)); - TVerdict verdict = (trapValue == iExError2)?EPass:EFail; - if (verdict==EPass) - { - INFO_PRINTF2(_L("CreateImplementation with wrong Uid- Failed as expected with error %d"),trapValue); - } - SetTestStepResult(verdict); - } - return TestStepResult(); - } -TInt CBoundCLPushStep_8::CallStateMachine() - { - return (0); - } - -CBoundCLPushStep_9::CBoundCLPushStep_9() - { - } -CBoundCLPushStep_9::~CBoundCLPushStep_9() - { - } -TVerdict CBoundCLPushStep_9::doTestStepL() -/** -* Test sending PDU data over UDP -* Test should be run concurently with CBoundCLPushStep_4 test. CBoundCLPushStep_4 waits for push message whilst -* CBoundCLPushStep_9 sends a push message over UDP using loopback. -* The test pair is used to test two cases (dependent on configuration read for CBoundCLPushStep_9): -* - sending PDU data that is smaller than the allocated buffer on the receiving side (<=1024) -* - sending PDU data that is larger than the allocated buffer on the receiving side and needs reallocation (>1024) -* @return - TVerdict code -*/ - { - INFO_PRINTF1(_L("BOUND-CLPUSH: Sending Push Message")); - - if(TestStepResult() == EPass ) - { - User::After(20000000); - SetTestStepResult(EFail); - SetLastError(KErrNone); - TInt error = KErrNone; - /** - Getting information from config file - Local port - Remote port - Local address - Remote address - Size of data to be sent - */ - GetIntFromConfig(ConfigSection(),KLocalPort, iLclPort); - GetIntFromConfig(ConfigSection(),KRemotePort, iRmtPort); - TPtrC temp; - if(GetStringFromConfig(ConfigSection(),KWapLocalHost, temp)) - { - error = iLocalAddr.Input(temp); - if(error) - { - User::Leave(error); - } - } - if(GetStringFromConfig(ConfigSection(),KWapRemoteHost, temp )) - { - error = iRemoteAddr.Input(temp); - if(error) - { - User::Leave(error); - } - } -// error = GetStringFromConfig(ConfigSection(),KWapData, temp); - - RFs fS; - RFile file; - User::LeaveIfError(fS.Connect()); - _LIT(KPduFilename,"z:\\testdata\\configs\\pushpdu.bin"); - _LIT(KPDUDataSize,"Data_Size"); - - User::LeaveIfError(file.Open(fS, KPduFilename , EFileStream | EFileRead)); - /* Read PDU from the file */ - - TInt dataSize(1024); - GetIntFromConfig(ConfigSection(),KPDUDataSize, dataSize); - iSendBuffPtr = HBufC8::NewL(dataSize); - TPtr8 tmpbuf = iSendBuffPtr->Des(); - User::LeaveIfError(file.Read(tmpbuf)); - - file.Close(); - fS.Close(); - /** - Settings - */ - iLocalAddr.SetPort(iLclPort); - iRemoteAddr.SetPort(iRmtPort); -// iSendBuffPtr = HBufC8::NewL(temp.Length()); -// TPtr8 tmp = iSendBuffPtr->Des(); -// tmp.Copy(temp); - INFO_PRINTF2(_L("Sending PDU of size %d over UDP to a concurrent test... "), dataSize); - /** - socket server - */ - RSocketServ socketServer; - User::LeaveIfError(socketServer.Connect()); - CleanupClosePushL(socketServer); - RSocket sock; - User::LeaveIfError(sock.Open(socketServer, KAfInet, KSockDatagram, KProtocolInetUdp)); - CleanupClosePushL(sock); - TRequestStatus status; - sock.SendTo(iSendBuffPtr->Des(),iRemoteAddr , 0, status); - User::WaitForRequest(status); - INFO_PRINTF2(_L("Send Push Message - status = %d"), status.Int()); - User::LeaveIfError(status.Int()); - sock.Close(); - socketServer.Close(); - CleanupStack::PopAndDestroy(&sock); - CleanupStack::Pop(&socketServer); - TVerdict verdict = (status.Int() == KErrNone)?EPass:EFail; - SetTestStepResult(verdict); - } - return TestStepResult(); - } -TInt CBoundCLPushStep_9::CallStateMachine() - { - return (0); - } - - - -