commsprocess/commsrootserverconfig/TE_rootserver/src/TestStepRootServer.cpp
author hgs
Mon, 13 Sep 2010 15:06:46 +0100
changeset 77 c9776eadbffd
parent 72 ae47d0499bee
permissions -rw-r--r--
201035_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     1
// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     2
// All rights reserved.
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     7
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     8
// Initial Contributors:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    10
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    11
// Contributors:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    12
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    13
// Description:
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    14
//
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    15
// This contains CTestCaseRootServer 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    16
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    17
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    18
// Test system includes
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    19
#include "TestStepRootServer.h"
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    20
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    21
// const (times in ms)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    22
const TInt CTestStepRootServer::isTestServerLifeTime = 3000;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    23
const TInt CTestStepRootServer::isTestServerWaitTime = 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    24
					2 * CTestStepRootServer::isTestServerLifeTime;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    25
const TInt CTestStepRootServer::isRendezvousDelayTime = 1000;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    26
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    27
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    28
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    29
// constructor
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    30
CTestStepRootServer::CTestStepRootServer(CTE_RootServerServer *aSuite) 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    31
{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    32
	iRootServerSuite = aSuite;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    33
}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    34
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    35
// destructor
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    36
CTestStepRootServer::~CTestStepRootServer()
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    37
{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    38
}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    39
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    40
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    41
//------------------------
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    42
TVerdict CTestStepRootServer::doTestStepPreambleL( void )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    43
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    44
	TInt ret;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    45
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    46
	// kick off the RootServer thread
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    47
	INFO_PRINTF1(_L("Attempting to start RootServer"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    48
	ret = iRootServerSuite->StartRootServer();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    49
	if (KErrNone != ret)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    50
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    51
		INFO_PRINTF2(_L("Failed to start RootServer: err %d"), ret);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    52
		return EInconclusive;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    53
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    54
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    55
        SetTestStepResult(EPass);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    56
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    57
	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    58
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    59
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    60
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    61
//------------------------
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    62
TVerdict CTestStepRootServer::doTestStepPostambleL( void )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    63
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    64
	INFO_PRINTF1(_L("Attempting to shutdown RootServer"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    65
	if (!iRootServerSuite->ShutdownRootServer())
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    66
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    67
		INFO_PRINTF1(_L("Failed to shutdown RootServer"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    68
		return EInconclusive;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    69
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    70
        SetTestStepResult(EPass);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    71
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    72
	return TestStepResult();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    73
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    74
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    75
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    76
//------------------------
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    77
void CTestStepRootServer::GetTestStepServerName(const TDesC &aNamePostFix, 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    78
												TDes &aServerName)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    79
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    80
	aServerName.Copy(_L("TS_"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    81
	aServerName.Append(TestStepName());
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    82
	aServerName.Append(_L("_"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    83
	aServerName.AppendNum(iRootServerSuite->NextServerNumber());
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    84
	if (aNamePostFix.Length() > 0)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    85
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    86
		aServerName.Append(_L("_"));
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    87
		aServerName.Append(aNamePostFix);															  
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    88
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    89
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    90
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    91
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    92
void CTestStepRootServer::DefaultStartParams(TRSStartModuleParams& aStartParams, TTestModuleIniData& aIniData)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    93
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    94
	aStartParams.iParams.iFilename = _L("testcpm.cpm");
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    95
	aStartParams.iParams.iPriority = EPriorityNormal;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    96
	aStartParams.iParams.iStackSize = 8192;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    97
	aStartParams.iParams.iHeapType = ENewHeap;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    98
	aStartParams.iParams.iMinHeapSize = 65536;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
    99
	aStartParams.iParams.iMaxHeapSize = 262144;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   100
	aStartParams.iParams.iShareHeapWith = KNullDesC8;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   101
	aStartParams.iParams.iThreadFunctionOrdinal = 1;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   102
	aStartParams.iParams.iIsSticky = EFalse;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   103
	aStartParams.iParams.iIsServer = EFalse;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   104
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   105
	aIniData.iParams.iInitDelay = 0;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   106
	aIniData.iParams.iDeathDelay = NO_PREMATURE_DEATH;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   107
	aIniData.iParams.iDiscoveryDelay = 0;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   108
	aIniData.iParams.iBindDelay = 0;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   109
	aIniData.iParams.iUnbindDelay = 0;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   110
	aIniData.iParams.iShutdownDelay = 0;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   111
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   112
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   113
void CTestStepRootServer::LoadNormalModuleL(CTestAsynchHandler* aHandler, const TDesC8& aModule, TThreadPriority aPriority)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   114
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   115
	TRSStartModuleParams startParams;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   116
	TTestModuleIniData iniData;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   117
	DefaultStartParams(startParams, iniData);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   118
	startParams.iParams.iName = aModule;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   119
	startParams.iParams.iPriority = aPriority;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   120
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   121
    aHandler->TryLoad( startParams, iniData);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   122
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   123
	CActiveScheduler::Start();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   124
	if (aHandler->iStatus != KErrNone) 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   125
		{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   126
		INFO_PRINTF2(_L("Error: load returned %d"), aHandler->iStatus.Int());
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   127
		User::Leave(aHandler->iStatus.Int());
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   128
		}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   129
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   130
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   131
TInt CTestStepRootServer::TryHierachicalBind(CTestAsynchHandler* aHandler, 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   132
											 const TDesC8& aTopModule, const TDesC8& aTopSubModule, 
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   133
											 const TDesC8& aBottomModule, const TDesC8& aBottomSubModule)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   134
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   135
	TRSBindingInfo bindInfo;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   136
	bindInfo.iParams.iType = EHierarchical;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   137
	bindInfo.iParams.iAddress1.SetModule(aTopModule);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   138
	bindInfo.iParams.iAddress1.SetSubModule(aTopSubModule);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   139
	bindInfo.iParams.iAddress2.SetModule(aBottomModule);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   140
	bindInfo.iParams.iAddress2.SetSubModule(aBottomSubModule);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   141
	bindInfo.iParams.iState1 = KErrNone;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   142
	bindInfo.iParams.iState2 = KErrNone;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   143
	bindInfo.iParams.iForwardQLength = TRSBindingInfo::EMinQueueLength;	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   144
	bindInfo.iParams.iReverseQLength = TRSBindingInfo::EMinQueueLength;	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   145
	
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   146
	aHandler->TryBind( bindInfo );
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   147
	CActiveScheduler::Start();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   148
	return aHandler->iStatus.Int();
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   149
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   150
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   151
_LIT(KSingleDesFmt1, "%S");
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   152
_LIT(KSingleDesFmt2, "%d %S");
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   153
_LIT(KSingleDesFmt4, "%S %d %d %S");
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   154
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   155
void CTestStepRootServer::Log( TRefByValue<const TDesC8> aFormat, ... )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   156
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   157
	// Although a memory-spendthrift approach it's ok for the case of TS_ROOTSERVER
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   158
	TBuf8<EMaxLogLength> buf8;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   159
	VA_LIST list;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   160
	VA_START(list, aFormat);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   161
	buf8.FormatList(aFormat, list);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   162
	TBuf16<EMaxLogLength> buf16;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   163
	buf16.Copy(buf8);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   164
	INFO_PRINTF2(KSingleDesFmt1, &buf16);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   165
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   166
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   167
void CTestStepRootServer::Log( TInt aSeverity, TRefByValue<const TDesC8> aFormat, ... )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   168
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   169
	// Although a memory-spendthrift approach it's ok for the case of TS_ROOTSERVER
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   170
	TBuf8<EMaxLogLength> buf8;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   171
	VA_LIST list;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   172
	VA_START(list, aFormat);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   173
	buf8.FormatList(aFormat, list);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   174
	TBuf16<EMaxLogLength> buf16;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   175
	buf16.Copy(buf8);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   176
	INFO_PRINTF3(KSingleDesFmt2, aSeverity, &buf16);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   177
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   178
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   179
void CTestStepRootServer::LogExtra(const TText8* aFile, TInt aLine, TInt aSeverity, TRefByValue<const TDesC8> aFormat,...)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   180
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   181
	// Although a memory-spendthrift approach it's ok for the case of TS_ROOTSERVER
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   182
	TBuf8<EMaxLogLength> buf8;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   183
	VA_LIST list;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   184
	VA_START(list, aFormat);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   185
	buf8.FormatList(aFormat, list);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   186
	TBuf16<EMaxLogLength> buf16;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   187
	buf16.Copy(buf8);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   188
	INFO_PRINTF5(KSingleDesFmt4, aFile, aLine, aSeverity, &buf16);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   189
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   190
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   191
void CTestStepRootServer::Log( TRefByValue<const TDesC16> aFormat, ... )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   192
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   193
	// Although a memory-spendthrift approach it's ok for the case of TS_ROOTSERVER
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   194
	TBuf16<EMaxLogLength> buf16;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   195
	VA_LIST list;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   196
	VA_START(list, aFormat);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   197
	buf16.FormatList(aFormat, list);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   198
	INFO_PRINTF2(KSingleDesFmt1, &buf16);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   199
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   200
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   201
void CTestStepRootServer::Log( TInt aSeverity, TRefByValue<const TDesC16> aFormat, ... )
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   202
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   203
	// Although a memory-spendthrift approach it's ok for the case of TS_ROOTSERVER
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   204
	TBuf16<EMaxLogLength> buf16;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   205
	VA_LIST list;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   206
	VA_START(list, aFormat);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   207
	buf16.FormatList(aFormat, list);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   208
	INFO_PRINTF3(KSingleDesFmt2, aSeverity, &buf16);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   209
	}
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   210
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   211
void CTestStepRootServer::LogExtra(const TText8* aFile, TInt aLine, TInt aSeverity,
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   212
	TRefByValue<const TDesC> aFormat,...)
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   213
	{
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   214
	// Although a memory-spendthrift approach it's ok for the case of TS_ROOTSERVER
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   215
	TBuf16<EMaxLogLength> buf16;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   216
	VA_LIST list;
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   217
	VA_START(list, aFormat);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   218
	buf16.FormatList(aFormat, list);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   219
	INFO_PRINTF5(KSingleDesFmt4, aFile, aLine, aSeverity, &buf16);
ae47d0499bee 201033_02
hgs
parents:
diff changeset
   220
	}