cellular/telephonysettings/src/PsetCallDiverting.cpp
branchRCL_3
changeset 19 7d48bed6ce0c
parent 3 a4a774cb6ea7
child 20 987c9837762f
equal deleted inserted replaced
18:594d59766373 19:7d48bed6ce0c
    20 //  Include Files
    20 //  Include Files
    21 #include <etelmm.h>           
    21 #include <etelmm.h>           
    22 #include <e32math.h>
    22 #include <e32math.h>
    23 #include <e32svr.h>
    23 #include <e32svr.h>
    24 #include <badesca.h>
    24 #include <badesca.h>
    25 
       
    26 #include <vmnumber.h>
       
    27 #include <centralrepository.h>
    25 #include <centralrepository.h>
    28 #include <settingsinternalcrkeys.h>
    26 #include <settingsinternalcrkeys.h> 
    29 
    27 
    30 #include "PsetCallDiverting.h"
    28 #include "psetcalldiverting.h" 
    31 #include "PsetContainer.h"
    29 #include "psetcontainer.h" 
    32 #include "MPsetDivertObs.h"
    30 #include "mpsetdivertobs.h" 
    33 #include "PsetTelephony.h"
    31 #include "psettelephony.h" 
    34 #include "PSetPanic.h"
    32 #include "psetpanic.h" 
    35 #include "PhoneSettingsLogger.h"
    33 #include "phonesettingslogger.h" 
    36 
    34 
    37 #include "PSetCallDivertingCreator.h"
    35 #include "psetcalldivertingcreator.h" 
    38 #include "MCallDiverting.h"
    36 #include "mcalldiverting.h" 
    39 
    37 
    40 //  MEMBER FUNCTIONS
    38 //  MEMBER FUNCTIONS
    41 // ---------------------------------------------------------------------------
    39 // ---------------------------------------------------------------------------
    42 // First phase constructor
    40 // First phase constructor
    43 // ---------------------------------------------------------------------------       
    41 // ---------------------------------------------------------------------------       
   259 // ---------------------------------------------------------------------------
   257 // ---------------------------------------------------------------------------
   260 //
   258 //
   261 EXPORT_C void CPsetCallDiverting::SetRequestObserver( MPsetRequestObserver* aObs )
   259 EXPORT_C void CPsetCallDiverting::SetRequestObserver( MPsetRequestObserver* aObs )
   262     {
   260     {
   263     iReqObserver = aObs;
   261     iReqObserver = aObs;
       
   262     iDivert->SetRequestObserver(aObs);
   264     }
   263     }
   265 
   264 
   266 // ---------------------------------------------------------------------------
   265 // ---------------------------------------------------------------------------
   267 // Queries for voice mail box number
   266 // Queries for voice mail box number
   268 // ---------------------------------------------------------------------------
   267 // ---------------------------------------------------------------------------
   269 //
   268 //
   270 EXPORT_C void CPsetCallDiverting::VoiceMailQueryL( TDes& aTelNumber )
   269 EXPORT_C void CPsetCallDiverting::VoiceMailQueryL( TDes& /*aTelNumber*/ )
   271     {
   270     {
   272     __PHSLOGSTRING("[PHS]--> CPsetCallDiverting::VoiceMailQueryL" );
   271     __PHSLOGSTRING("[PHS]--> CPsetCallDiverting::VoiceMailQueryL" );
   273     RVmbxNumber vmbxConnection;
       
   274     TBool vmbxNrChanged = ETrue;
       
   275     TInt retValue = iDivert->OpenVmbxLC( aTelNumber, vmbxConnection );
       
   276     __PHSLOGSTRING1("[PHS]    CPsetCallDiverting::VoiceMailQueryL: aTelNumber = %S", &aTelNumber );
       
   277     __PHSLOGSTRING1("[PHS]    CPsetCallDiverting::VoiceMailQueryL: retValue = %d", retValue );
       
   278 
       
   279     if ( retValue == KErrNotFound )
       
   280         {
       
   281         vmbxNrChanged = vmbxConnection.QueryNumberL( EVmbxNotDefinedQuery, aTelNumber );
       
   282         }
       
   283     else if ( retValue != KErrNone )
       
   284         {
       
   285         //Problem with vmbx application, better leave.
       
   286         User::Leave( retValue );
       
   287         }
       
   288     if ( !vmbxNrChanged )
       
   289         {
       
   290         User::Leave( KErrCancel );
       
   291         }
       
   292     CleanupStack::PopAndDestroy(); // vmbxConnection
       
   293 
   272 
   294     __PHSLOGSTRING("[PHS] <--CPsetCallDiverting::VoiceMailQueryL" );
   273     __PHSLOGSTRING("[PHS] <--CPsetCallDiverting::VoiceMailQueryL" );
   295     }
   274     }
   296 
   275 
   297 // ---------------------------------------------------------------------------
   276 // ---------------------------------------------------------------------------
   298 // Queries for voice mail box number
   277 // Queries for voice mail box number
   299 // ---------------------------------------------------------------------------
   278 // ---------------------------------------------------------------------------
   300 //
   279 //
   301 EXPORT_C void CPsetCallDiverting::VideoMailQueryL( TDes& aTelNumber )
   280 EXPORT_C void CPsetCallDiverting::VideoMailQueryL( TDes& /*aTelNumber*/ )
   302     {
   281     {
   303     __PHSLOGSTRING("[PHS]--> CPsetCallDiverting::VideoMailQueryL" );
   282     __PHSLOGSTRING("[PHS]--> CPsetCallDiverting::VideoMailQueryL" );
   304     RVmbxNumber vmbxConnection;
       
   305     TBool vmbxNrChanged = ETrue;
       
   306     TInt retValue = OpenVideoMailboxLC( aTelNumber, vmbxConnection );
       
   307     __PHSLOGSTRING1("[PHS]    CPsetCallDiverting::VideoMailQueryL: aTelNumber = %S", &aTelNumber );
       
   308     __PHSLOGSTRING1("[PHS]    CPsetCallDiverting::VideoMailQueryL: retValue = %d", retValue );
       
   309 
       
   310     if ( retValue == KErrNotFound )
       
   311         {
       
   312         vmbxNrChanged = vmbxConnection.QueryVideoMbxNumberL( EVmbxNotDefinedQuery, aTelNumber );
       
   313         }
       
   314     else if ( retValue != KErrNone )
       
   315         {
       
   316         //Problem with vmbx application, better leave.
       
   317         User::Leave( retValue );
       
   318         }
       
   319     if ( !vmbxNrChanged )
       
   320         {
       
   321         User::Leave( KErrCancel );
       
   322         }
       
   323     CleanupStack::PopAndDestroy(); // vmbxConnection
       
   324 
   283 
   325     __PHSLOGSTRING("[PHS] <--CPsetCallDiverting::VideoMailQueryL" );
   284     __PHSLOGSTRING("[PHS] <--CPsetCallDiverting::VideoMailQueryL" );
   326     }    
   285     }    
   327     
   286     
   328 // ---------------------------------------------------------------------------
   287 // ---------------------------------------------------------------------------
   329 // Opens Vmbx. Leaves vmbx to the stack. 
   288 // Opens Vmbx. Leaves vmbx to the stack. 
   330 // ---------------------------------------------------------------------------
   289 // ---------------------------------------------------------------------------
   331 //
   290 //
   332 TInt CPsetCallDiverting::OpenVideoMailboxLC( TDes& aTelNumber, RVmbxNumber& aVmbx )
   291 TInt CPsetCallDiverting::OpenVideoMailboxLC( TDes& /*aTelNumber*/, RVmbxNumber& /*aVmbx*/ )
   333     {
   292     {
   334     __PHSLOGSTRING("[PHS]--> CPsetCallDiverting::OpenVideoMailboxLC" );
   293     return 0;
   335     User::LeaveIfError( aVmbx.Open( iPhone ) );
       
   336     CleanupClosePushL( aVmbx );         
       
   337 	__PHSLOGSTRING("[PHS]<-- CPsetCallDiverting::OpenVideoMailboxLC" );
       
   338     return aVmbx.GetVideoMbxNumber( aTelNumber );
       
   339     }
   294     }
   340     
   295     
   341 // End of File
   296 // End of File