telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmlinetsy.cpp
branchRCL_3
changeset 65 630d2f34d719
parent 0 3553901f7fa8
child 66 07a122eea281
child 69 b982c3e940f3
equal deleted inserted replaced
61:17af172ffa5f 65:630d2f34d719
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    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 "cmmlinetsyTraces.h"
       
    23 #endif
       
    24 
    19 #include "cmmlinetsy.h"
    25 #include "cmmlinetsy.h"
    20 #include "cmmphonetsy.h"
    26 #include "cmmphonetsy.h"
    21 #include "cmmcalltsy.h"
    27 #include "cmmcalltsy.h"
    22 #include "cmmlinelist.h"
    28 #include "cmmlinelist.h"
    23 #include "cmmcalllist.h"
    29 #include "cmmcalllist.h"
    24 #include "cmmtsyreqhandlestore.h"
    30 #include "cmmtsyreqhandlestore.h"
    25 #include "MmTsy_numberOfSlots.h"
    31 #include "MmTsy_numberOfSlots.h"
    26 #include <ctsy/tflogger.h>
       
    27 #include <ctsy/pluginapi/cmmdatapackage.h>
    32 #include <ctsy/pluginapi/cmmdatapackage.h>
    28 #include <et_struct.h>
    33 #include <et_struct.h>
    29 
    34 
    30 
    35 
    31 // ======== MEMBER FUNCTIONS ========
    36 // ======== MEMBER FUNCTIONS ========
    34     {
    39     {
    35     }
    40     }
    36 
    41 
    37 void CMmLineTsy::ConstructL()
    42 void CMmLineTsy::ConstructL()
    38     {
    43     {
    39     TFLOGSTRING("TSY: CMmLineTsy::ConstructL");
    44     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_CONSTRUCTL_1, "TSY: CMmLineTsy::ConstructL");
    40     //Initialise miscellaneous internal attributes
    45     //Initialise miscellaneous internal attributes
    41     InitInternalAttributesL();
    46     InitInternalAttributesL();
    42 
    47 
    43     // Create and store a Call Object for incoming calls.
    48     // Create and store a Call Object for incoming calls.
    44     TInt ret = CreateCallObjectForIncomingCall();
    49     TInt ret = CreateCallObjectForIncomingCall();
    54         EMultimodeLineMaxNumOfRequests, iLineReqHandles );
    59         EMultimodeLineMaxNumOfRequests, iLineReqHandles );
    55     }
    60     }
    56 
    61 
    57 CMmLineTsy::~CMmLineTsy()
    62 CMmLineTsy::~CMmLineTsy()
    58     {
    63     {
    59     TFLOGSTRING2("TSY: CMmLineTsy::~CMmLineTsy. Line name: %S", &iLineName);
    64     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_DTOR_1, "TSY: CMmLineTsy::~CMmLineTsy. Line name: %S", iLineName);
    60 
    65 
    61     //delete req handle store
    66     //delete req handle store
    62     delete iTsyReqHandleStore;
    67     delete iTsyReqHandleStore;
    63 
    68 
    64     //delete incoming call object
    69     //delete incoming call object
    94 // ---------------------------------------------------------------------------
    99 // ---------------------------------------------------------------------------
    95 //
   100 //
    96 CTelObject* CMmLineTsy::OpenNewObjectByNameL(
   101 CTelObject* CMmLineTsy::OpenNewObjectByNameL(
    97     const TDesC& aName )
   102     const TDesC& aName )
    98     {
   103     {
    99     TFLOGSTRING2("TSY: CMmLineTsy::OpenNewObjectByNameL %S", &aName);
   104     OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_OPENNEWOBJECTBYNAMEL_1, "TSY: CMmLineTsy::OpenNewObjectByNameL %S", aName);
   100 
   105 
   101     TName mmCallName( aName );
   106     TName mmCallName( aName );
   102     CMmCallTsy* mmCall = iMmPhone->CallList()->GetMmCallByName( &mmCallName );
   107     CMmCallTsy* mmCall = iMmPhone->CallList()->GetMmCallByName( &mmCallName );
   103 
   108 
   104     //if not found, Leave...
   109     //if not found, Leave...
   163 // ---------------------------------------------------------------------------
   168 // ---------------------------------------------------------------------------
   164 //
   169 //
   165 CTelObject::TReqMode CMmLineTsy::ReqModeL(
   170 CTelObject::TReqMode CMmLineTsy::ReqModeL(
   166     const TInt aIpc )
   171     const TInt aIpc )
   167     {
   172     {
   168     TFLOGSTRING2("TSY: CMmLineTsy::ReqModeL IPC:%d",aIpc);
   173     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_REQMODEL_1, "TSY: CMmLineTsy::ReqModeL IPC:%d",aIpc);
   169     
   174     
   170     CTelObject::TReqMode ret( 0 );    // default return value
   175     CTelObject::TReqMode ret( 0 );    // default return value
   171     
   176     
   172     switch( aIpc )
   177     switch( aIpc )
   173         {
   178         {
   309 TInt CMmLineTsy::DoExtFuncL(
   314 TInt CMmLineTsy::DoExtFuncL(
   310     const TTsyReqHandle aTsyReqHandle,
   315     const TTsyReqHandle aTsyReqHandle,
   311     const TInt aIpc,
   316     const TInt aIpc,
   312     const TDataPackage& aPackage )
   317     const TDataPackage& aPackage )
   313     {
   318     {
   314     TFLOGSTRING3("TSY: CMmLineTsy::DoExtFuncL IPC:%d Handle:%d", aIpc, \
   319     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_DOEXTFUNCL_1, "TSY: CMmLineTsy::DoExtFuncL IPC:%d Handle:%d", aIpc, aTsyReqHandle);
   315         aTsyReqHandle);
       
   316 
   320 
   317     TInt ret ( KErrNone );
   321     TInt ret ( KErrNone );
   318 
   322 
   319     TAny* dataPtr = aPackage.Ptr1();
   323     TAny* dataPtr = aPackage.Ptr1();
   320 
   324 
   774 //
   778 //
   775 TInt CMmLineTsy::NotifyCallAdded(
   779 TInt CMmLineTsy::NotifyCallAdded(
   776     const TTsyReqHandle aTsyReqHandle,
   780     const TTsyReqHandle aTsyReqHandle,
   777     TName* aName )
   781     TName* aName )
   778     {
   782     {
   779     TFLOGSTRING2("TSY: CMmLineTsy::NotifyCallAdded requested by client, \
   783     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_NOTIFYCALLADDED_1, "TSY: CMmLineTsy::NotifyCallAdded requested by client, \lineMode:%d", iLineMode);
   780         lineMode:%d", iLineMode);
       
   781     // On return, contains the name of the new call.
   784     // On return, contains the name of the new call.
   782     iRetCallAdded = aName;    
   785     iRetCallAdded = aName;    
   783     iTsyReqHandleStore->SetTsyReqHandle( EMultimodeLineNotifyCallAdded,
   786     iTsyReqHandleStore->SetTsyReqHandle( EMultimodeLineNotifyCallAdded,
   784         aTsyReqHandle );
   787         aTsyReqHandle );
   785     return KErrNone;
   788     return KErrNone;
   794 // ---------------------------------------------------------------------------
   797 // ---------------------------------------------------------------------------
   795 //
   798 //
   796 TInt CMmLineTsy::NotifyCallAddedCancel(
   799 TInt CMmLineTsy::NotifyCallAddedCancel(
   797     const TTsyReqHandle aTsyReqHandle )
   800     const TTsyReqHandle aTsyReqHandle )
   798     {
   801     {
   799     TFLOGSTRING("TSY: CMmLineTsy::NotifyCallAddedCancel requested by client");
   802     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_NOTIFYCALLADDEDCANCEL_1, "TSY: CMmLineTsy::NotifyCallAddedCancel requested by client");
   800     iRetCallAdded = NULL;
   803     iRetCallAdded = NULL;
   801     iTsyReqHandleStore->ResetTsyReqHandle( EMultimodeLineNotifyCallAdded );
   804     iTsyReqHandleStore->ResetTsyReqHandle( EMultimodeLineNotifyCallAdded );
   802     ReqCompleted( aTsyReqHandle, KErrCancel );
   805     ReqCompleted( aTsyReqHandle, KErrCancel );
   803     return KErrNone;    
   806     return KErrNone;    
   804     }
   807     }
   811 // (other items were commented in a header).
   814 // (other items were commented in a header).
   812 // ---------------------------------------------------------------------------
   815 // ---------------------------------------------------------------------------
   813 //
   816 //
   814 void CMmLineTsy::CompleteNotifyCallAdded(const TDesC& aName )    
   817 void CMmLineTsy::CompleteNotifyCallAdded(const TDesC& aName )    
   815     {
   818     {
   816     TFLOGSTRING3("TSY: CMmLineTsy::CompleteNotifyCallAdded entered, \
   819     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_COMPLETENOTIFYCALLADDED_1, "TSY: CMmLineTsy::CompleteNotifyCallAdded entered, \CALL ADDED, Call name: %S, Call mode: %d", aName, iLineMode );
   817     CALL ADDED, Call name: %S, Call mode: %d", &aName, iLineMode );
       
   818 
   820 
   819     //reset req handle. Returns the deleted req handle
   821     //reset req handle. Returns the deleted req handle
   820     TTsyReqHandle reqHandle = iTsyReqHandleStore->ResetTsyReqHandle( 
   822     TTsyReqHandle reqHandle = iTsyReqHandleStore->ResetTsyReqHandle( 
   821                                 EMultimodeLineNotifyCallAdded );
   823                                 EMultimodeLineNotifyCallAdded );
   822 
   824 
   823     iNumCalls++;
   825     iNumCalls++;
   824 
   826 
   825     if ( EMultimodeLineReqHandleUnknown != reqHandle )
   827     if ( EMultimodeLineReqHandleUnknown != reqHandle )
   826         {
   828         {
   827         TFLOGSTRING("TSY: CMmLineTsy::CompleteNotifyCallAdded, Completed!");
   829         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_COMPLETENOTIFYCALLADDED_2, "TSY: CMmLineTsy::CompleteNotifyCallAdded, Completed!");
   828         *iRetCallAdded = aName;
   830         *iRetCallAdded = aName;
   829         ReqCompleted( reqHandle, KErrNone );
   831         ReqCompleted( reqHandle, KErrNone );
   830         }
   832         }
   831     }
   833     }
   832 
   834 
   897 //
   899 //
   898 TInt CMmLineTsy::GetCallInfo(
   900 TInt CMmLineTsy::GetCallInfo(
   899     const TTsyReqHandle aTsyReqHandle,
   901     const TTsyReqHandle aTsyReqHandle,
   900     TCallInfoIndex* aCallInfoIndex )
   902     TCallInfoIndex* aCallInfoIndex )
   901     {
   903     {
   902     TFLOGSTRING3("TSY: CMmLineTsy::GetCallInfo - Line name: %S, Index: %d",
   904     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_GETCALLINFO_1, "TSY: CMmLineTsy::GetCallInfo - Line name: %S, Index: %d",iLineName, aCallInfoIndex->iIndex );
   903         &iLineName, aCallInfoIndex->iIndex );
       
   904 
   905 
   905     TInt ret( KErrNotFound );
   906     TInt ret( KErrNotFound );
   906 
   907 
   907     // Check if the call object can be found from call list by index
   908     // Check if the call object can be found from call list by index
   908     CMmCallTsy* mmCall = REINTERPRET_CAST( CMmCallTsy*, 
   909     CMmCallTsy* mmCall = REINTERPRET_CAST( CMmCallTsy*, 
   914         {
   915         {
   915         aCallInfoIndex->iInfo.iCallName      = mmCall->CallName();
   916         aCallInfoIndex->iInfo.iCallName      = mmCall->CallName();
   916         aCallInfoIndex->iInfo.iStatus        = mmCall->Status();
   917         aCallInfoIndex->iInfo.iStatus        = mmCall->Status();
   917         aCallInfoIndex->iInfo.iCallCapsFlags = mmCall->CallCaps();
   918         aCallInfoIndex->iInfo.iCallCapsFlags = mmCall->CallCaps();
   918 
   919 
   919         TFLOGSTRING3("TSY: CMmLineTsy::GetCallInfo - Call name: %S, Status: %d",
   920         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_GETCALLINFO_2, "TSY: CMmLineTsy::GetCallInfo - Call name: %S, Status: %d",aCallInfoIndex->iInfo.iCallName, aCallInfoIndex->iInfo.iStatus );
   920             &aCallInfoIndex->iInfo.iCallName, aCallInfoIndex->iInfo.iStatus );
       
   921 
   921 
   922         ret = KErrNone;
   922         ret = KErrNone;
   923         }
   923         }
   924 
   924 
   925     ReqCompleted( aTsyReqHandle, ret );
   925     ReqCompleted( aTsyReqHandle, ret );
  1199 
  1199 
  1200     if ( mobileCallInfo->iStatus == RMobileCall::EStatusDialling ||
  1200     if ( mobileCallInfo->iStatus == RMobileCall::EStatusDialling ||
  1201          mobileCallInfo->iStatus == RMobileCall::EStatusConnecting ||
  1201          mobileCallInfo->iStatus == RMobileCall::EStatusConnecting ||
  1202          mobileCallInfo->iStatus == RMobileCall::EStatusConnected )
  1202          mobileCallInfo->iStatus == RMobileCall::EStatusConnected )
  1203         {
  1203         {
  1204         TFLOGSTRING2("TSY: CMmLineTsy::CompleteNotifyAddBypassingCall, \
  1204         OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_COMPLETENOTIFYADDBYPASSINGCALL_1, "TSY: CMmLineTsy::CompleteNotifyAddBypassingCall, \CALL INITIATED - NOT REQUESTED BY ETEL's CLIENT, Call ID: %d",callId );
  1205             CALL INITIATED - NOT REQUESTED BY ETEL's CLIENT, Call ID: %d",
       
  1206             callId );
       
  1207 
  1205 
  1208         //create new call object
  1206         //create new call object
  1209         CMmCallTsy* mmGhostCall = CreateGhostCallObject(
  1207         CMmCallTsy* mmGhostCall = CreateGhostCallObject(
  1210             callId, callMode, mobileCallInfo->iStatus );
  1208             callId, callMode, mobileCallInfo->iStatus );
  1211 
  1209 
  1229                 }
  1227                 }
  1230             }
  1228             }
  1231         }
  1229         }
  1232     else
  1230     else
  1233         {
  1231         {
  1234         TFLOGSTRING3("TSY: CMmLineTsy::CompleteNotifyAddBypassingCall, \
  1232         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_COMPLETENOTIFYADDBYPASSINGCALL_2, "TSY: CMmLineTsy::CompleteNotifyAddBypassingCall, \CALL NOT INITIATED - Call ID:%d, Call status:%d", callId, mobileCallInfo->iStatus);
  1235             CALL NOT INITIATED - Call ID:%d, Call status:%d", 
       
  1236             callId, mobileCallInfo->iStatus);
       
  1237         }
  1233         }
  1238     }
  1234     }
  1239 
  1235 
  1240 #ifdef TF_LOGGING_ENABLED
  1236 #ifdef TF_LOGGING_ENABLED
  1241 // ---------------------------------------------------------------------------
  1237 // ---------------------------------------------------------------------------
  1248 //
  1244 //
  1249 void CMmLineTsy::ReqCompleted(
  1245 void CMmLineTsy::ReqCompleted(
  1250     const TTsyReqHandle aTsyReqHandle,
  1246     const TTsyReqHandle aTsyReqHandle,
  1251     const TInt aError )
  1247     const TInt aError )
  1252     {
  1248     {
  1253     TFLOGSTRING3("TSY: CMmLineTsy::ReqCompleted Handle:%d Error:%d", 
  1249     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMLINETSY_REQCOMPLETED_1, "TSY: CMmLineTsy::ReqCompleted Handle:%d Error:%d", aTsyReqHandle, aError);
  1254         aTsyReqHandle, aError);
       
  1255 
  1250 
  1256     CTelObject::ReqCompleted(aTsyReqHandle,aError);        
  1251     CTelObject::ReqCompleted(aTsyReqHandle,aError);        
  1257     }
  1252     }
  1258 
  1253 
  1259 #endif
  1254 #endif