networkprotocolmodules/suplprotocolmodule/SuplProtocol/test/src/plugin1Step.cpp
changeset 0 9cfd9a3ee49c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkprotocolmodules/suplprotocolmodule/SuplProtocol/test/src/plugin1Step.cpp	Tue Feb 02 01:50:39 2010 +0200
@@ -0,0 +1,115 @@
+// Copyright (c) 2006-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:
+// Example CTestStep derived implementation
+// 
+//
+
+/**
+ @file plugin1Step.cpp
+*/
+#include "plugin1Step.h"
+#include "te_suplprotocolsuitedefs.h"
+
+const TUid KLbsNetworkProtocolInterfaceUid = {0x10281D4A};
+
+/** Destructor
+*/
+Cplugin1Step::~Cplugin1Step()
+	{
+	}
+
+
+/** Constructor
+*/
+Cplugin1Step::Cplugin1Step()
+	{
+	SetTestStepName(Kplugin1Step);
+	}
+
+
+/** Perform pre test actions
+@return TVerdict test result code
+*/
+TVerdict Cplugin1Step::doTestStepPreambleL()
+	{
+	// Call base class method for pre test actions	
+	CTe_suplprotocolSuiteStepBase::doTestStepPreambleL();
+
+	return TestStepResult();
+	}
+
+
+/** Perform Cplugin1Step test step.
+This test verifies that the Test Protocol Module is shown in the ECOM
+list of plug-ins that implement the LBS Network Protocol SPI.
+
+@return TVerdict test result code
+*/
+TVerdict Cplugin1Step::doTestStepL()
+	{
+	// List plugin implementations
+	RImplInfoPtrArray pluginArray;
+	REComSession::ListImplementationsL( KLbsNetworkProtocolInterfaceUid,
+										pluginArray );
+
+	// Confirm that at least one plug-in exists
+	INFO_PRINTF2(_L("\t Number of plugins listed = %d"), pluginArray.Count());
+	if (pluginArray.Count() <= 0)
+		{
+		SetTestStepResult(EFail);
+		}
+	else
+		{
+		// Confirm that one of the plug-ins is the Test Protocol Module
+		TInt loop;
+		TBool pluginFound(EFalse);
+		for (loop = 0; (loop < pluginArray.Count()) && !pluginFound; ++loop)
+			{
+			CImplementationInformation* pluginImp = pluginArray[loop];
+			if (pluginImp->ImplementationUid() == TUid::Uid(KPluginUid))
+				{
+				pluginFound = ETrue;
+				INFO_PRINTF1(_L("\t Test protocol module plug-in UID found"));
+				}
+			}
+		SetTestStepResult(pluginFound ? EPass : EFail);
+
+		// Clear up array
+		for (loop = pluginArray.Count(); loop > 0; loop--)
+			{
+			delete pluginArray[loop - 1];
+			}
+		}
+
+	// Clear up array
+	pluginArray.Close();
+
+	// FinalClose for ECom
+	REComSession::FinalClose();
+	
+	return TestStepResult();
+	}
+
+
+
+/** Perform post test actions
+@return TVerdict test result code
+*/
+TVerdict Cplugin1Step::doTestStepPostambleL()
+	{
+	// Call base class method for post test actions	
+	CTe_suplprotocolSuiteStepBase::doTestStepPostambleL();
+	
+	return TestStepResult();
+	}