telephonyserverplugins/common_tsy/commontsy/src/mmtsy/CMmMessageRouterProxy.cpp
branchRCL_3
changeset 66 07a122eea281
parent 65 630d2f34d719
equal deleted inserted replaced
65:630d2f34d719 66:07a122eea281
    14 //
    14 //
    15 
    15 
    16 
    16 
    17 
    17 
    18 //  INCLUDE FILES
    18 //  INCLUDE FILES
    19 
       
    20 #include "OstTraceDefinitions.h"
       
    21 #ifdef OST_TRACE_COMPILER_IN_USE
       
    22 #include "CMmMessageRouterProxyTraces.h"
       
    23 #endif
       
    24 
       
    25 #include "cmmmessagerouterproxy.h"
    19 #include "cmmmessagerouterproxy.h"
    26 #include "cmmvoicecalltsy.h"
    20 #include "cmmvoicecalltsy.h"
    27 #include "cmmdatacalltsy.h"
    21 #include "cmmdatacalltsy.h"
    28 #include "cmmcallextinterface.h"
    22 #include "cmmcallextinterface.h"
    29 #include "cmmconferencecalltsy.h"
    23 #include "cmmconferencecalltsy.h"
    67     }
    61     }
    68     
    62     
    69  CMmMessageRouterProxy* CMmMessageRouterProxy::NewL( 
    63  CMmMessageRouterProxy* CMmMessageRouterProxy::NewL( 
    70     CTsyDelegates& aTsyDelegates )
    64     CTsyDelegates& aTsyDelegates )
    71     {
    65     {
    72 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_CTOR_1, "TSY: CMmMessageRouterProxy::NewL." );
    66 TFLOGSTRING("TSY: CMmMessageRouterProxy::NewL." );    
    73     CMmMessageRouterProxy* const routerproxy =
    67     CMmMessageRouterProxy* const routerproxy =
    74         new ( ELeave ) CMmMessageRouterProxy();
    68         new ( ELeave ) CMmMessageRouterProxy();
    75     CleanupStack::PushL( routerproxy );
    69     CleanupStack::PushL( routerproxy );
    76 	routerproxy->iTsyDelegates = &aTsyDelegates;
    70 	routerproxy->iTsyDelegates = &aTsyDelegates;
    77     routerproxy->ConstructL();
    71     routerproxy->ConstructL();
    96 void CMmMessageRouterProxy::Complete( 
    90 void CMmMessageRouterProxy::Complete( 
    97     TInt aIpc, 
    91     TInt aIpc, 
    98     CMmDataPackage* aData, 
    92     CMmDataPackage* aData, 
    99     TInt aResult )
    93     TInt aResult )
   100 	{
    94 	{
   101 OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_COMPLETE_1, "TSY: CMmMessageRouterProxy::Complete. IPC = %d, result: %d", aIpc, aResult);
    95 TFLOGSTRING3("TSY: CMmMessageRouterProxy::Complete. IPC = %d, result: %d", aIpc, aResult);
   102 	RouteCompletion( aIpc, aData, aResult ); 
    96 	RouteCompletion( aIpc, aData, aResult ); 
   103 	}
    97 	}
   104 	
    98 	
   105 // ---------------------------------------------------------------------------
    99 // ---------------------------------------------------------------------------
   106 // CMmMessageRouterProxy::Complete 
   100 // CMmMessageRouterProxy::Complete 
   260         	const CPhoneBookDataPackage* phonebookData = REINTERPRET_CAST( 
   254         	const CPhoneBookDataPackage* phonebookData = REINTERPRET_CAST( 
   261         	    const CPhoneBookDataPackage*, aDataPackage );
   255         	    const CPhoneBookDataPackage*, aDataPackage );
   262 
   256 
   263 	        TName phoneBookName;
   257 	        TName phoneBookName;
   264 	        phonebookData->GetPhoneBookName( phoneBookName );
   258 	        phonebookData->GetPhoneBookName( phoneBookName );
   265 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_ROUTECOMPLETIONL_1, "TSY: CMmMessageRouterProxy::RouteCompletion: PB Name: %S", phoneBookName);
   259 TFLOGSTRING2("TSY: CMmMessageRouterProxy::RouteCompletion: PB Name: %S", &phoneBookName);   
   266 
   260 
   267 	        for( TInt i = 0; i < iMmPhone->PBList()->GetNumberOfObjects(); i++ )
   261 	        for( TInt i = 0; i < iMmPhone->PBList()->GetNumberOfObjects(); i++ )
   268 	            {
   262 	            {
   269 	            CMmPhoneBookStoreTsy* pbStore = iMmPhone->PBList()->
   263 	            CMmPhoneBookStoreTsy* pbStore = iMmPhone->PBList()->
   270 	                GetMmPBByIndex( i );
   264 	                GetMmPBByIndex( i );
   274 	                mmObject = static_cast<CBase*>( pbStore );
   268 	                mmObject = static_cast<CBase*>( pbStore );
   275 	                }
   269 	                }
   276 	            }
   270 	            }
   277 	        if ( NULL == mmObject )
   271 	        if ( NULL == mmObject )
   278 	            {
   272 	            {
   279 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_ROUTECOMPLETIONL_2, "TSY: CMmMessageRouterProxy::RouteCompletion: PB object not found!");
   273 TFLOGSTRING("TSY: CMmMessageRouterProxy::RouteCompletion: PB object not found!");
   280 				iMmPhone->SetPBInitActiveStatus( EFalse );
   274 				iMmPhone->SetPBInitActiveStatus( EFalse );
   281 	            }
   275 	            }
   282         	}
   276         	}
   283             break;
   277             break;
   284 		// ENStore functionality
   278 		// ENStore functionality
   688 #endif //USING_CTSY_DISPATCHER
   682 #endif //USING_CTSY_DISPATCHER
   689       		case ECtsyPhoneTerminateAllCallsComp:
   683       		case ECtsyPhoneTerminateAllCallsComp:
   690       			static_cast<CMmPhoneTsy*>( mmObject )->
   684       			static_cast<CMmPhoneTsy*>( mmObject )->
   691       				CompleteTerminateAllCallsReq( aResult );
   685       				CompleteTerminateAllCallsReq( aResult );
   692       			break;
   686       			break;
   693             case ECtsyPhoneTerminateActiveCallsComp:
   687       			
   694                 static_cast<CMmPhoneTsy*>( mmObject )->
       
   695                     CompleteTerminateActiveCallsReq( aResult );
       
   696                 break;
       
   697                 
       
   698             // Conference call functionality
   688             // Conference call functionality
   699             case EMobileConferenceCallCreateConference:                
   689             case EMobileConferenceCallCreateConference:                
   700                 static_cast<CMmConferenceCallTsy*>( mmObject )->
   690                 static_cast<CMmConferenceCallTsy*>( mmObject )->
   701                     CompleteCreateConference( aResult );
   691                     CompleteCreateConference( aResult );
   702                 break;                
   692                 break;                
   780                 {
   770                 {
   781                 static_cast<CMmPhoneBookStoreTsy*>( mmObject )->
   771                 static_cast<CMmPhoneBookStoreTsy*>( mmObject )->
   782                     CompletePBStoreInitializationL( 
   772                     CompletePBStoreInitializationL( 
   783                     aResult, aDataPackage );
   773                     aResult, aDataPackage );
   784                     TBool done = EFalse;
   774                     TBool done = EFalse;
   785                     
   775 
   786                     // NOTE: The statement above is redundant, as the loop below calls CompletePBStoreInitializationL
   776                     // NOTE: The statement above is redundant, as the loop below calls CompletePBStoreInitializationL
   787                     // on every phonebook store. However, we need to be certain that changing the order in which
   777                     // on every phonebook store. However, we need to be certain that changing the order in which
   788                     // phonebook stores are initialised won't introduce side effects. (One future improvement)
   778                     // phonebook stores are initialised won't introduce side effects. (One future improvement)                    
   789                     for( TInt i = 0; i < iMmPhone->PBList()->GetNumberOfObjects(); i++ )
   779                     for( TInt i = 0; i < iMmPhone->PBList()->GetNumberOfObjects(); i++ )
   790         	            {
   780         	            {
   791 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_ROUTECOMPLETIONL_3, "TSY: CMmMessageRouterProxy::RouteCompletion:EMmTsyPhoneBookStoreInitIPC for loop, check init statuses ");
   781 TFLOGSTRING("TSY: CMmMessageRouterProxy::RouteCompletion:EMmTsyPhoneBookStoreInitIPC for loop, check init statuses ");
   792         	            CMmPhoneBookStoreTsy* pbStore = iMmPhone->PBList()->
   782         	            CMmPhoneBookStoreTsy* pbStore = iMmPhone->PBList()->
   793         	                GetMmPBByIndex( i );
   783         	                GetMmPBByIndex( i );
   794                         done = pbStore->IsPBInitDone();
   784                         done = pbStore->IsPBInitDone();
   795 OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_ROUTECOMPLETIONL_4, "TSY: CMmMessageRouterProxy::RouteCompletion: active: %u, done: %u",(TUint)iMmPhone->IsPBInitActive(), (TUint)done);
   785 TFLOGSTRING3("TSY: CMmMessageRouterProxy::RouteCompletion: active: %i, done: %i",iMmPhone->IsPBInitActive(), done);
   796         	            if ( iMmPhone->IsPBInitActive() && !done ) 
   786         	            if ( iMmPhone->IsPBInitActive() && !done ) 
   797         	                {
   787         	                {
   798 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_ROUTECOMPLETIONL_5, "TSY: CMmMessageRouterProxy::RouteCompletion: complete also to: %S",*(pbStore->PhoneBookName()));
   788 TFLOGSTRING2("TSY: CMmMessageRouterProxy::RouteCompletion: complete also to: %S",pbStore->PhoneBookName());
   799         	                mmObject = static_cast<CBase*>( pbStore );
   789         	                mmObject = static_cast<CBase*>( pbStore );
   800         	                static_cast<CMmPhoneBookStoreTsy*>( mmObject )->
   790         	                static_cast<CMmPhoneBookStoreTsy*>( mmObject )->
   801                                 CompletePBStoreInitializationL( 
   791                                 CompletePBStoreInitializationL( 
   802                                     aResult, aDataPackage );
   792                                     aResult, aDataPackage );
   803         	                }
   793         	                }
  2610                 static_cast<CMmPhoneTsy*>( mmObject )->
  2600                 static_cast<CMmPhoneTsy*>( mmObject )->
  2611                     GetSecurityTsy()->CompleteNotifySecurityCodeInfoChange( 
  2601                     GetSecurityTsy()->CompleteNotifySecurityCodeInfoChange( 
  2612                     aDataPackage, aResult );
  2602                     aDataPackage, aResult );
  2613                 break;
  2603                 break;
  2614             case EMmTsyPhoneBookStoreFdnInfoIPC:
  2604             case EMmTsyPhoneBookStoreFdnInfoIPC:
  2615 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_ROUTECOMPLETIONL_6, "TSY: CMmMessageRouterProxy::RouteCompletion: route to phonetsy EMmTsyPhoneBookStoreFdnInfoIPC");
  2605 				TFLOGSTRING("TSY: CMmMessageRouterProxy::RouteCompletion: route to phonetsy EMmTsyPhoneBookStoreFdnInfoIPC");               
  2616                 static_cast<CMmPhoneTsy*>( mmObject )->
  2606                 static_cast<CMmPhoneTsy*>( mmObject )->
  2617                     SaveFdnInfoDetails( aResult, aDataPackage );
  2607                     SaveFdnInfoDetails( aResult, aDataPackage );
  2618                 break;
  2608                 break;
       
  2609 			case ECtsyPhoneGetPreferredNetworksComp:
       
  2610 				TFLOGSTRING("TSY: CMmMessageRouterProxy::RouteCompletion: route to MmNetTsy ECtsyPhoneGetPreferredNetworksComp"); 				
       
  2611 				static_cast<CMmPhoneTsy*>( mmObject )->GetNetTsy()->CompleteGetPreferredNetworksListPhase1(aResult, aDataPackage);
       
  2612 				break;
       
  2613 			case ECtsyPhoneStorePreferredNetworksListComp:
       
  2614 				TFLOGSTRING("TSY: CMmMessageRouterProxy::RouteCompletion: route to MmNetTsy ECtsyPhoneStorePreferredNetworksListComp"); 				
       
  2615 				static_cast<CMmPhoneTsy*>( mmObject )->GetNetTsy()->CompleteStorePreferredNetworksList(aResult);
       
  2616 				break;
  2619             default:
  2617             default:
  2620                 break;
  2618                 break;
  2621             }
  2619             }
  2622 
  2620 
  2623         }
  2621         }
  2653                 mmObject = REINTERPRET_CAST( CBase*, 
  2651                 mmObject = REINTERPRET_CAST( CBase*, 
  2654                       iMmPhone->LineList()->GetMmLineByMode( callMode ) );
  2652                       iMmPhone->LineList()->GetMmLineByMode( callMode ) );
  2655                 
  2653                 
  2656                 if ( NULL == mmObject )
  2654                 if ( NULL == mmObject )
  2657                     {
  2655                     {
  2658 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_ROUTECOMPLETIONL_7, "TSY: CMmMessageRouterProxy::RouteCompletion: Call object not found for mobile Call Info!");
  2656 TFLOGSTRING("TSY: CMmMessageRouterProxy::RouteCompletion: Call object not found for mobile Call Info!");
  2659                     }
  2657                     }
  2660                 else
  2658                 else
  2661                     {
  2659                     {
  2662                     // complete call added notification directly from here
  2660                     // complete call added notification directly from here
  2663                     static_cast<CMmLineTsy*>( mmObject )->
  2661                     static_cast<CMmLineTsy*>( mmObject )->
  2692                         iMmPhone->CallList()->
  2690                         iMmPhone->CallList()->
  2693                             GetMmCallByMode( callMode ) );
  2691                             GetMmCallByMode( callMode ) );
  2694 
  2692 
  2695                     if ( NULL == mmCall )
  2693                     if ( NULL == mmCall )
  2696                         {
  2694                         {
  2697 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_ROUTECOMPLETIONL_8, "TSY: CMmMessageRouterProxy::RouteCompletion: Call object not found for Dial!");
  2695 TFLOGSTRING("TSY: CMmMessageRouterProxy::RouteCompletion: Call object not found for Dial!");
  2698                         }
  2696                         }
  2699                     else
  2697                     else
  2700                         {
  2698                         {
  2701                         //find object that requested dial
  2699                         //find object that requested dial
  2702                         if ( ( mmCall->IsServiceLocallyRequested( 
  2700                         if ( ( mmCall->IsServiceLocallyRequested( 
  2721                                       && mmCall->CallMode() == callMode )
  2719                                       && mmCall->CallMode() == callMode )
  2722                                       || ( mmCall->ServiceRequested( 
  2720                                       || ( mmCall->ServiceRequested( 
  2723                                       CMmCallTsy::EMultimodeCallDialISV ) 
  2721                                       CMmCallTsy::EMultimodeCallDialISV ) 
  2724                                     && mmCall->CallMode() == callMode ) )
  2722                                     && mmCall->CallMode() == callMode ) )
  2725                                     {
  2723                                     {
  2726 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_ROUTECOMPLETIONL_9, "TSY: CMmMessageRouterProxy::RouteCompletion: Special case before CompleteDial");
  2724 TFLOGSTRING("TSY: CMmMessageRouterProxy::RouteCompletion: Special case before CompleteDial");                                    
  2727                                     mmCall->CompleteDial( aResult );
  2725                                     mmCall->CompleteDial( aResult );
  2728                                     break;
  2726                                     break;
  2729                                     }
  2727                                     }
  2730                                     
  2728                                     
  2731                                 if  ( mmCall->ServiceRequested( 
  2729                                 if  ( mmCall->ServiceRequested( 
  2732                                     CMmCallTsy::EMultimodeCallDialNoFdnCheck ) 
  2730                                     CMmCallTsy::EMultimodeCallDialNoFdnCheck ) 
  2733                                     && mmCall->CallMode() == callMode )
  2731                                     && mmCall->CallMode() == callMode )
  2734                                     {
  2732                                     {
  2735 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMMESSAGEROUTERPROXY_ROUTECOMPLETIONL_10, "TSY: CMmMessageRouterProxy::RouteCompletion: Special case before CompleteDialNoFdn");
  2733 TFLOGSTRING("TSY: CMmMessageRouterProxy::RouteCompletion: Special case before CompleteDialNoFdn");                                          
  2736                                     mmCall->CompleteDialNoFdn( aResult );
  2734                                     mmCall->CompleteDialNoFdn( aResult );
  2737                                     break;
  2735                                     break;
  2738                                     }
  2736                                     }
  2739                                 }
  2737                                 }
  2740                             }
  2738                             }