telephonyprotocols/csdagt/script/SCOMMAND.CPP
branchRCL_3
changeset 65 630d2f34d719
parent 0 3553901f7fa8
child 66 07a122eea281
equal deleted inserted replaced
61:17af172ffa5f 65:630d2f34d719
     1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    17 
    17 
    18 /**
    18 /**
    19  @file Scommand.cpp 
    19  @file Scommand.cpp 
    20 */
    20 */
    21 
    21 
       
    22 
       
    23 #include "OstTraceDefinitions.h"
       
    24 #ifdef OST_TRACE_COMPILER_IN_USE
       
    25 #include "SCOMMANDTraces.h"
       
    26 #endif
       
    27 
    22 #include "SSCRREAD.H"
    28 #include "SSCRREAD.H"
    23 #include "SSCREXEC.H"
    29 #include "SSCREXEC.H"
    24 #include "SIO.H"
    30 #include "SIO.H"
    25 #include "SLOGGER.H"
       
    26 
    31 
    27 // Command names
    32 // Command names
    28 
    33 
    29 _LIT(KSetCommand,"SET");
    34 _LIT(KSetCommand,"SET");
    30 _LIT(KSendCommand,"SEND");
    35 _LIT(KSendCommand,"SEND");
   470 	TInt end=FindTokenEnd(iStatus.iOffset);
   475 	TInt end=FindTokenEnd(iStatus.iOffset);
   471 	if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KSetCommand)==KErrNone)
   476 	if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KSetCommand)==KErrNone)
   472 		{
   477 		{
   473 		if (!iStatus.iSkip)
   478 		if (!iStatus.iSkip)
   474 			{
   479 			{
   475 			__FLOG_STMT(_LIT8(KLogStringExecutingSet,"Script:\tExecuting Set");)
   480 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSETCOMMAND_PARSEL_1, "Script:\tExecuting Set");
   476 			__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),KLogStringExecutingSet());
       
   477 			}
   481 			}
   478 		iStatus.iOffset=end;
   482 		iStatus.iOffset=end;
   479 		EatSpaces(iStatus.iOffset);
   483 		EatSpaces(iStatus.iOffset);
   480 		end=FindTokenEnd(iStatus.iOffset);
   484 		end=FindTokenEnd(iStatus.iOffset);
   481 		TPtrC varName=iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset);
   485 		TPtrC varName=iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset);
   485 		EatSpaces(end);
   489 		EatSpaces(end);
   486 		TPtrC value=ParseCompoundExpressionL(end);
   490 		TPtrC value=ParseCompoundExpressionL(end);
   487 		if (!iStatus.iSkip)
   491 		if (!iStatus.iSkip)
   488 			{
   492 			{
   489 			iVarMan->AddVariableL(varName,value);
   493 			iVarMan->AddVariableL(varName,value);
   490 			__FLOG_STMT(_LIT(KLogStringSetVar,"Script:\tSet Var: %S  To %S"));
   494 			OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSETCOMMAND_PARSEL_2, "Script:\tSet Var: %S  To %S",varName,value);
   491 			__FLOG_STATIC2(KNetDialLogFolder(),KNetDialLogFile(),TRefByValue<const TDesC>(KLogStringSetVar()),&varName,&value);
       
   492 			}
   495 			}
   493 		iStatus.iOffset=end;
   496 		iStatus.iOffset=end;
   494 		return ETrue;		// Consumed
   497 		return ETrue;		// Consumed
   495 		}
   498 		}
   496 	return EFalse;			// Not Consumed
   499 	return EFalse;			// Not Consumed
   548 	TInt end=FindTokenEnd(iStatus.iOffset);
   551 	TInt end=FindTokenEnd(iStatus.iOffset);
   549 	if(iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KSendCommand)==0)
   552 	if(iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KSendCommand)==0)
   550 		{
   553 		{
   551 		if(!iStatus.iSkip)
   554 		if(!iStatus.iSkip)
   552 			{
   555 			{
   553 			__FLOG_STMT(_LIT8(KLogStringExecutingSend,"Script:\tExecuting Send");)
   556 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSENDCOMMAND_PARSEL_1,"Script:\tExecuting Send");
   554 			__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),KLogStringExecutingSend());
       
   555 			}
   557 			}
   556 		iStatus.iOffset=end;
   558 		iStatus.iOffset=end;
   557 		EatSpaces(iStatus.iOffset);
   559 		EatSpaces(iStatus.iOffset);
   558 		TPtrC temp;
   560 		TPtrC temp;
   559 		temp.Set(ParseCompoundExpressionL(iStatus.iOffset));
   561 		temp.Set(ParseCompoundExpressionL(iStatus.iOffset));
   560 		HBufC8* buf=ConvertLC(temp,iStatus.iOffset);
   562 		HBufC8* buf=ConvertLC(temp,iStatus.iOffset);
   561 		iSendString.Set(buf->Des());
   563 		iSendString.Set(buf->Des());
   562 		if(!iStatus.iSkip)
   564 		if(!iStatus.iSkip)
   563 			{
   565 			{
   564 			iScriptIO->Write(iSendString);
   566 			iScriptIO->Write(iSendString);
   565 #ifdef __FLOG_ACTIVE
   567 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSENDCOMMAND_PARSEL_2, "Script:\tSending %s",iSendString);
   566 			_LIT(KLogStringSending,"Script:\tSending %S");
       
   567 			TBuf16<KLogBufferSize> temp;
       
   568 			temp.Copy(iSendString.Left(Min(iSendString.Length(),KLogBufferSize)));
       
   569 			__FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),TRefByValue<const TDesC>(KLogStringSending()),&temp);
       
   570 #endif
       
   571 			}
   568 			}
   572 		CleanupStack::PopAndDestroy();
   569 		CleanupStack::PopAndDestroy();
   573 		return ETrue;		// Consumed
   570 		return ETrue;		// Consumed
   574 		}
   571 		}
   575 	return EFalse;			// Not Consumed
   572 	return EFalse;			// Not Consumed
   712 /**
   709 /**
   713 Parses WAIT command when not in skip mode.  Parses wait period, strings and labels and 
   710 Parses WAIT command when not in skip mode.  Parses wait period, strings and labels and 
   714 queue a read.
   711 queue a read.
   715 */
   712 */
   716 	{
   713 	{
   717 	__FLOG_STMT(_LIT8(KLogStringExecutingWait,"Script:\tExecuting Wait");)
   714 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAITCOMMAND_PARSEACTIONL_1, "Script:\tExecuting Wait");
   718 	__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),KLogStringExecutingWait());
       
   719 	EatSpaces(iStatus.iOffset);
   715 	EatSpaces(iStatus.iOffset);
   720 	TReal waitPeriod=ParseRealL(iStatus.iOffset);
   716 	TReal waitPeriod=ParseRealL(iStatus.iOffset);
   721 	EatSpacesAndLinesAndCommentsL();
   717 	EatSpacesAndLinesAndCommentsL();
   722 	if (iStatus.iLine[iStatus.iOffset++]!=KOpenExprChar)
   718 	if (iStatus.iLine[iStatus.iOffset++]!=KOpenExprChar)
   723 		User::Leave(KErrNoOpenExpression);
   719 		User::Leave(KErrNoOpenExpression);
   738 			HBufC8* buf=ConvertLC(temp,iStatus.iOffset);
   734 			HBufC8* buf=ConvertLC(temp,iStatus.iOffset);
   739 			CLabelSearch* label=ParseLabelLC();
   735 			CLabelSearch* label=ParseLabelLC();
   740 			TPtrC8 waitString(buf->Des());	
   736 			TPtrC8 waitString(buf->Des());	
   741 			label->CreateCommChatStringL(waitString,EFalse);
   737 			label->CreateCommChatStringL(waitString,EFalse);
   742 			iLabelArray->AppendL(label);
   738 			iLabelArray->AppendL(label);
   743 			// for logging
   739 			OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CWAITCOMMAND_PARSEACTIONL_2, "Script:\tIf %s is found, Goto %S",waitString,label->LabelName());
   744 			TBuf<KLogBufferSize> labelName;
       
   745 			labelName.Copy(label->LabelName().Left(Min(KLogBufferSize,label->LabelName().Length())));
       
   746 			//
       
   747 #ifdef __FLOG_ACTIVE
       
   748 			_LIT(KLogStringGog,"Script:\tIf %S is found, Goto %S");
       
   749 			TBuf16<KLogBufferSize> string;
       
   750 			string.Copy(waitString.Left(Min(waitString.Length(),KLogBufferSize)));
       
   751 			__FLOG_STATIC2(KNetDialLogFolder(),KNetDialLogFile(),TRefByValue<const TDesC>(KLogStringGog()),&string,&labelName);
       
   752 #endif
       
   753 			CleanupStack::Pop();			// label - will be deleted from array
   740 			CleanupStack::Pop();			// label - will be deleted from array
   754 			CleanupStack::PopAndDestroy();	// buf - will have been copied into label array
   741 			CleanupStack::PopAndDestroy();	// buf - will have been copied into label array
   755 			}			
   742 			}			
   756 		}
   743 		}
   757 	// Tell the script executor how long we are going to wait since it
   744 	// Tell the script executor how long we are going to wait since it
   891 		{
   878 		{
   892 		if (iLoop)
   879 		if (iLoop)
   893 			User::Leave(KErrNestedLoop);
   880 			User::Leave(KErrNestedLoop);
   894 		if (!iStatus.iSkip)
   881 		if (!iStatus.iSkip)
   895 			{
   882 			{
   896 			__FLOG_STMT(_LIT8(KLogStringExecutingLoop,"Script:\tExecuting Loop");)
   883 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CLOOPCOMMAND_PARSEL_1,"Script:\tExecuting Loop");
   897 			__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),KLogStringExecutingLoop());
       
   898 			}
   884 			}
   899 		iStatus.iOffset=end;
   885 		iStatus.iOffset=end;
   900 		EatSpaces(iStatus.iOffset);
   886 		EatSpaces(iStatus.iOffset);
   901 		iLoopCounter=ParseIntegerL(iStatus.iOffset);
   887 		iLoopCounter=ParseIntegerL(iStatus.iOffset);
   902 		if ((iLoopCounter<KMinLoopCounter) || (iLoopCounter>KMaxLoopCounter))
   888 		if ((iLoopCounter<KMinLoopCounter) || (iLoopCounter>KMaxLoopCounter))
   906 			User::Leave(KErrNoOpenExpression);
   892 			User::Leave(KErrNoOpenExpression);
   907 		iLoop=ETrue;
   893 		iLoop=ETrue;
   908 		iScriptReader->CurrentPos(iLoopPosition,iStatus.iOffset);
   894 		iScriptReader->CurrentPos(iLoopPosition,iStatus.iOffset);
   909 		if (!iStatus.iSkip)
   895 		if (!iStatus.iSkip)
   910 			{
   896 			{
   911 			__FLOG_STMT(_LIT(KLogStringLoopCounter,"Script:\tLoop Counter %d");)
   897 			OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CLOOPCOMMAND_PARSEL_2, "Script:\tLoop Counter %d",iLoopCounter);
   912 			__FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),KLogStringLoopCounter(),iLoopCounter);
       
   913 			}
   898 			}
   914 		return ETrue;		// Consumed
   899 		return ETrue;		// Consumed
   915 		}
   900 		}
   916 	return EFalse;			// Not Consumed
   901 	return EFalse;			// Not Consumed
   917 	}
   902 	}
   932 				iStatus.iOffset++;
   917 				iStatus.iOffset++;
   933 				}
   918 				}
   934 			else
   919 			else
   935 				{
   920 				{
   936 				iScriptReader->SetCurrentPos(iLoopPosition);
   921 				iScriptReader->SetCurrentPos(iLoopPosition);
   937 				__FLOG_STMT(_LIT8(logString1,"Script:\tRepeat Loop");)
   922 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CLOOPCOMMAND_CHECKLOOPL_1,"Script:\tRepeat Loop");
   938 				__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString1());
   923 				OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CLOOPCOMMAND_CHECKLOOPL_2,"Script:\tLoop Counter %d",iLoopCounter);
   939 				__FLOG_STMT(_LIT8(logString2,"Script:\tLoop Counter %d");)
       
   940 				__FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),logString2(),iLoopCounter);
       
   941 				}
   924 				}
   942 			return ETrue;				// Consumed Something
   925 			return ETrue;				// Consumed Something
   943 			}
   926 			}
   944 		}
   927 		}
   945 	return EFalse;						// Nothing doing...
   928 	return EFalse;						// Nothing doing...
   997 	TInt end=FindTokenEnd(iStatus.iOffset);
   980 	TInt end=FindTokenEnd(iStatus.iOffset);
   998 	if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KGotoCommand)==KErrNone)
   981 	if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KGotoCommand)==KErrNone)
   999 		{
   982 		{
  1000 		if(!iStatus.iSkip)
   983 		if(!iStatus.iSkip)
  1001 			{
   984 			{
  1002 			__FLOG_STMT(_LIT8(logString,"Script:\tExecuting Goto");)
   985 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CGOTOCOMMAND_PARSEL_1,"Script:\tExecuting Goto");
  1003 			__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString());
       
  1004 			}
   986 			}
  1005 		iStatus.iOffset=end;
   987 		iStatus.iOffset=end;
  1006 		EatSpaces(iStatus.iOffset);
   988 		EatSpaces(iStatus.iOffset);
  1007 		end=FindTokenEnd(iStatus.iOffset);
   989 		end=FindTokenEnd(iStatus.iOffset);
  1008 		TPtrC var=iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset);
   990 		TPtrC var=iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset);
  1027 		{
  1009 		{
  1028 		if (iLabelMan->FindLabel(aLabelName,pos)==KErrNotFound)
  1010 		if (iLabelMan->FindLabel(aLabelName,pos)==KErrNotFound)
  1029 			{
  1011 			{
  1030 			iSearchName.Copy(aLabelName);
  1012 			iSearchName.Copy(aLabelName);
  1031 			iStatus.iSkipModeToggleReq=ETrue;
  1013 			iStatus.iSkipModeToggleReq=ETrue;
  1032 			__FLOG_STMT(_LIT(logString1,"Script:\tSearching for Label %S");)
  1014 			OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CGOTOCOMMAND_GOTO_1,"Script:\tSearching for Label %S",aLabelName);
  1033 			__FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),TRefByValue<const TDesC>(logString1()),&aLabelName);
  1015 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CGOTOCOMMAND_GOTO_2, "Script:\tEntering Skip Mode");
  1034 			__FLOG_STMT(_LIT8(logString2,"Script:\tEntering Skip Mode");)
       
  1035 			__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString2());
       
  1036 			}
  1016 			}
  1037 		else
  1017 		else
  1038 			iScriptReader->SetCurrentPos(pos);
  1018 			iScriptReader->SetCurrentPos(pos);
  1039 		}
  1019 		}
  1040 	}
  1020 	}
  1055 		iStatus.iOffset=++end;
  1035 		iStatus.iOffset=++end;
  1056 		TLinePosition dummyPos;
  1036 		TLinePosition dummyPos;
  1057 		if (iStatus.iSkip && (iLabelMan->FindLabel(iSearchName,dummyPos)==KErrNone))
  1037 		if (iStatus.iSkip && (iLabelMan->FindLabel(iSearchName,dummyPos)==KErrNone))
  1058 			{
  1038 			{
  1059 			iStatus.iSkipModeToggleReq=ETrue;
  1039 			iStatus.iSkipModeToggleReq=ETrue;
  1060 			__FLOG_STMT(_LIT8(logString,"Script:\tExiting Skip Mode");)
  1040 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CGOTOCOMMAND_PARSELABELL_1,"Script:\tExiting Skip Mode");
  1061 			__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString());
       
  1062 			}
  1041 			}
  1063 		return ETrue;
  1042 		return ETrue;
  1064 		}
  1043 		}
  1065 	return EFalse;
  1044 	return EFalse;
  1066 	}
  1045 	}
  1129 	TInt end=FindTokenEnd(iStatus.iOffset);
  1108 	TInt end=FindTokenEnd(iStatus.iOffset);
  1130 	if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KDTRCommand)==KErrNone)
  1109 	if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KDTRCommand)==KErrNone)
  1131 		{
  1110 		{
  1132 		if(!iStatus.iSkip)
  1111 		if(!iStatus.iSkip)
  1133 			{
  1112 			{
  1134 			__FLOG_STMT(_LIT8(logString1,"Script:\tExecuting DTR");)
  1113 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CDTRCOMMAND_PARSEL_1,"Script:\tExecuting DTR");
  1135 			__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString1());
       
  1136 			}
  1114 			}
  1137 		iStatus.iOffset=end;
  1115 		iStatus.iOffset=end;
  1138 		EatSpaces(iStatus.iOffset);
  1116 		EatSpaces(iStatus.iOffset);
  1139 		end=FindTokenEnd(iStatus.iOffset);
  1117 		end=FindTokenEnd(iStatus.iOffset);
  1140 		if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KRaiseDTRCommand)==KErrNone)
  1118 		if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KRaiseDTRCommand)==KErrNone)
  1141 			{
  1119 			{
  1142 			if(!iStatus.iSkip)
  1120 			if(!iStatus.iSkip)
  1143 				{
  1121 				{
  1144 				__FLOG_STMT(_LIT8(logString2,"Script:\tRaising DTR");)
  1122 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CDTRCOMMAND_PARSEL_2,"Script:\tRaising DTR");
  1145 				__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString2());
       
  1146 				iScriptIO->RaiseDTR(NULL);
  1123 				iScriptIO->RaiseDTR(NULL);
  1147 				}	
  1124 				}	
  1148 			}
  1125 			}
  1149 		else if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KDropDTRCommand)==KErrNone)
  1126 		else if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KDropDTRCommand)==KErrNone)
  1150 			{
  1127 			{
  1151 			if(!iStatus.iSkip)
  1128 			if(!iStatus.iSkip)
  1152 				{
  1129 				{
  1153 				__FLOG_STMT(_LIT8(logString3,"Script:\tDropping DTR");)
  1130 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CDTRCOMMAND_PARSEL_3,"Script:\tDropping DTR");
  1154 				__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString3());
       
  1155 				iScriptIO->DropDTR(NULL);
  1131 				iScriptIO->DropDTR(NULL);
  1156 				}	
  1132 				}	
  1157 			}
  1133 			}
  1158 		else
  1134 		else
  1159 			User::Leave(KErrNoDropOrRaise);
  1135 			User::Leave(KErrNoDropOrRaise);
  1215 	TInt end=FindTokenEnd(iStatus.iOffset);
  1191 	TInt end=FindTokenEnd(iStatus.iOffset);
  1216 	if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KReadCommand)==KErrNone)
  1192 	if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KReadCommand)==KErrNone)
  1217 		{
  1193 		{
  1218 		if (!iStatus.iSkip)
  1194 		if (!iStatus.iSkip)
  1219 			{
  1195 			{
  1220 			__FLOG_STMT(_LIT8(logString,"Script:\tExecuting Read");)
  1196 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CREADPCTCOMMAND_PARSEL_1, "Script:\tExecuting Read");
  1221 			__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString());
       
  1222 			iCharSet=ParseCharacterTypeL(iStatus.iOffset);
  1197 			iCharSet=ParseCharacterTypeL(iStatus.iOffset);
  1223 			iScriptExec->ReadPct();
  1198 			iScriptExec->ReadPct();
  1224 			}
  1199 			}
  1225 		iStatus.iOffset=end;
  1200 		iStatus.iOffset=end;
  1226 		return ETrue;		// Consumed
  1201 		return ETrue;		// Consumed
  1359 	TInt end=FindTokenEnd(iStatus.iOffset);
  1334 	TInt end=FindTokenEnd(iStatus.iOffset);
  1360 	if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KExitCommand)==KErrNone)
  1335 	if (iStatus.iLine.Mid(iStatus.iOffset,end-iStatus.iOffset).CompareF(KExitCommand)==KErrNone)
  1361 		{
  1336 		{
  1362 		if (!iStatus.iSkip)
  1337 		if (!iStatus.iSkip)
  1363 			{
  1338 			{
  1364 			__FLOG_STMT(_LIT8(logString1,"Script:\tExecuting Exit");)
  1339 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CEXITCOMMAND_PARSEL_1,"Script:\tExecuting Exit");
  1365 			__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString1());
       
  1366 			}
  1340 			}
  1367 		iStatus.iOffset=end;
  1341 		iStatus.iOffset=end;
  1368 		EatSpaces(iStatus.iOffset);
  1342 		EatSpaces(iStatus.iOffset);
  1369 		TPtrC exitStatus;
  1343 		TPtrC exitStatus;
  1370 		TRAPD(ret,(exitStatus.Set(ParseCompoundExpressionL(iStatus.iOffset))));
  1344 		TRAPD(ret,(exitStatus.Set(ParseCompoundExpressionL(iStatus.iOffset))));
  1384 				}
  1358 				}
  1385 			else if (ret==KErrNoExpression)
  1359 			else if (ret==KErrNoExpression)
  1386 				User::Leave(KErrScriptCompleted);
  1360 				User::Leave(KErrScriptCompleted);
  1387 			else
  1361 			else
  1388 				{
  1362 				{
  1389 				__FLOG_STMT(_LIT8(logString2,"Script:\tExit With Error %d");)
  1363 				OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CEXITCOMMAND_PARSEL_2,"Script:\tExit With Error %d",ret);
  1390 				__FLOG_STATIC1(KNetDialLogFolder(),KNetDialLogFile(),TRefByValue<const TDesC8>(logString2()),ret);
       
  1391 				User::Leave(ret);
  1364 				User::Leave(ret);
  1392 				}
  1365 				}
  1393 			}
  1366 			}
  1394 		return ETrue;		// Consumed
  1367 		return ETrue;		// Consumed
  1395 		}
  1368 		}