diff -r 7d48bed6ce0c -r 987c9837762f telutils/phoneparser/src/PhoneGsmParser.cpp --- 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,