testexecmgmt/ucc/Source/TestExecuteUCCPlugin/CUCCTestStep.cpp
changeset 0 3da2a79470a7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testexecmgmt/ucc/Source/TestExecuteUCCPlugin/CUCCTestStep.cpp	Mon Mar 08 15:04:18 2010 +0800
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2005-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: 
+*
+*/
+
+
+
+/**
+ @file CUCCTestStep.cpp
+*/
+
+#include <e32base.h>
+
+#include "assert.h"
+#include "CUCCTestStep.h"
+#include "CUCCSDeviceProtocol.h"
+
+_LIT( delim, "|" );
+
+CUCCTestStep::CUCCTestStep() 
+	{
+	}
+
+CUCCTestStep::~CUCCTestStep()
+	{
+	}
+
+CUCCSDeviceControl *CUCCTestStep::CreateApplicationControlInstance( int *aUID, TBool aUIDRequired )
+	{
+	int r = 0;
+	TBool rv;
+	TBuf<50> initialisation_string;
+	TPtrC temp_string;
+	CUCCSDeviceControl *app_instance = NULL;
+
+	// check params
+	assert( aUID != NULL );
+	*aUID = -1;
+
+	// Note: I've changed the tags of the ini files, but am keeping support for the old tags 
+	TDPTransport transType = TDP_NONE;
+	
+	// Get the com port from the ini file and add it to the initialisation string
+	if( GetStringFromConfig( _L("UCCControl"), _L("CommPortIndex"), temp_string ) )
+		{
+		initialisation_string.Append( temp_string );
+		initialisation_string.Append( delim );
+		initialisation_string.Append( _L("115200") );
+		initialisation_string.Append( delim );
+		transType = TDP_SERIAL;
+		}
+	else if( GetStringFromConfig( _L("UCCControl"), _L("RemoteHost"), temp_string ) )
+		{
+		initialisation_string.Append( temp_string );
+		initialisation_string.Append( delim );
+		if( GetIntFromConfig( _L("UCCControl"), _L("IAP"), r) )
+			{
+			initialisation_string.Append( _L("IAP:") );
+			initialisation_string.AppendNum(r);
+			initialisation_string.Append( delim );
+			}
+		if( r == 0 && GetIntFromConfig( _L("UCCControl"), _L("SNAP"), r) )
+			{
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+			initialisation_string.Append( _L("SNAP:") );
+			initialisation_string.AppendNum(r);
+			initialisation_string.Append( delim );
+#else
+			r = 0;
+			INFO_PRINTF1(_L("Access Point selection is not supported.."));
+#endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+			}
+		transType = TDP_TCP;
+		}
+	else
+		{
+		return NULL;
+		}
+
+	// Get the test id (use case number) from the ini file
+	// Only if it is required.
+	if( aUIDRequired )
+		{
+		rv = GetIntFromConfig( _L("UCCControl"), _L("UseCaseID"), (*aUID) );
+		if( rv == 0 )
+			{
+			rv = GetIntFromConfig( _L("Test_Common"), _L("testID"), (*aUID) );
+			if( rv == 0 )
+				{
+				return NULL;
+				}
+			}
+		}
+
+	// create the application control object
+	app_instance = CUCCSDeviceControl::New();	
+	assert (app_instance != NULL);
+
+	// connect to the uccs
+	r = app_instance->connectL( (TDesC16*)&initialisation_string, transType );
+	if( r != 0)
+		{
+		delete app_instance;
+		return NULL;
+		}
+
+	// done return the info
+	return app_instance;
+	}