cbsatplugin/atmisccmdplugin/src/atcommandparser.cpp
branchRCL_3
changeset 72 4b59561a31c0
parent 64 1934667b0e2b
--- a/cbsatplugin/atmisccmdplugin/src/atcommandparser.cpp	Wed Sep 15 12:23:51 2010 +0300
+++ b/cbsatplugin/atmisccmdplugin/src/atcommandparser.cpp	Wed Oct 13 14:43:49 2010 +0300
@@ -58,27 +58,7 @@
     _LIT8(KAtCpin, "AT+CPIN");
     _LIT8(KAtCusd, "AT+CUSD");
     _LIT8(KAtCnum, "AT+CNUM");
-	_LIT8(KAtCmee, "AT+CMEE");
-    _LIT8(KAtHver, "AT^HVER");
-    _LIT8(KAtCgsn, "AT+CGSN");
-    _LIT8(KAtCgmr, "AT+CGMR");
-    _LIT8(KAtCgmi, "AT+CGMI");
-    _LIT8(KAtCmgw, "AT+CMGW");
-	_LIT8(KAtCmgd, "AT+CMGD");
-	_LIT8(KAtCmgf, "AT+CMGF");
-	_LIT8(KAtiBase, "ATI");
-	_LIT8(KAti0, "ATI0");
-	_LIT8(KAti1, "ATI1");
-	_LIT8(KAti2, "ATI2");
-	_LIT8(KAti3, "ATI3");
-	_LIT8(KAti4, "ATI4");
-	_LIT8(KAtGmr, "AT+GMR");
-	_LIT8(KAtGmi, "AT+GMI");
-	_LIT8(KAtGsn, "AT+GSN");
-	_LIT8(KAtCgmm, "AT+CGMM");
-	_LIT8(KAtGmm, "AT+GMM");
-	_LIT8(KAtScpbr, "AT^SCPBR");
-	_LIT8(KAtScpbw, "AT^SCPBW");
+    _LIT8(KAtCmee, "AT+CMEE");
     
     Trace(KDebugPrintS, "token: ", &token);
     // Determine the AT command type
@@ -110,89 +90,9 @@
         {
         iCmdType = ECmdAtCnum;
         }
-    else if(!token.CompareF(KAtCmee))
+    else if(!token.Compare(KAtCmee))
         {
         iCmdType = ECmdAtCmee;
-		}
-    else if(!token.CompareF(KAtHver))
-        {
-        iCmdType = ECmdAtHver;
-        }
-    else if(!token.CompareF(KAtCgsn))
-        {
-        iCmdType = ECmdAtCgsn;
-        }
-    else if(!token.CompareF(KAtGsn))
-        {
-        iCmdType = ECmdAtGsn;
-        }
-    else if(!token.CompareF(KAtCgmr))
-        {
-        iCmdType = ECmdAtCgmr;
-        }
-    else if(!token.CompareF(KAtGmr))
-        {
-        iCmdType = ECmdAtGmr;
-        }
-    else if(!token.CompareF(KAtCgmi))
-        {
-        iCmdType = ECmdAtCgmi;
-        }    
-    else if(!token.CompareF(KAtGmi))
-        {
-        iCmdType = ECmdAtGmi;
-        } 
-    else if(!token.CompareF(KAtCmgw))
-        {
-        iCmdType = ECmdAtCmgw;
-        }
-    else if(!token.CompareF(KAtCmgd))
-        {
-        iCmdType = ECmdAtCmgd;
-        }
-    else if(!token.CompareF(KAtCmgf))
-        {
-        iCmdType = ECmdAtCmgf;
-        }
-    else if(!token.CompareF(KAtCgmm))
-        {
-        iCmdType = ECmdAtCgmm;
-        }
-    else if(!token.CompareF(KAtGmm))
-        {
-        iCmdType = ECmdAtGmm;
-        }
-    else if(!token.CompareF(KAtiBase))
-        {
-        iCmdType = ECmdAtI;
-        }
-    else if(!token.CompareF(KAti0))
-        {
-        iCmdType = ECmdAtI0;
-        }
-    else if(!token.CompareF(KAti1))
-        {
-        iCmdType = ECmdAtI1;
-        }
-    else if(!token.CompareF(KAti2))
-        {
-        iCmdType = ECmdAtI2;
-        }
-    else if(!token.CompareF(KAti3))
-        {
-        iCmdType = ECmdAtI3;
-        }
-    else if(!token.CompareF(KAti4))
-        {
-        iCmdType = ECmdAtI4;
-        }
-	else if(!token.CompareF(KAtScpbr))
-        {
-        iCmdType = ECmdAtScpbr;
-        } 
-    else if(!token.CompareF(KAtScpbw))
-        {
-        iCmdType = ECmdAtScpbw;
         }
     else
         {
@@ -254,8 +154,8 @@
     if(!iCmd.Eos())
         {
         chr = iCmd.Peek();
-        while(!iCmd.Eos() && chr != ',' && !chr.IsControl())
-            {// Stop at any comma or control character
+        while(!iCmd.Eos() && chr != ',' && !chr.IsSpace() && !chr.IsControl())
+            {// Stop at any of those chars: comma, space or control
             iCmd.Inc();
             chr = iCmd.Peek();
             }
@@ -264,30 +164,12 @@
     // Extract the token at this point            
     TPtrC8 retVal = iCmd.MarkedToken();
     
-	//ignore all space characters at the end
-    if(retVal.Length() > 1)
-    {
-        TInt pos = retVal.Length() - 1; 
-        for ( ; pos >= 0; pos-- )
-            {
-            const TChar ch( retVal[pos] );
-            if( !ch.IsSpace() )
-                {
-                break;
-                }
-            }
-        retVal.Set( retVal.Mid( 0, pos + 1 ) );
-    }
-    
-    
     // Skip comma, space and control chars
-    do
-      {
-      iCmd.Inc();
-      chr = iCmd.Peek();
-      }
-    while(!iCmd.Eos() && (chr.IsSpace() || chr.IsControl()));
-    
+    while(!iCmd.Eos() && (chr == ',' || chr.IsSpace() || chr.IsControl()))
+        {
+        iCmd.Inc();
+        chr = iCmd.Peek();
+        }
     TRACE_FUNC_EXIT
     return retVal;
     }
@@ -328,21 +210,8 @@
         }
     else
         {
-        //check if param contains only digits - TLex doesn't do that
-        for(TInt pos = param.Length() - 1; pos >= 0; pos--)
-            {
-            if(( param[pos] < '0' ) || ( param[pos] > '9' ))
-                {
-                retVal = KErrArgument;
-                break;
-                }
-            }
-        
-        if(retVal == KErrNone)
-            {
-            TLex8 lex(param);
-            retVal = lex.Val(aValue);
-            }
+        TLex8 lex(param);
+        retVal = lex.Val(aValue);
         }
     TRACE_FUNC_EXIT
     return retVal;