--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/common_tsy/test/integration/src/tcustomapitsytesthelper.cpp Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,521 @@
+// Copyright (c) 2007-2009 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:
+//
+
+#include "tcustomapitsytesthelper.h"
+
+
+
+/**
+* Constructor
+*/
+TCustomApiTsyTestHelper::TCustomApiTsyTestHelper(CCTSYIntegrationTestSuiteStepBase& aTestStep)
+ : TTsyTestHelperBase( aTestStep )
+ {
+ }
+/**
+* Notify reset for RMmCustomAPI::NotifyAlsBlockedChanged
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyAlsBlockedChanged(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ RMmCustomAPI::TGetAlsBlockStatus& aBlockStatus,
+ RMmCustomAPI::TGetAlsBlockStatus aExpectedBlockStatus,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyAlsBlockedChanged did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aBlockStatus != aExpectedBlockStatus )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aMmCustomAPI.NotifyAlsBlockedChanged(aRequestStatus, aBlockStatus);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyAlsBlockedChanged Wrong completion status"))
+ ASSERT_EQUALS(aBlockStatus, aExpectedBlockStatus,
+ _L("RMmCustomAPI::NotifyAlsBlockedChanged Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyCellInfoChange
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyCellInfoChange(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RMmCustomAPI::TMmCellInfo> &aMmCellInfo,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyCellInfoChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aMmCellInfo.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ RMmCustomAPI::TMmCellInfoPckg pkgParam( aMmCellInfo.GetValue() );
+ aMmCustomAPI.NotifyCellInfoChange(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyCellInfoChange Wrong completion status"))
+ ASSERT_TRUE(aMmCellInfo.IsEqual(ELogError),
+ _L("RMmCustomAPI::NotifyCellInfoChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyCipheringInfoChange
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyCipheringInfoChange(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RMmCustomAPI::TCipheringInfo>& aCipheringInfo,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyCipheringInfoChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aCipheringInfo.IsEqual(ENoLogError))
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aMmCustomAPI.NotifyCipheringInfoChange(aRequestStatus, aCipheringInfo.GetValue());
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyCipheringInfoChange Wrong completion status"))
+ ASSERT_TRUE(aCipheringInfo.IsEqual(ELogError),
+ _L("RMmCustomAPI::NotifyCipheringInfoChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyDtmfEvent
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyDtmfEvent(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RMmCustomAPI::TDtmfInfo>& aInfo,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyDtmfEvent did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aInfo.IsEqual(ENoLogError))
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aMmCustomAPI.NotifyDtmfEvent(aRequestStatus, aInfo.GetValue());
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyDtmfEvent Wrong completion status"))
+ ASSERT_TRUE(aInfo.IsEqual(ELogError),
+ _L("RMmCustomAPI::NotifyDtmfEvent Wrong result"));
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyEGprsInfoChange
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyEGprsInfoChange(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RMmCustomAPI::TGprsInformationType> &aGprsInformationType,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyEGprsInfoChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aGprsInformationType.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ TPckg<RMmCustomAPI::TGprsInformationType> pkgParam( aGprsInformationType.GetValue() );
+ aMmCustomAPI.NotifyEGprsInfoChange(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyEGprsInfoChange Wrong completion status"))
+ ASSERT_TRUE(aGprsInformationType.IsEqual(ELogError),
+ _L("RMmCustomAPI::NotifyEGprsInfoChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyHSxPAStatus
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyHSxPAStatus(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ RMmCustomAPI::THSxPAStatus& aHSxPAStatus,
+ RMmCustomAPI::THSxPAStatus aExpectedHSxPAStatus,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyHSxPAStatus did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aHSxPAStatus != aExpectedHSxPAStatus )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aMmCustomAPI.NotifyHSxPAStatus(aRequestStatus, aHSxPAStatus);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyHSxPAStatus Wrong completion status"))
+ ASSERT_EQUALS(aHSxPAStatus, aExpectedHSxPAStatus,
+ _L("RMmCustomAPI::NotifyHSxPAStatus Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyIccCallForwardingStatusChange
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyIccCallForwardingStatusChange(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RMmCustomAPI::TCFIndicators> &aCFIndicators,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyIccCallForwardingStatusChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aCFIndicators.IsEqual(ENoLogError) )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+ RMmCustomAPI::TCFIndicatorsPckg pkgParam( aCFIndicators.GetValue() );
+ aMmCustomAPI.NotifyIccCallForwardingStatusChange(aRequestStatus, pkgParam);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyIccCallForwardingStatusChange Wrong completion status"))
+ ASSERT_TRUE(aCFIndicators.IsEqual(ELogError),
+ _L("RMmCustomAPI::NotifyIccCallForwardingStatusChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyNetworkConnectionFailure
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyNetworkConnectionFailure(
+ TEtelRequestBase& aRequestStatus,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyNetworkConnectionFailure did not complete"))
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyNetworkConnectionFailure Wrong completion status"))
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyNSPSStatus
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyNSPSStatus(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ RMmCustomAPI::TNspsStatus& aNspsStatus,
+ RMmCustomAPI::TNspsStatus aExpectedNspsStatus,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyNSPSStatus did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aNspsStatus != aExpectedNspsStatus )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aMmCustomAPI.NotifyNSPSStatus(aRequestStatus, aNspsStatus);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyNSPSStatus Wrong completion status"))
+ ASSERT_EQUALS(aNspsStatus, aExpectedNspsStatus,
+ _L("RMmCustomAPI::NotifyNSPSStatus Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyPndCacheReady
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyPndCacheReady(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ TName& aPndName,
+ TName aExpectedPndName,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyPndCacheReady did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aPndName != aExpectedPndName )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aMmCustomAPI.NotifyPndCacheReady(aRequestStatus, aPndName);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyPndCacheReady Wrong completion status"))
+ ASSERT_EQUALS_DES16(aPndName, aExpectedPndName,
+ _L("RMmCustomAPI::NotifyPndCacheReady Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyProgrammableOperatorLogoChange
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyProgrammableOperatorLogoChange(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RMmCustomAPI::TOperatorId>& aOperatorId,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyProgrammableOperatorLogoChange did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aOperatorId.IsEqual(ENoLogError))
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aMmCustomAPI.NotifyProgrammableOperatorLogoChange(aRequestStatus, aOperatorId.GetValue());
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyProgrammableOperatorLogoChange Wrong completion status"))
+ ASSERT_TRUE(aOperatorId.IsEqual(ELogError),
+ _L("RMmCustomAPI::NotifyProgrammableOperatorLogoChange Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifyRauEvent
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifyRauEvent(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ RMmCustomAPI::TRauEventStatus& aEventStatus,
+ RMmCustomAPI::TRauEventStatus aExpectedEventStatus,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifyRauEvent did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aEventStatus != aExpectedEventStatus )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aMmCustomAPI.NotifyRauEvent(aRequestStatus, aEventStatus);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifyRauEvent Wrong completion status"))
+ ASSERT_EQUALS(aEventStatus, aExpectedEventStatus,
+ _L("RMmCustomAPI::NotifyRauEvent Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifySimCardStatus
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifySimCardStatus(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ RMmCustomAPI::TSIMCardStatus& aCardStatus,
+ RMmCustomAPI::TSIMCardStatus aExpectedCardStatus,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifySimCardStatus did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && aCardStatus != aExpectedCardStatus )
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aMmCustomAPI.NotifySimCardStatus(aRequestStatus, aCardStatus);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifySimCardStatus Wrong completion status"))
+ ASSERT_EQUALS(aCardStatus, aExpectedCardStatus,
+ _L("RMmCustomAPI::NotifySimCardStatus Wrong result"))
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+
+/**
+* Notify reset for RMmCustomAPI::NotifySsNetworkEvent
+*/
+void TCustomApiTsyTestHelper::WaitForMmCustomAPINotifySsNetworkEvent(
+ RMmCustomAPI& aMmCustomAPI,
+ TEtelRequestBase& aRequestStatus,
+ TCmpBase<RMmCustomAPI::TSsTypeAndMode>& aSsTypeAndMode,
+ RMmCustomAPI::TSsInfo &aSsInfo,
+ TInt aWantedStatus )
+
+ {
+ // Wait for the request to complete
+ TInt err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ ASSERT_EQUALS(err, KErrNone, _L("RMmCustomAPI::NotifySsNetworkEvent did not complete"))
+
+ while ( err == KErrNone && aRequestStatus.Int() == KErrNone
+ && !aSsTypeAndMode.IsEqual(ENoLogError))
+ {
+ // Request has completed with incorrect result. Consume any outstanding
+ // Repost notification until timeout or we get the right result.
+
+ aMmCustomAPI.NotifySsNetworkEvent(aRequestStatus, aSsTypeAndMode.GetValue(), aSsInfo);
+ err = iTestStep.WaitForRequestWithTimeOut(aRequestStatus, ETimeShort);
+ }
+
+ ASSERT_EQUALS(aRequestStatus.Int(), aWantedStatus, _L("RMmCustomAPI::NotifySsNetworkEvent Wrong completion status"))
+ ASSERT_TRUE(aSsTypeAndMode.IsEqual(ELogError),
+ _L("RMmCustomAPI::NotifySsNetworkEvent Wrong result"));
+
+ // Cancel request if it is still pending
+ if (aRequestStatus.Int() == KRequestPending)
+ {
+ aRequestStatus.Cancel();
+ }
+ }
+
+