sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: // Example CTestStep derived implementation
sl@0: // 
sl@0: //
sl@0: 
sl@0: /**
sl@0:  @file UloggerServerTest1Step.cpp
sl@0:  @internalTechnology
sl@0: */
sl@0: #include "uloggerservertest1step.h"
sl@0: #include "te_uloggerservertestsuitedefs.h"
sl@0: #include "uloggerserver.h"
sl@0: #include <e32const.h>
sl@0: using namespace Ulogger;
sl@0: 
sl@0: 
sl@0: CUloggerServerTest1Step::~CUloggerServerTest1Step()
sl@0: /**
sl@0:  * Destructor
sl@0:  */
sl@0: 	{
sl@0: 	}
sl@0: 
sl@0: CUloggerServerTest1Step::CUloggerServerTest1Step()
sl@0: /**
sl@0:  * Constructor
sl@0:  */
sl@0: 	{
sl@0: 	// **MUST** call SetTestStepName in the constructor as the controlling
sl@0: 	// framework uses the test step name immediately following construction to set
sl@0: 	// up the step's unique logging ID.
sl@0: 	SetTestStepName(KUloggerServerTest1Step);
sl@0: 	}
sl@0: 
sl@0: TVerdict CUloggerServerTest1Step::doTestStepPreambleL()
sl@0: /**
sl@0:  * @return - TVerdict code
sl@0:  * Override of base class virtual
sl@0:  */
sl@0: 	{
sl@0: 	iScheduler = new (ELeave) CActiveScheduler();
sl@0: 	CActiveScheduler::Install(iScheduler);
sl@0: 		
sl@0: 	SetTestStepResult(EPass);
sl@0: 	return TestStepResult();
sl@0: 	}
sl@0: 
sl@0: 
sl@0: TVerdict CUloggerServerTest1Step::doTestStepL()
sl@0: 	{
sl@0: 	iErrors = 0;
sl@0: 	  if (TestStepResult()==EPass)
sl@0: 		{
sl@0: 		  iErrors += Test1L();//CULoggerServer::NewLC
sl@0: 		  iErrors += Test2L();//CULoggerServer::IncrementSessions
sl@0: 		  iErrors += Test3L();//CULoggerServer::Stop
sl@0: 		  iErrors += Test4L();//CULoggerServer::GetPrimaryFilters
sl@0: 		  iErrors += Test5L();//CULoggerServer::GetSecondaryFilters
sl@0: 		  iErrors += Test6L();//CULoggerServer::RemoveFilterfromConfig
sl@0: 		  iErrors += Test7L();//CULoggerServer::EnablePrimaryFilter
sl@0: 		  iErrors += Test8L();//CULoggerServer::SetSecondaryFilter
sl@0: 		  iErrors += Test9L();//CULoggerServer::Start
sl@0: 		  iErrors += Test12L();//CULoggerServer::SetActiveOutputMedia
sl@0: 		  iErrors += Test13L();//CULoggerServer::SetOutputPluginSettings
sl@0: 		  iErrors += Test14L();//CULoggerServer::GetActiveOutput
sl@0: 		  iErrors += Test15L();//CULoggerServer::GetInstalledPlugins
sl@0: 		  iMediaCount = 0;
sl@0: 		  iErrors += Test16L();//CULoggerServer::GetOutputPluginSettingsL
sl@0: 		  iErrors += Test18L();//CULoggerServer::SetBufferSizeL
sl@0: 		  iErrors += Test19L();//CULoggerServer::SetDataNotificationSizeL
sl@0: 		  iErrors += Test20L();//CULoggerServer::GetBufferSize
sl@0: 		  iErrors += Test21L();// CULoggerServer::GetDataNotificationSize
sl@0: 		  iErrors += Test22L();//CULoggerServer::SetGlobalSecondaryFilters
sl@0: 		  iErrors += Test23L();//CULoggerServer::ReadBufferL
sl@0: 		  iErrors += Test25L();//CULoggerServer::SetBufferMode
sl@0: 		  iErrors += Test26L();//CULoggerServer::UnconfigureCurrentChannel
sl@0: 		  iErrors += Test27L();//CULoggerServer::DoPostProcessing
sl@0: 		  iErrors += Test28L();//CULoggerServer::RemoveOutputPluginSettingsL
sl@0: 		  iErrors += Test29L();//CULoggerServer::GetInstalledControlPlugins
sl@0: 		  iErrors += Test30L();//CULoggerServer::SetActiveControlMedia
sl@0: 		  iErrors += Test31L();//CULoggerServer::ProcessCommandL
sl@0: 		  
sl@0: 		//display results
sl@0: 		TBuf<128> res;
sl@0: 		res.AppendFormat(_L("%d errors"), iErrors);
sl@0: 		INFO_PRINTF1(_L("****Results****"));
sl@0: 		INFO_PRINTF1(res);
sl@0: 		if(iErrors == 0)  
sl@0: 			SetTestStepResult(EPass);
sl@0: 			else
sl@0: 				SetTestStepResult(EFail);
sl@0: 		}
sl@0: 	  return TestStepResult();
sl@0: 	}
sl@0: 
sl@0: 
sl@0: 
sl@0: TVerdict CUloggerServerTest1Step::doTestStepPostambleL()
sl@0: /**
sl@0:  * @return - TVerdict code
sl@0:  * Override of base class virtual
sl@0:  */
sl@0: 	{
sl@0: 	delete iScheduler;
sl@0: 	iScheduler = NULL;
sl@0: 	return TestStepResult();
sl@0: 	}
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test1L()
sl@0: {//CULoggerServer::NewLC
sl@0: 	TInt errors = 0;
sl@0:   	INFO_PRINTF1(_L("Testing - CULoggerServer::NewLC method"));
sl@0:   	CULoggerServer *server = NULL;
sl@0:   	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0:     if(server == NULL)
sl@0:     	{
sl@0:     	INFO_PRINTF1(_L("error"));
sl@0:     	++errors;
sl@0:     	}
sl@0:     	else
sl@0:     		CleanupStack::PopAndDestroy();
sl@0:     return errors;
sl@0: }
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test2L()
sl@0: {//CULoggerServer::IncrementSessions
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::IncrementSessions method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	server->IncrementSessions();
sl@0: 	    	//note it's not possible to test method DecrementSessions without 
sl@0: 	    	//previous connection as server always stop CActiveScheduler when last session will dissconnect.
sl@0: 	    	//look for CULoggerServer::DecrementSessions() method
sl@0: 	    	CleanupStack::PopAndDestroy();
sl@0: 	    }
sl@0: 	 return errors;
sl@0: }
sl@0:   	
sl@0: TInt CUloggerServerTest1Step::Test3L()
sl@0: {//CULoggerServer::Stop
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::Stop method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	TInt e = server->Stop();
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	CleanupStack::PopAndDestroy();
sl@0: 	    }
sl@0: 	return errors;
sl@0: }
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test4L()
sl@0: {//CULoggerServer::GetPrimaryFilters
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::GetPrimaryFilters method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	RArray<TUint32> array;
sl@0: 	    	TInt e = server->GetActiveFilters(array,EPrimaryFilter);
sl@0: 	    	if(e!=KErrNone) errors++;
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	buf.Zero();
sl@0: 	    	buf.AppendFormat(_L("Num. of filters - %d"), array.Count());
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	    	array.Close();
sl@0: 	    }
sl@0: 	return errors;
sl@0: }	
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test5L()
sl@0: {//CULoggerServer::GetSecondaryFilters
sl@0: 	TInt errors = 0;
sl@0:     INFO_PRINTF1(_L("Testing - CULoggerServer::GetSecondaryFilters method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	RArray<TUint32> array;
sl@0: 	    	TInt e = server->GetActiveFilters(array,ESecondaryFilter);
sl@0: 	    	if(e!=KErrNone) errors++;
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	buf.Zero();
sl@0: 	    	buf.AppendFormat(_L("Num. of filters - %d"), array.Count());
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	    	array.Close();
sl@0: 	    }
sl@0: 	return errors;
sl@0: }	
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test6L()
sl@0: {//CULoggerServer::RemoveFilterfromConfig
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::RemoveFilterfromConfig method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {	RArray<TUint32> filters;
sl@0: 			//CleanupClosePushL(filters);
sl@0: 			for(TInt i=20;i<40;i++)
sl@0: 			{
sl@0: 				filters.AppendL(i);
sl@0: 			}
sl@0: 			//	filters->AppendL(i);
sl@0: 	    	TInt e = server->RemoveActiveFilter(filters,EPrimaryFilter);
sl@0: 	    	filters.Close();
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    
sl@0: 	    	//CleanupStack::PopAndDestroy(); //filters
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	//}
sl@0: 	    }
sl@0: 	return errors;
sl@0: }	
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test6AL()
sl@0: {//CULoggerServer::RemoveFilterfromConfig
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::RemoveFilterfromConfig method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	RArray<TUint32> filters;
sl@0: 			CleanupClosePushL(filters);
sl@0: 			for(TUint32 i=321;i<400;i++)
sl@0: 				filters.AppendL(i);
sl@0: 	    	TInt e = server->RemoveActiveFilter(filters,ESecondaryFilter);;
sl@0: 	    	filters.Close();
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    
sl@0: 	    	CleanupStack::PopAndDestroy(&filters); //server
sl@0: 	    		CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0: }	
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test7L()
sl@0: {//CULoggerServer::EnablePrimaryFilter
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::SetPrimaryFilter method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server=CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	RArray<TUint32> aCategory;
sl@0: 	   	    	
sl@0: 	    	aCategory.Append(3);
sl@0: 	    	aCategory.Append(14);
sl@0: 	    	aCategory.Append(194);
sl@0: 	    	
sl@0: 	    	TInt e = KErrNone;
sl@0: 	    	e = server->SetActiveFilterL(aCategory,EPrimaryFilter);
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0: }
sl@0: 
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test8L()
sl@0: {//CULoggerServer::SetSecondaryFilter
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::SetSecondaryFilter method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server=CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	RArray<TUint32> array;
sl@0: 	    	array.Append(34);
sl@0: 	    	TInt e = server->SetActiveFilterL(array,ESecondaryFilter);
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	    	array.Close();
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test9L()
sl@0: {//CULoggerServer::Start
sl@0: 	TInt errors = 0;
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	/*
sl@0: 	    	 * here we are going to test sequence off methods
sl@0: 	    	 * */
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	INFO_PRINTF1(_L("Testing - CULoggerServer::Start method"));
sl@0: 	    	TInt e = server->Start();
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	INFO_PRINTF1(_L("Testing - CULoggerServer::SetGlobalSecondaryFilters method"));
sl@0: 	    	e = server->SetSecondaryFiltering(_L8("current"));
sl@0: 	    	buf.Zero();
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	INFO_PRINTF1(_L("Testing - CULoggerServer::Stop method"));
sl@0: 	    	e = server->Stop();
sl@0: 	    	buf.Zero();
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: 
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test12L()
sl@0: {//CULoggerServer::SetActiveOutputPlugin
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::SetActiveOutputPlugin method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	TInt e = server->SetActiveOutputPlugin(_L8("media1"));
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test13L()
sl@0: {//CULoggerServer::SetOutputPluginSettings
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::SetOutputPluginSettings method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	RArray<TPtrC8> value;
sl@0: 	    	value.AppendL(_L8("output_path"));
sl@0: 	    	value.AppendL(_L8("c:\\logs\\ulogger.log"));
sl@0: 	    	TInt e = server->SetPluginSettings(_L8("media1"),value);// _L8("output_path"), _L8("c:\\logs\\ulogger.log"));
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test14L()
sl@0: {//CULoggerServer::GetActiveOutput
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::GetActiveOutputPlugin method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	RArray<TPtrC8> listBuffer;
sl@0: 	    	TInt e = server->GetActiveOutputPlugin(listBuffer);
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	buf.Zero();
sl@0: 	    	if(listBuffer.Count()>0)
sl@0: 	    	{
sl@0: 	    		INFO_PRINTF1(_L("values:"));
sl@0: 	    		buf.Copy(listBuffer[0]);					    		
sl@0: 	    		INFO_PRINTF1(buf);
sl@0: 	    	}
sl@0: 	    	listBuffer.Close();
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test15L()
sl@0: {//CULoggerServer::GetInstalledPlugins
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::GetInstalledOutputPlugins method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	RArray<TPtrC8> listBuffer;
sl@0: 	    	TInt e = server->GetInstalledOutputPlugins(listBuffer);
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	buf.Zero();
sl@0:     		INFO_PRINTF1(_L("values:"));
sl@0: 	    	for(TInt i=0; i<listBuffer.Count(); ++i)
sl@0: 	    	{
sl@0: 	    		buf.Copy(listBuffer[i]);					    		
sl@0: 	    		INFO_PRINTF1(buf);
sl@0: 	    	}
sl@0: 	    	iMediaCount = listBuffer.Count()/2;
sl@0: 	    	listBuffer.Close();
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: TInt CUloggerServerTest1Step::Test16L()
sl@0: {//CULoggerServer::GetOutputPluginSettingsL
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::GetOutputPluginSettingsL method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	for(TInt k=0; k<iMediaCount; k++)
sl@0: 	    		{
sl@0: 	    		TBuf8<32> mediaBuf;
sl@0: 	    		mediaBuf.AppendFormat(_L8("media%d"),k+1);
sl@0: 	    		RArray<TPtrC8> mediaList;
sl@0: 	    		TInt e = server->GetOptionsSettingsL(mediaBuf, mediaList);
sl@0: 	    		TBuf<128> buf;
sl@0: 	    		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0: 	    		INFO_PRINTF1(buf);
sl@0: 	    		buf.Zero();
sl@0: 	    		INFO_PRINTF1(_L("values:"));
sl@0: 	    		for(TInt i=0; i<mediaList.Count(); ++i)
sl@0: 	    			{
sl@0: 	    			buf.Copy(mediaList[i]);					    		
sl@0: 	    			INFO_PRINTF1(buf);
sl@0: 	    			}
sl@0: 	    		mediaList.Close();
sl@0: 	    		}
sl@0: 	    	
sl@0: 	    	CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: 
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test18L()
sl@0: {//CULoggerServer::SetBufferSizeL
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::SetBufferSizeL method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	TInt e;
sl@0: 	    	INFO_PRINTF1(_L("testing value: -1"));
sl@0: 	    	e = server->SetBufferSizeL(-1);
sl@0: 	    	TBuf<128> buf;
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0: 
sl@0: 	    	INFO_PRINTF1(_L("testing value: 0"));
sl@0: 	    	e = server->SetBufferSizeL(0);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0: 
sl@0: 	    	INFO_PRINTF1(_L("testing value: 100"));
sl@0: 	    	e = server->SetBufferSizeL(100);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0: 
sl@0: 	    	INFO_PRINTF1(_L("testing value: 65535"));
sl@0: 	    	e = server->SetBufferSizeL(65535);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0: 
sl@0: 	    	INFO_PRINTF1(_L("testing value: 65536"));
sl@0: 	    	e = server->SetBufferSizeL(65536);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		
sl@0:     		INFO_PRINTF1(_L("testing value: 165537"));
sl@0: 	    	e = server->SetBufferSizeL(165537);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test19L()
sl@0: {//CULoggerServer::SetDataNotificationSizeL
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::SetDataNotificationSizeL method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	TInt e;
sl@0: 	    	INFO_PRINTF1(_L("testing value: -1"));
sl@0: 	    	e = server->SetDataNotificationSizeL(-1);
sl@0: 	    	TBuf<128> buf;
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0: 
sl@0: 	    	INFO_PRINTF1(_L("testing value: 0"));
sl@0: 	    	e = server->SetDataNotificationSizeL(0);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0: 
sl@0: 	    	INFO_PRINTF1(_L("testing value: 100"));
sl@0: 	    	e = server->SetDataNotificationSizeL(100);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0: 
sl@0: 	    	INFO_PRINTF1(_L("testing value: 65535"));
sl@0: 	    	e = server->SetDataNotificationSizeL(65535);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0: 
sl@0: 	    	INFO_PRINTF1(_L("testing value: 65536"));
sl@0: 	    	e = server->SetDataNotificationSizeL(65536);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		
sl@0:     		INFO_PRINTF1(_L("testing value: 85536"));
sl@0: 	    	e = server->SetDataNotificationSizeL(85536);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		
sl@0:     		INFO_PRINTF1(_L("testing value: 165538"));
sl@0: 	    	e = server->SetDataNotificationSizeL(165538);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test20L()
sl@0: {//CULoggerServer::GetBufferSize
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::GetBufferSize method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	TInt e;
sl@0: 	    	INFO_PRINTF1(_L("testing value: -1"));
sl@0: 	    	server->GetBufandDataNotifyValuesL(KBuffer,e);
sl@0: 	    	TBuf<128> buf;
sl@0:     		buf.AppendFormat(_L("Value - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test21L()
sl@0: {// CULoggerServer::GetDataNotificationSize
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::GetDataNotificationSize method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	TInt e;
sl@0: 	    	INFO_PRINTF1(_L("testing value: -1"));
sl@0: 	    	server->GetBufandDataNotifyValuesL(KDataNotification,e);
sl@0: 	    	TBuf<128> buf;
sl@0:     		buf.AppendFormat(_L("Value - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test22L()
sl@0: {//CULoggerServer::SetGlobalSecondaryFilters
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::SetSecondaryFiltering method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	_LIT8(KEnable,"enable");
sl@0: 	  		_LIT8(KDisable,"disable");
sl@0: 	    	TInt e;
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.Copy(KEnable);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	buf.Zero();
sl@0: 	    	e = server->SetSecondaryFiltering(KEnable);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		
sl@0:     		buf.Copy(KDisable);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	buf.Zero();
sl@0: 	    	e = server->SetSecondaryFiltering(KDisable);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test23L()
sl@0: {//CULoggerServer::ReadBufferL
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::ReadBufferL method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	TRAPD(err, server->ReadBufferL());
sl@0:     		buf.AppendFormat(_L("Results of calling method - %d"), err);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		
sl@0:     		CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test24L()
sl@0: {//CULoggerServer::DataNotification
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::DataNotification method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	server->DataNotification();
sl@0:     		INFO_PRINTF1(_L("OK"));	
sl@0:     		CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0:  
sl@0:  
sl@0:  TInt CUloggerServerTest1Step::Test25L()
sl@0: {//CULoggerServer::SetBufferMode
sl@0: 	TInt errors = 0;
sl@0: 		INFO_PRINTF1(_L("Testing - CULoggerServer::SetGlobalSecondaryFilters method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 	    {
sl@0: 	    INFO_PRINTF1(_L("error"));
sl@0: 	    ++errors;
sl@0: 	    }
sl@0: 	    else
sl@0: 	    {
sl@0: 	    	_LIT8(KCircular,"circular");
sl@0: 	  		_LIT8(KStraight,"straight");
sl@0: 	    	TInt e;
sl@0: 	    	TBuf<128> buf;
sl@0: 	    	buf.Copy(KCircular);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	buf.Zero();
sl@0: 	    	e = server->SetBufferMode(KCircular);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		
sl@0:     		buf.Copy(KStraight);
sl@0: 	    	INFO_PRINTF1(buf);
sl@0: 	    	buf.Zero();
sl@0: 	    	e = server->SetBufferMode(KStraight);
sl@0:     		buf.AppendFormat(_L("Code returned from method - %d"), e);
sl@0:     		INFO_PRINTF1(buf);
sl@0:     		buf.Zero();
sl@0:     		CleanupStack::PopAndDestroy(); //server
sl@0: 	    }
sl@0: 	return errors;
sl@0:  }
sl@0:  
sl@0: TInt CUloggerServerTest1Step::Test26L() //CULoggerServer::UnconfigureCurrentChannel
sl@0: 	{
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::UnconfigureCurrentChannel method"));
sl@0: 	/* //removed - method isn't used anywhere
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 		{
sl@0: 		INFO_PRINTF1(_L("error"));
sl@0: 		++errors;
sl@0: 		}
sl@0: 	else
sl@0: 		{
sl@0:     	server->UnconfigureCurrentChannel();
sl@0: 		CleanupStack::PopAndDestroy(); //server
sl@0: 		}
sl@0: 	*/
sl@0: 	return errors;
sl@0: 	}
sl@0: 
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test27L()//CULoggerServer::DoPostProcessing
sl@0: 	{
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::DoPostProcessing method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 		{
sl@0: 		INFO_PRINTF1(_L("error"));
sl@0: 		++errors;
sl@0: 		}
sl@0: 	else
sl@0: 		{
sl@0: 		INFO_PRINTF1(_L("DoPostProcessing(EUnknown)"));
sl@0:     	server->DoPostProcessing(EUnknown);
sl@0: 		INFO_PRINTF1(_L("DoPostProcessing(ERestart)"));
sl@0:     	server->DoPostProcessing(ERestart);
sl@0:     	INFO_PRINTF1(_L("DoPostProcessing(EStop)"));
sl@0:     	server->DoPostProcessing(EStop);
sl@0:     	
sl@0:     	CleanupStack::PopAndDestroy(); //server
sl@0: 		}
sl@0: 	return errors;
sl@0: 	}
sl@0: 
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test28L()//CULoggerServer::RemoveOutputPluginSettingsL
sl@0: 	{
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::RemoveOutputPluginSettingsL method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 		{
sl@0: 		INFO_PRINTF1(_L("error"));
sl@0: 		++errors;
sl@0: 		}
sl@0: 	else
sl@0: 		{
sl@0: 		TInt errCode = KErrNone;
sl@0: 		RArray<TPtrC8> set;
sl@0: 		set.AppendL(_L8("testKey"));
sl@0: 		set.AppendL(_L8("testVal"));
sl@0: 		errCode = server->SetPluginSettings(_L8("uloggerserialplugin"), set);
sl@0: 		set.Close();
sl@0: 		if(errCode != KErrNone)
sl@0: 			{
sl@0: 			INFO_PRINTF1(_L("error"));
sl@0: 			CleanupStack::PopAndDestroy(); //server
sl@0: 			return ++errors;
sl@0: 			}
sl@0: 		
sl@0: 		INFO_PRINTF1(_L("RemoveOutputPluginSettingsL - uloggerserialplugin)"));
sl@0:     	errCode = server->RemovePluginSettingsL(_L8("uloggerserialplugin"));
sl@0:     	if(errCode != KErrNone)
sl@0: 			{
sl@0: 			INFO_PRINTF1(_L("error"));
sl@0: 			CleanupStack::PopAndDestroy(); //server
sl@0: 			return ++errors;
sl@0: 			}
sl@0: 
sl@0:     	INFO_PRINTF1(_L("RemoveOutputPluginSettingsL - dummyname)"));
sl@0:     	server->RemovePluginSettingsL(_L8("dummyname"));
sl@0:     	
sl@0:     	CleanupStack::PopAndDestroy(); //server
sl@0: 		}
sl@0: 	return errors;
sl@0: 	}
sl@0: 	
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test29L()//CULoggerServer::GetInstalledInputPluginsL
sl@0: 	{
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::GetInstalledInputPluginsL method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	if(server == NULL)
sl@0: 		{
sl@0: 		INFO_PRINTF1(_L("error"));
sl@0: 		++errors;
sl@0: 		}
sl@0: 	else
sl@0: 		{
sl@0: 		RArray<TPtrC8> list;
sl@0:     	server->GetInstalledInputPluginsL(list);
sl@0:     	list.Close();
sl@0:     	CleanupStack::PopAndDestroy(); //server
sl@0: 		}
sl@0: 	return errors;
sl@0: 	}
sl@0: 
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test30L()//CULoggerServer::SetActiveInputPlugin  + DeActivateInputPlugin 
sl@0: 	{
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::SetActiveInputPlugin  + DeActivateInputPlugin methods"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	
sl@0: 	_LIT8(KUsbPlugin,"uloggerusbplugin");
sl@0: 	server->DeActivateInputPlugin(KUsbPlugin);
sl@0: 	TInt errCode = server->SetActiveInputPlugin(KUsbPlugin);
sl@0: 	if(errCode != KErrNone && errCode != KErrNotFound)
sl@0: 		{
sl@0: 		INFO_PRINTF1(_L("error"));
sl@0: 		return ++errors;
sl@0: 		}
sl@0: 	errCode = server->SetActiveInputPlugin(KUsbPlugin);
sl@0: 	
sl@0: 	errCode = server->DeActivateInputPlugin(KUsbPlugin);
sl@0: 	TBuf<128> b;
sl@0: 	b.AppendFormat(_L("err1 %d"), errCode);
sl@0: 	INFO_PRINTF1(b);
sl@0: 	if(errCode != KErrNone && errCode != KErrNotFound)
sl@0: 		{
sl@0: 		INFO_PRINTF1(_L("error"));
sl@0: 		return ++errors;
sl@0: 		}
sl@0: 	errCode = server->DeActivateInputPlugin(KUsbPlugin);
sl@0: 	b.Zero();
sl@0: 	b.AppendFormat(_L("err2 %d"), errCode);
sl@0: 	INFO_PRINTF1(b);
sl@0: 	if(errCode != KErrNone && errCode != KErrNotFound && errCode != KErrAlreadyExists)
sl@0: 		{
sl@0: 		INFO_PRINTF1(_L("error"));
sl@0: 		return ++errors;
sl@0: 		}
sl@0: 	
sl@0: 	server->Stop();
sl@0:     CleanupStack::PopAndDestroy(); //server
sl@0:     User::After(1*1000*1000);
sl@0: 	return errors;
sl@0: 	}
sl@0: 
sl@0: 
sl@0: TInt CUloggerServerTest1Step::Test31L()//CULoggerServer::ProcessCommandL ver1
sl@0: 	{
sl@0: 	TInt errors = 0;
sl@0: 	INFO_PRINTF1(_L("Testing - CULoggerServer::ProcessCommandL method"));
sl@0: 	CULoggerServer *server = NULL;
sl@0: 	server = CULoggerServer::NewLC(EPriorityBackground);
sl@0: 	
sl@0: 	RArray<TPtrC8> arguments;
sl@0: 	//test all commands with empty array of arguments
sl@0: 	for(TInt i=0; i<=EVersion; i++)
sl@0: 		{
sl@0: 		TBuf<32> buf;
sl@0: 		buf.AppendFormat(_L("command number: %d"), i);
sl@0: 		INFO_PRINTF1(buf);
sl@0: 		ControlData *cd = server->ProcessCommandL((TCommand)i, arguments);
sl@0: 		if(!cd)
sl@0: 			{
sl@0: 			++errors;
sl@0: 			break;
sl@0: 			}
sl@0: 		delete cd;
sl@0: 		cd = NULL;
sl@0: 		}
sl@0: 	server->Stop();
sl@0: 	CleanupStack::PopAndDestroy(); //server
sl@0: 	return errors;
sl@0: 	}