adaptationlayer/tsy/nokiatsy_dll/src/cmmconferencecallmesshandler.cpp
changeset 9 8486d82aef45
parent 5 8ccc39f9d787
equal deleted inserted replaced
8:6295dc2169f3 9:8486d82aef45
    68 //
    68 //
    69 CMmConferenceCallMessHandler::CMmConferenceCallMessHandler()
    69 CMmConferenceCallMessHandler::CMmConferenceCallMessHandler()
    70     {
    70     {
    71     // None
    71     // None
    72 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CMmConferenceCallMessHandler");
    72 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CMmConferenceCallMessHandler");
    73 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_CMMCONFERENCECALLMESSHANDLER, "CMmConferenceCallMessHandler::CMmConferenceCallMessHandler" );
    73 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_CMMCONFERENCECALLMESSHANDLER_TD, "CMmConferenceCallMessHandler::CMmConferenceCallMessHandler" );
    74     }
    74     }
    75 
    75 
    76 // -----------------------------------------------------------------------------
    76 // -----------------------------------------------------------------------------
    77 // CMmConferenceCallMessHandler::NewL
    77 // CMmConferenceCallMessHandler::NewL
    78 // Creates a new CMmConferenceCallMessHandler object instance.
    78 // Creates a new CMmConferenceCallMessHandler object instance.
    83     CMmPhoNetReceiver* aPhoNetReceiver, //pointer to the phonet receiver
    83     CMmPhoNetReceiver* aPhoNetReceiver, //pointer to the phonet receiver
    84     CMmMessageRouter* aMessageRouter// pointer to the message router
    84     CMmMessageRouter* aMessageRouter// pointer to the message router
    85     )
    85     )
    86     {
    86     {
    87 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::NewL");
    87 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::NewL");
    88 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_NEWL, "CMmConferenceCallMessHandler::NewL" );
    88 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_NEWL_TD, "CMmConferenceCallMessHandler::NewL" );
    89 
    89 
    90     CMmConferenceCallMessHandler* conferenceCallMessHandler =
    90     CMmConferenceCallMessHandler* conferenceCallMessHandler =
    91         new ( ELeave ) CMmConferenceCallMessHandler();
    91         new ( ELeave ) CMmConferenceCallMessHandler();
    92 
    92 
    93     CleanupStack::PushL( conferenceCallMessHandler );
    93     CleanupStack::PushL( conferenceCallMessHandler );
   119 // -----------------------------------------------------------------------------
   119 // -----------------------------------------------------------------------------
   120 //
   120 //
   121 void CMmConferenceCallMessHandler::ConstructL()
   121 void CMmConferenceCallMessHandler::ConstructL()
   122     {
   122     {
   123 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::ConstructL");
   123 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::ConstructL");
   124 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_CONSTRUCTL, "CMmConferenceCallMessHandler::ConstructL" );
   124 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_CONSTRUCTL_TD, "CMmConferenceCallMessHandler::ConstructL" );
   125 
   125 
   126     iIsCreateConference = EFalse;
   126     iIsCreateConference = EFalse;
   127     iLastOperation = 0;
   127     iLastOperation = 0;
   128     }
   128     }
   129 
   129 
   133 // -----------------------------------------------------------------------------
   133 // -----------------------------------------------------------------------------
   134 //
   134 //
   135 CMmConferenceCallMessHandler::~CMmConferenceCallMessHandler()
   135 CMmConferenceCallMessHandler::~CMmConferenceCallMessHandler()
   136     {
   136     {
   137 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::~CMmConferenceCallMessHandler");
   137 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::~CMmConferenceCallMessHandler");
   138 OstTrace0( TRACE_NORMAL, DUP1_CMMCONFERENCECALLMESSHANDLER_CMMCONFERENCECALLMESSHANDLER, "CMmConferenceCallMessHandler::~CMmConferenceCallMessHandler" );
   138 OstTrace0( TRACE_NORMAL,  DUP1_CMMCONFERENCECALLMESSHANDLER_CMMCONFERENCECALLMESSHANDLER_TD, "CMmConferenceCallMessHandler::~CMmConferenceCallMessHandler" );
   139     }
   139     }
   140 
   140 
   141 // -----------------------------------------------------------------------------
   141 // -----------------------------------------------------------------------------
   142 // CMmConferenceCallMessHandler::ExtFuncL
   142 // CMmConferenceCallMessHandler::ExtFuncL
   143 // Forwards requests coming from the Symbian OS layer to the
   143 // Forwards requests coming from the Symbian OS layer to the
   147 TInt CMmConferenceCallMessHandler::ExtFuncL(
   147 TInt CMmConferenceCallMessHandler::ExtFuncL(
   148     TInt aIpc,
   148     TInt aIpc,
   149     const CMmDataPackage* aDataPackage )
   149     const CMmDataPackage* aDataPackage )
   150     {
   150     {
   151 TFLOGSTRING2("TSY: CMmConferenceCallMessHandler::ExtFuncL. Ipc:%d", aIpc);
   151 TFLOGSTRING2("TSY: CMmConferenceCallMessHandler::ExtFuncL. Ipc:%d", aIpc);
   152 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_EXTFUNCL, "CMmConferenceCallMessHandler::ExtFuncL" );
   152 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_EXTFUNCL_TD, "CMmConferenceCallMessHandler::ExtFuncL" );
   153 
   153 
   154     TInt ret( KErrNone );
   154     TInt ret( KErrNone );
   155     TUint8 transId( KConferenceCallTransId );
   155     TUint8 transId( KConferenceCallTransId );
   156 
   156 
   157     switch( aIpc )
   157     switch( aIpc )
   232         case EMobileConferenceCallGetMobileCallInfo:
   232         case EMobileConferenceCallGetMobileCallInfo:
   233         case EMobileConferenceCallGetConferenceStatus:
   233         case EMobileConferenceCallGetConferenceStatus:
   234         default:
   234         default:
   235             {
   235             {
   236 TFLOGSTRING2("TSY: CMmConferenceCallMessHandler::ExtFuncL - Unknown IPC: %d", aIpc);
   236 TFLOGSTRING2("TSY: CMmConferenceCallMessHandler::ExtFuncL - Unknown IPC: %d", aIpc);
   237 OstTrace1( TRACE_NORMAL, DUP1_CMMCONFERENCECALLMESSHANDLER_EXTFUNCL, "CMmConferenceCallMessHandler::ExtFuncL - Unknown IPC=%d", aIpc );
   237 OstTrace1( TRACE_NORMAL,  DUP1_CMMCONFERENCECALLMESSHANDLER_EXTFUNCL_TD, "CMmConferenceCallMessHandler::ExtFuncL - Unknown IPC=%d", aIpc );
   238             ret = KErrNotSupported;
   238             ret = KErrNotSupported;
   239             break;
   239             break;
   240             }
   240             }
   241         }
   241         }
   242     return ret;
   242     return ret;
   250 //
   250 //
   251 TUint8 CMmConferenceCallMessHandler::MapETelCallIdToISACallId(
   251 TUint8 CMmConferenceCallMessHandler::MapETelCallIdToISACallId(
   252     const TInt aETelCallId )
   252     const TInt aETelCallId )
   253     {
   253     {
   254 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::MapETelCallIdToISACallId");
   254 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::MapETelCallIdToISACallId");
   255 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_MAPETELCALLIDTOISACALLID, "CMmConferenceCallMessHandler::MapETelCallIdToISACallId" );
   255 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_MAPETELCALLIDTOISACALLID_TD, "CMmConferenceCallMessHandler::MapETelCallIdToISACallId" );
   256 
   256 
   257     TUint8 callId( CALL_MODEM_ID_NONE );
   257     TUint8 callId( CALL_MODEM_ID_NONE );
   258 
   258 
   259     if ( CALL_MODEM_ID_1 > aETelCallId || CALL_MODEM_ID_7 < aETelCallId )
   259     if ( CALL_MODEM_ID_1 > aETelCallId || CALL_MODEM_ID_7 < aETelCallId )
   260         {
   260         {
   275 //
   275 //
   276 void CMmConferenceCallMessHandler::ReceiveMessageL(
   276 void CMmConferenceCallMessHandler::ReceiveMessageL(
   277     const TIsiReceiveC& aIsiMsg )
   277     const TIsiReceiveC& aIsiMsg )
   278     {
   278     {
   279 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::ReceiveMessageL.");
   279 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::ReceiveMessageL.");
   280 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_RECEIVEMESSAGEL, "CMmConferenceCallMessHandler::ReceiveMessageL" );
   280 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmConferenceCallMessHandler::ReceiveMessageL" );
   281 
   281 
   282     TInt resource( aIsiMsg.Get8bit( ISI_HEADER_OFFSET_RESOURCEID ) );
   282     TInt resource( aIsiMsg.Get8bit( ISI_HEADER_OFFSET_RESOURCEID ) );
   283     TInt messageId( aIsiMsg.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) );
   283     TInt messageId( aIsiMsg.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) );
   284 
   284 
   285     switch( resource )
   285     switch( resource )
   304                     break;
   304                     break;
   305                     }
   305                     }
   306                 default:
   306                 default:
   307                     {
   307                     {
   308 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::ReceiveMessageL. PN_CALL Switch messageID case default.");
   308 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::ReceiveMessageL. PN_CALL Switch messageID case default.");
   309 OstTrace0( TRACE_NORMAL, DUP1_CMMCONFERENCECALLMESSHANDLER_RECEIVEMESSAGEL, "CMmConferenceCallMessHandler::ReceiveMessageL. PN_CALL Switch messageID case default" );
   309 OstTrace0( TRACE_NORMAL,  DUP1_CMMCONFERENCECALLMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmConferenceCallMessHandler::ReceiveMessageL. PN_CALL Switch messageID case default" );
   310                     break;
   310                     break;
   311                     }
   311                     }
   312                 }
   312                 }
   313             break; // Case PN_CALL
   313             break; // Case PN_CALL
   314             }
   314             }
   315         default:
   315         default:
   316             {
   316             {
   317 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::ReceiveMessageL. Switch resource case default.");
   317 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::ReceiveMessageL. Switch resource case default.");
   318 OstTrace0( TRACE_NORMAL, DUP2_CMMCONFERENCECALLMESSHANDLER_RECEIVEMESSAGEL, "CMmConferenceCallMessHandler::ReceiveMessageL. Switch resource case default" );
   318 OstTrace0( TRACE_NORMAL,  DUP2_CMMCONFERENCECALLMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmConferenceCallMessHandler::ReceiveMessageL. Switch resource case default" );
   319             break;
   319             break;
   320             }
   320             }
   321         }
   321         }
   322     }
   322     }
   323 
   323 
   331     TUint8 aCallId,
   331     TUint8 aCallId,
   332     TUint8 aOperation,
   332     TUint8 aOperation,
   333     TBool aIsCreateConference )
   333     TBool aIsCreateConference )
   334     {
   334     {
   335 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CallControlReq");
   335 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CallControlReq");
   336 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_CALLCONTROLREQ, "CMmConferenceCallMessHandler::CallControlReq" );
   336 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_CALLCONTROLREQ_TD, "CMmConferenceCallMessHandler::CallControlReq" );
   337 
   337 
   338     // Data for ISI message
   338     // Data for ISI message
   339     TBuf8<2 + SIZE_CALL_MODEM_SB_OPERATION> messageBuf;
   339     TBuf8<2 + SIZE_CALL_MODEM_SB_OPERATION> messageBuf;
   340 
   340 
   341     messageBuf.Append( aCallId );
   341     messageBuf.Append( aCallId );
   373 //
   373 //
   374 void CMmConferenceCallMessHandler::CallControlResp(
   374 void CMmConferenceCallMessHandler::CallControlResp(
   375     const TIsiReceiveC& aIsiMsg )
   375     const TIsiReceiveC& aIsiMsg )
   376     {
   376     {
   377 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CallControlResp");
   377 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CallControlResp");
   378 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_CALLCONTROLRESP, "CMmConferenceCallMessHandler::CallControlResp" );
   378 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_CALLCONTROLRESP_TD, "CMmConferenceCallMessHandler::CallControlResp" );
   379 
   379 
   380     TUint sbStartOffSet( 0 );
   380     TUint sbStartOffSet( 0 );
   381 
   381 
   382     // Try to find CALL_MODEM_SB_CAUSE subblock. If found something has gone wrong.
   382     // Try to find CALL_MODEM_SB_CAUSE subblock. If found something has gone wrong.
   383     if ( KErrNone == aIsiMsg.FindSubBlockOffsetById(
   383     if ( KErrNone == aIsiMsg.FindSubBlockOffsetById(
   446 //
   446 //
   447 void CMmConferenceCallMessHandler::CallControlInd(
   447 void CMmConferenceCallMessHandler::CallControlInd(
   448     const TIsiReceiveC& aIsiMsg )
   448     const TIsiReceiveC& aIsiMsg )
   449     {
   449     {
   450 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CallControlInd");
   450 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CallControlInd");
   451 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_CALLCONTROLIND, "CMmConferenceCallMessHandler::CallControlInd" );
   451 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_CALLCONTROLIND_TD, "CMmConferenceCallMessHandler::CallControlInd" );
   452 
   452 
   453     TUint sbStartOffSet( 0 );
   453     TUint sbStartOffSet( 0 );
   454 
   454 
   455     // Try to find CALL_MODEM_SB_CAUSE subblock. If found something has gone wrong
   455     // Try to find CALL_MODEM_SB_CAUSE subblock. If found something has gone wrong
   456     if( KErrNone == aIsiMsg.FindSubBlockOffsetById(
   456     if( KErrNone == aIsiMsg.FindSubBlockOffsetById(
   527             // Get call operation
   527             // Get call operation
   528             callOperation = aIsiMsg.Get8bit(
   528             callOperation = aIsiMsg.Get8bit(
   529                 sbStartOffSet + CALL_MODEM_SB_OPERATION_OFFSET_OPERATION );
   529                 sbStartOffSet + CALL_MODEM_SB_OPERATION_OFFSET_OPERATION );
   530 
   530 
   531 TFLOGSTRING2("TSY: CMmConferenceCallMessHandler::CallControlInd - Call operation: %d", callOperation);
   531 TFLOGSTRING2("TSY: CMmConferenceCallMessHandler::CallControlInd - Call operation: %d", callOperation);
   532 OstTraceExt1( TRACE_NORMAL, DUP1_CMMCONFERENCECALLMESSHANDLER_CALLCONTROLIND, "CMmConferenceCallMessHandler::CallControlInd;callOperation=%hhu", callOperation );
   532 OstTraceExt1( TRACE_NORMAL,  DUP1_CMMCONFERENCECALLMESSHANDLER_CALLCONTROLIND_TD, "CMmConferenceCallMessHandler::CallControlInd;callOperation=%hhu", callOperation );
   533             // Purpose of this case is to prepare handling of externally
   533             // Purpose of this case is to prepare handling of externally
   534             // controlled conference call
   534             // controlled conference call
   535             switch ( callOperation )
   535             switch ( callOperation )
   536                 {
   536                 {
   537                 case CALL_MODEM_OP_CONFERENCE_BUILD:
   537                 case CALL_MODEM_OP_CONFERENCE_BUILD:
   598     TUint8 aTransactionId,
   598     TUint8 aTransactionId,
   599     TUint8 aCallId,
   599     TUint8 aCallId,
   600     TUint8 aCause )
   600     TUint8 aCause )
   601     {
   601     {
   602 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CallReleaseReq");
   602 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CallReleaseReq");
   603 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_CALLRELEASEREQ, "CMmConferenceCallMessHandler::CallReleaseReq" );
   603 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_CALLRELEASEREQ_TD, "CMmConferenceCallMessHandler::CallReleaseReq" );
   604 
   604 
   605     // Create isi message
   605     // Create isi message
   606     TIsiSend callreleaseReq( iPhoNetSender->SendBufferDes() );
   606     TIsiSend callreleaseReq( iPhoNetSender->SendBufferDes() );
   607     callreleaseReq.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_MODEM_CALL );
   607     callreleaseReq.Set8bit( ISI_HEADER_OFFSET_RESOURCEID, PN_MODEM_CALL );
   608 
   608 
   680 //
   680 //
   681 void CMmConferenceCallMessHandler::CallReleaseResp(
   681 void CMmConferenceCallMessHandler::CallReleaseResp(
   682     const TIsiReceiveC& aIsiMsg )
   682     const TIsiReceiveC& aIsiMsg )
   683     {
   683     {
   684 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CallReleaseResp");
   684 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::CallReleaseResp");
   685 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_CALLRELEASERESP, "CMmConferenceCallMessHandler::CallReleaseResp" );
   685 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_CALLRELEASERESP_TD, "CMmConferenceCallMessHandler::CallReleaseResp" );
   686 
   686 
   687     TUint sbStartOffSet( 0 );
   687     TUint sbStartOffSet( 0 );
   688 
   688 
   689     // Try to find CALL_MODEM_SB_CAUSE subblock. If found something has gone wrong
   689     // Try to find CALL_MODEM_SB_CAUSE subblock. If found something has gone wrong
   690     if ( KErrNone == aIsiMsg.FindSubBlockOffsetById(
   690     if ( KErrNone == aIsiMsg.FindSubBlockOffsetById(
   730 void CMmConferenceCallMessHandler::HandleError(
   730 void CMmConferenceCallMessHandler::HandleError(
   731     const TIsiReceiveC& /*aIsiMsg*/,
   731     const TIsiReceiveC& /*aIsiMsg*/,
   732     TInt /*aError*/ )
   732     TInt /*aError*/ )
   733     {
   733     {
   734 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::HandleError");
   734 TFLOGSTRING("TSY: CMmConferenceCallMessHandler::HandleError");
   735 OstTrace0( TRACE_NORMAL, CMMCONFERENCECALLMESSHANDLER_HANDLEERROR, "CMmConferenceCallMessHandler::HandleError" );
   735 OstTrace0( TRACE_NORMAL,  CMMCONFERENCECALLMESSHANDLER_HANDLEERROR_TD, "CMmConferenceCallMessHandler::HandleError" );
   736 
   736 
   737     // None
   737     // None
   738     }
   738     }
   739 
   739 
   740 // ========================== OTHER EXPORTED FUNCTIONS =========================
   740 // ========================== OTHER EXPORTED FUNCTIONS =========================