phoneengine/phonemodel/src/cpeparsersshandler.cpp
changeset 65 2a5d4ab426d3
parent 46 bc5a64e5bc3c
child 78 baacf668fe89
equal deleted inserted replaced
60:1eef62f5c541 65:2a5d4ab426d3
    31 #include <psetcallbarring.h>
    31 #include <psetcallbarring.h>
    32 #include <psetcalldiverting.h>
    32 #include <psetcalldiverting.h>
    33 #include <psetcallwaiting.h>
    33 #include <psetcallwaiting.h>
    34 #include <psetcli.h>
    34 #include <psetcli.h>
    35 #include <psetcontainer.h>
    35 #include <psetcontainer.h>
    36 #include <psetcontainer.h>
       
    37 #include <psuibarringobs.h>
       
    38 #include <psuibarringobs.h>
       
    39 #include <psuicliobserver.h>
       
    40 #include <psuicontainer.h>
       
    41 #include <psuidivertobs.h>
       
    42 #include <psuiwaitingobs.h>
       
    43 #include <psuiwaitingobs.h>
       
    44 #include <talogger.h>
    36 #include <talogger.h>
    45 
    37 
    46 #include <psetwrapper.h>
    38 #include <psetwrapper.h>
    47 #include <psuidivertnotehandler.h>
    39 #include <psuidivertnotehandler.h>
    48 #include <psetcalldivertingwrapper.h>
    40 #include <psetcalldivertingwrapper.h>
    94 
    86 
    95 // Destructor
    87 // Destructor
    96 CPEParserSSHandler::~CPEParserSSHandler()
    88 CPEParserSSHandler::~CPEParserSSHandler()
    97     {    
    89     {    
    98     delete iCli;
    90     delete iCli;
    99     delete iCliObserver;
       
   100     delete iBarring;
    91     delete iBarring;
   101     delete iCbObserver;
       
   102     delete iWaiting;
    92     delete iWaiting;
   103     delete iSettings;
    93     delete iSettings;
   104     delete iObsContainer;
       
   105     
    94     
   106     delete iCallDivertingHandler;
    95     delete iCallDivertingHandler;
   107     delete iPsetWrapper;
    96     delete iPsetWrapper;
   108     
    97     
   109 
    98 
   446     switch( aAction )
   435     switch( aAction )
   447         {
   436         {
   448         case EActivate:
   437         case EActivate:
   449             setBarring.iSetting = EActivateBarring;
   438             setBarring.iSetting = EActivateBarring;
   450             iSupplementaryServicesCommandInfo.action = EPESSActivation;
   439             iSupplementaryServicesCommandInfo.action = EPESSActivation;
   451             iBarring->SetBarringL( setBarring, bsc );
   440             //iBarring->SetBarringL( setBarring, bsc );
   452             iModel.DataStore()->SetSSCommandInfo( iSupplementaryServicesCommandInfo );
   441             //iModel.DataStore()->SetSSCommandInfo( iSupplementaryServicesCommandInfo );
   453             iModel.SendMessage( MEngineMonitor::EPEMessageIssuedSSRequest );
   442             //iModel.SendMessage( MEngineMonitor::EPEMessageIssuedSSRequest );
   454             break;
   443             break;
   455         case EDeactivate: 
   444         case EDeactivate: 
   456             setBarring.iSetting = ECancelBarring;
   445             setBarring.iSetting = ECancelBarring;
   457             iSupplementaryServicesCommandInfo.action = EPESSDeactivation;
   446             iSupplementaryServicesCommandInfo.action = EPESSDeactivation;
   458             iBarring->SetBarringL( setBarring, bsc );
   447             //iBarring->SetBarringL( setBarring, bsc );
   459             iModel.DataStore()->SetSSCommandInfo( iSupplementaryServicesCommandInfo );
   448             //iModel.DataStore()->SetSSCommandInfo( iSupplementaryServicesCommandInfo );
   460             iModel.SendMessage( MEngineMonitor::EPEMessageIssuedSSRequest );
   449             //iModel.SendMessage( MEngineMonitor::EPEMessageIssuedSSRequest );
   461             break;
   450             break;
   462         case EInterrogate:
   451         case EInterrogate:
   463             iSupplementaryServicesCommandInfo.action = EPESSInterrogation;
   452             iSupplementaryServicesCommandInfo.action = EPESSInterrogation;
   464             iBarring->GetBarringStatusL( EServiceGroupVoice, setBarring.iType );
   453             //iBarring->GetBarringStatusL( EServiceGroupVoice, setBarring.iType );
   465             iModel.DataStore()->SetSSCommandInfo( iSupplementaryServicesCommandInfo );
   454             //iModel.DataStore()->SetSSCommandInfo( iSupplementaryServicesCommandInfo );
   466             iModel.SendMessage( MEngineMonitor::EPEMessageIssuedSSRequest );
   455             //iModel.SendMessage( MEngineMonitor::EPEMessageIssuedSSRequest );
   467             break;
   456             break;
   468         case ERegister:
   457         case ERegister:
   469         case EErase:
   458         case EErase:
   470         default:
   459         default:
   471             iSupplementaryServicesCommandInfo.action = EPESSActionUnspecified;
   460             iSupplementaryServicesCommandInfo.action = EPESSActionUnspecified;
   964         }
   953         }
   965     CleanupStack::PushL( TCleanupItem( DoClean, this ) );
   954     CleanupStack::PushL( TCleanupItem( DoClean, this ) );
   966  
   955  
   967     //creates the containers
   956     //creates the containers
   968     iSettings = CPsetContainer::NewL();
   957     iSettings = CPsetContainer::NewL();
   969     iObsContainer = CPsuiContainer::NewL();
       
   970 
   958 
   971     CleanupStack::Pop( this );
   959     CleanupStack::Pop( this );
   972     }
   960     }
   973     
   961     
   974 // -----------------------------------------------------------------------------
   962 // -----------------------------------------------------------------------------
   994 // -----------------------------------------------------------------------------
   982 // -----------------------------------------------------------------------------
   995 //
   983 //
   996 void CPEParserSSHandler::CreateCBObsL()
   984 void CPEParserSSHandler::CreateCBObsL()
   997     {
   985     {
   998     ConnectToSsEngineL();
   986     ConnectToSsEngineL();
   999     //call barring observer and engine
       
  1000     if ( !iCbObserver )
       
  1001         {  
       
  1002         iCbObserver = iObsContainer->CreateCBObsL();
       
  1003         iBarring = iSettings->CreateCBObjectL( *iCbObserver );
       
  1004         iBarring->SetRequestObserver( this );
       
  1005         }
       
  1006     }
   987     }
  1007 
   988 
  1008 // -----------------------------------------------------------------------------
   989 // -----------------------------------------------------------------------------
  1009 // CPEParserSSHandler::CreateCFObsL
   990 // CPEParserSSHandler::CreateCFObsL
  1010 // -----------------------------------------------------------------------------
   991 // -----------------------------------------------------------------------------
  1026 // -----------------------------------------------------------------------------
  1007 // -----------------------------------------------------------------------------
  1027 //
  1008 //
  1028 void CPEParserSSHandler::CreateCliObsL()
  1009 void CPEParserSSHandler::CreateCliObsL()
  1029     {
  1010     {
  1030     ConnectToSsEngineL();
  1011     ConnectToSsEngineL();
  1031     // cli observer and engine 
       
  1032     if ( !iCliObserver )
       
  1033         {  
       
  1034         iCliObserver = iObsContainer->CreateCliObsL();
       
  1035         iCli = iSettings->CreateCliObjectL( *iCliObserver );
       
  1036         iCli->SetRequestObserver( this );
       
  1037         }
       
  1038     }   
  1012     }   
  1039      
  1013      
  1040 // -----------------------------------------------------------------------------
  1014 // -----------------------------------------------------------------------------
  1041 // CPEParserSSHandler::ProcessForwardingL
  1015 // CPEParserSSHandler::ProcessForwardingL
  1042 // -----------------------------------------------------------------------------
  1016 // -----------------------------------------------------------------------------
  1072 // CPEParserSSHandler::ResetVariables
  1046 // CPEParserSSHandler::ResetVariables
  1073 // -----------------------------------------------------------------------------
  1047 // -----------------------------------------------------------------------------
  1074 //
  1048 //
  1075 void CPEParserSSHandler::ResetVariables()
  1049 void CPEParserSSHandler::ResetVariables()
  1076     {
  1050     {
  1077     delete iCbObserver;
       
  1078     iCbObserver = NULL;
       
  1079     delete iCliObserver;
       
  1080     iCliObserver = NULL;
       
  1081    
       
  1082     delete iBarring;
  1051     delete iBarring;
  1083     iBarring = NULL;
  1052     iBarring = NULL;
  1084     
  1053     
  1085     delete iCli;
  1054     delete iCli;
  1086     iCli = NULL;
  1055     iCli = NULL;
  1087     delete iSettings;
  1056     delete iSettings;
  1088     iSettings = NULL;
  1057     iSettings = NULL;
  1089     delete iObsContainer;
       
  1090     iObsContainer = NULL;
       
  1091     
  1058     
  1092     iDivert = NULL;
  1059     iDivert = NULL;
  1093     delete iCallDivertingHandler;
  1060     delete iCallDivertingHandler;
  1094     iCallDivertingHandler = NULL;
  1061     iCallDivertingHandler = NULL;
  1095       
  1062