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