--- a/telutils/phoneparser/src/PhoneGsmParser.cpp Tue Aug 31 15:45:17 2010 +0300
+++ b/telutils/phoneparser/src/PhoneGsmParser.cpp Wed Sep 01 12:15:03 2010 +0100
@@ -17,29 +17,32 @@
// INCLUDE FILES
-#include "phonegsmparser.h"
-#include "cphonegsmparser.h"
-#include "cphonegsmparserbase.h"
-#include "cphonegsmparserresult.h"
-#include "cphonegsmoptioncontainer.h"
+#include "PhoneGsmParser.h"
+#include "CPhoneGsmParser.h"
+#include "CPhoneGsmParserBase.h"
+#include "CPhoneGsmParserResult.h"
+#include "CPhoneGsmOptionContainer.h"
-#include "cphonegsmparsercontainer.h"
-#include "cphonegsmssparser.h"
-#include "cphonegsmsimcontrolparser.h"
-#include "cphonegsmphonenumberparser.h"
-#include "cphonegsmsscallparser.h"
-#include "cphonegsmmanufacturerparser.h"
-#include "cphonegsmpcnprocedureparser.h"
-#include "cphonegsmmanufacturerhandler.h"
-#include "cphonegsmemergencynumberparser.h"
-#include "cphoneparserfeatures.h"
-#include "cphonevoipnumberparser.h"
+#include "CPhoneGsmParserContainer.h"
+#include "CPhoneGsmSsParser.h"
+#include "CPhoneGsmSimControlParser.h"
+#include "CPhoneGsmPhoneNumberParser.h"
+#include "CPhoneGsmSsCallParser.h"
+#include "CPhoneGsmManufacturerParser.h"
+#include "CPhoneGsmPcnProcedureParser.h"
+#include "CPhoneGsmManufacturerHandler.h"
+#include "CPhoneGsmEmergencyNumberParser.h"
+#include "CPhoneParserFeatures.h"
+#include "CPhoneVoipNumberParser.h"
+#include "CPhoneGsmImeiParser.h"
+
// CONSTANTS
const TInt KPhoneParserResultParameterReserver = 10;
_LIT( KPhoneParserPanic, "PhoneParser" );
// Software version display code
+_LIT( KPhoneCodeSwVersion, "*#0000#" );
_LIT( KPhoneCodeBadPinChange, "**04*" );
_LIT( KPhoneCodeBadPin2Change, "**042*" );
_LIT( KPhoneCodeBadPinUnblock, "**05*" );
@@ -47,6 +50,7 @@
_LIT( KPhoneCodeActivateRfsNormal, "*#7780#" );
_LIT( KPhoneCodeActivateRfsDeep, "*#7370#" );
_LIT( KPhoneCodeBtAddress, "*#2820#" );
+_LIT( KPhoneCodeLifeTimer, "*#92702689#" );
_LIT( KPhoneCodeRFLoopback, "*#9990#" );
_LIT( KPhoneCodeWLANMAC, "*#62209526#" );
_LIT( KPhoneCodeBtDebugMode, "*#2873#" );
@@ -95,6 +99,10 @@
CPhoneGsmParserBase* voipNumberParser =
CPhoneVoipNumberParser::NewLC();
+ // 7. IMEI PARSER TO STACK
+ CPhoneGsmParserBase* imeiParser =
+ CPhoneGsmImeiParser::NewLC();
+
CPhoneGsmParser* parser =
CPhoneGsmParser::NewL(
ssContainer,
@@ -102,9 +110,10 @@
phoneNumber,
manufacturerSpecific,
emergencyNumberParser,
- voipNumberParser);
+ voipNumberParser,
+ imeiParser );
- CleanupStack::Pop( 6, ssContainer );
+ CleanupStack::Pop( 7, ssContainer );
return parser;
}
@@ -224,11 +233,13 @@
// Allowed:
// 0 SEND
- // All manufacturer codes
+ // IMEI
+ // All manufacturer codes (incl. SW version)
// All sim control procedures
// All pcn procedures
return ( uid == KPhoneUidCommand0 ||
+ uid == KPhoneUidIMEI ||
uid == KPhoneUidManufacturerDebugCode ||
uid == KPhoneUidManufacturerCode ||
PHONE_EXTRACT_MAIN( uid ) == KPhoneGsmUidSimControlProcedure ||
@@ -247,14 +258,18 @@
// Allowed:
// DialEmergency
- // Some manufacturer codes
+ // IMEI
+ // Some manufacturer codes (incl. SW version)
// All sim control procedures
// All pcn procedures
return ( uid == KPhoneUidEmergencyNumber ||
+ uid == KPhoneUidIMEI ||
uid == KPhoneUidManufacturerDebugCode ||
( uid == KPhoneUidManufacturerCode &&
- ( aux == CPhoneGsmManufacturerHandler::EBadPinChange ||
+ ( aux == CPhoneGsmManufacturerHandler::EShowVersion ||
+ aux == CPhoneGsmManufacturerHandler::ELifeTimer ||
+ aux == CPhoneGsmManufacturerHandler::EBadPinChange ||
aux == CPhoneGsmManufacturerHandler::EBadPin2Change ||
aux == CPhoneGsmManufacturerHandler::EBadPinUnblock ||
aux == CPhoneGsmManufacturerHandler::EBadPin2Unblock ) ) ||
@@ -311,6 +326,11 @@
manufacturer->AddL( *manuCodes );
CleanupStack::Pop( manuCodes );
+ manuCodes->AddStringL(
+ KPhoneCodeSwVersion,
+ CPhoneGsmManufacturerParser::EFlagCode,
+ CPhoneGsmManufacturerHandler::EShowVersion );
+
manuCodes->AddStringL(
KPhoneCodeBadPinChange,
CPhoneGsmManufacturerParser::EFlagCode +
@@ -355,7 +375,15 @@
KPhoneCodeWLANMAC,
CPhoneGsmManufacturerParser::EFlagCode,
CPhoneGsmManufacturerHandler::EShowWlanMac,
- KFeatureIdProtocolWlan );
+ KFeatureIdProtocolWlan );
+
+ if ( CPhoneParserFeatures::LifeTimerEnabled())
+ {
+ manuCodes->AddStringL(
+ KPhoneCodeLifeTimer,
+ CPhoneGsmManufacturerParser::EFlagCode,
+ CPhoneGsmManufacturerHandler::ELifeTimer );
+ }
manuCodes->AddStringL(
KPhoneCodeRFLoopback,