satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp
branchRCL_3
changeset 18 594d59766373
parent 11 586d88ba9aa1
child 19 7d48bed6ce0c
--- a/satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp	Thu Jul 15 19:16:18 2010 +0300
+++ b/satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp	Thu Aug 19 10:28:14 2010 +0300
@@ -21,6 +21,8 @@
 #include    <AknGlobalNote.h>
 #include    <exterror.h>
 #include    <avkon.rsg>
+#include    <centralrepository.h>
+#include    <SATPrivateCRKeys.h>
 
 #include    "MSatSystemState.h"
 #include    "MSatApi.h"
@@ -566,10 +568,40 @@
     iNotificationRsp(),
     iNotificationRspPckg( iNotificationRsp ),
     // To be removed when icons are allowed in this command
-    iIconCommand( EFalse )
+    iIconCommand( EFalse ),
+    iIsSatDisplayUssdResult( EFalse )
     {
     LOG( SIMPLE,
-        "SENDUSSD: CSendUssdHandler::CSendUssdHandler calling - exiting" )
+        "SENDUSSD: CSendUssdHandler::CSendUssdHandler calling" )
+    CRepository* repository = NULL;
+
+    TRAPD( result, repository = CRepository::NewL( KCRUidSatServer ); );
+    LOG2( NORMAL, "SENDUSSD: CSendUssdHandler::CSendUssdHandler \
+        open CRepository result: %d", result )
+
+    if ( repository && ( KErrNone == result ) )
+        {
+        result = repository->Get( KSatDisplayUssdResult, 
+        iIsSatDisplayUssdResult );
+        LOG2( NORMAL, 
+             "SENDUSSD: CSendUssdHandler::CSendUssdHandler \
+              get CRepository key iIsSatDisplayUssdResult: %d", 
+              iIsSatDisplayUssdResult )
+        
+        if ( KErrNone != result )
+            {
+            LOG2( NORMAL, 
+                 "SENDUSSD: CSendUssdHandler::CSendUssdHandler \
+                 get CRepository key error result: %d", 
+                 result )
+            }
+        }
+
+    delete repository;
+    repository = NULL;
+
+    LOG( SIMPLE,
+        "SENDUSSD: CSendUssdHandler::CSendUssdHandler exiting" )
     }
 
 
@@ -597,12 +629,15 @@
 
     iSendUssdRsp.iUssdString.iUssdString.Copy( receiveMessage );
 
-    if ( RSat::EAlphaIdProvided != iSendUssdData.iAlphaId.iStatus )
+    if ( ( RSat::EAlphaIdProvided != iSendUssdData.iAlphaId.iStatus )
+          && iIsSatDisplayUssdResult )
         {
         // if no Alpha ID provided, show the text note.
-        LOG( SIMPLE, "SENDUSSD: CSendUssdHandler::SendUssdString Show Note" )
+        LOG( SIMPLE, "SENDUSSD: CSendUssdHandler::SendUssdString \
+        Show USSD result Note" )
         TRAP_IGNORE( 
-            ShowUssdResponseNoteL( iSendUssdRsp.iUssdString.iUssdString ) );
+        ShowUssdResponseNoteL( 
+        iSendUssdRsp.iUssdString.iUssdString ) );
         }
 
     HandleSendUssdResult( error );