satengine/satserver/Engine/src/csatmultimodeapi.cpp
author hgs
Wed, 21 Jul 2010 18:26:52 +0300
changeset 33 8d5d7fcf9b59
child 48 78df25012fda
permissions -rw-r--r--
201027
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  Encapsule the access to etelmm API in sat
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#include    <mmtsy_names.h>
hgs
parents:
diff changeset
    20
#include    "csatmultimodeapi.h"
hgs
parents:
diff changeset
    21
#include    "csatsactivewrapper.h"
hgs
parents:
diff changeset
    22
#include    "SatLog.h"
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#ifdef SAT_USE_DUMMY_TSY
hgs
parents:
diff changeset
    25
    _LIT( KSatSDummyTsyModuleName, "DSAT" );
hgs
parents:
diff changeset
    26
    _LIT( KSatSDummyTsyPhoneName, "DMobile" );
hgs
parents:
diff changeset
    27
#endif
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
const TInt KLoopMaxTryouts = 5;
hgs
parents:
diff changeset
    30
const TInt KLoopTimeout = 3000000;
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
// ================= MEMBER FUNCTIONS ==========================================
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    35
// Class constructor.
hgs
parents:
diff changeset
    36
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    37
//
hgs
parents:
diff changeset
    38
CSatMultiModeApi::CSatMultiModeApi()
hgs
parents:
diff changeset
    39
    {
hgs
parents:
diff changeset
    40
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::CSatMultiModeApi calling-exiting" )
hgs
parents:
diff changeset
    41
    }
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    44
// Destructor
hgs
parents:
diff changeset
    45
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    46
//
hgs
parents:
diff changeset
    47
CSatMultiModeApi::~CSatMultiModeApi()
hgs
parents:
diff changeset
    48
    {
hgs
parents:
diff changeset
    49
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::~CSatMultiModeApi calling" )
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
    if ( iCallOpened )
hgs
parents:
diff changeset
    52
        {
hgs
parents:
diff changeset
    53
        iCall.Close();
hgs
parents:
diff changeset
    54
        }
hgs
parents:
diff changeset
    55
    
hgs
parents:
diff changeset
    56
    if ( iLineOpened )
hgs
parents:
diff changeset
    57
        {
hgs
parents:
diff changeset
    58
        iLine.Close();
hgs
parents:
diff changeset
    59
        }
hgs
parents:
diff changeset
    60
    
hgs
parents:
diff changeset
    61
    if ( iUssdOpened )
hgs
parents:
diff changeset
    62
        {
hgs
parents:
diff changeset
    63
        iUssd.Close();
hgs
parents:
diff changeset
    64
        }
hgs
parents:
diff changeset
    65
        
hgs
parents:
diff changeset
    66
    iCustomPhone.Close();
hgs
parents:
diff changeset
    67
    
hgs
parents:
diff changeset
    68
    iPhone.Close();
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
#ifdef SAT_USE_DUMMY_TSY
hgs
parents:
diff changeset
    71
    iDummyPhone.Close();
hgs
parents:
diff changeset
    72
#endif
hgs
parents:
diff changeset
    73
    iTelServer.Close();
hgs
parents:
diff changeset
    74
            
hgs
parents:
diff changeset
    75
    delete iWrapper;
hgs
parents:
diff changeset
    76
    iWrapper = NULL;
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::~CSatMultiModeApi calling" )
hgs
parents:
diff changeset
    79
    }
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    82
// CSatMultiModeApi::NewL
hgs
parents:
diff changeset
    83
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    84
//
hgs
parents:
diff changeset
    85
CSatMultiModeApi* CSatMultiModeApi::NewL()
hgs
parents:
diff changeset
    86
    {
hgs
parents:
diff changeset
    87
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::NewL calling" )
hgs
parents:
diff changeset
    88
hgs
parents:
diff changeset
    89
    CSatMultiModeApi* self = new( ELeave )CSatMultiModeApi();
hgs
parents:
diff changeset
    90
    CleanupStack::PushL( self );
hgs
parents:
diff changeset
    91
    self->ConstructL();
hgs
parents:
diff changeset
    92
    CleanupStack::Pop( self );
hgs
parents:
diff changeset
    93
    
hgs
parents:
diff changeset
    94
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::NewL calling" )
hgs
parents:
diff changeset
    95
    return self;
hgs
parents:
diff changeset
    96
    }
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    99
// CSatMultiModeApi::Phone
hgs
parents:
diff changeset
   100
// (other items were commented in a header).
hgs
parents:
diff changeset
   101
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   102
//
hgs
parents:
diff changeset
   103
RMobilePhone* CSatMultiModeApi::Phone()
hgs
parents:
diff changeset
   104
    {
hgs
parents:
diff changeset
   105
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::Phone calling-exiting" )
hgs
parents:
diff changeset
   106
    return &iPhone;
hgs
parents:
diff changeset
   107
    }
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   110
// CSatMultiModeApi::Phone
hgs
parents:
diff changeset
   111
// (other items were commented in a header).
hgs
parents:
diff changeset
   112
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   113
//
hgs
parents:
diff changeset
   114
RMobilePhone* CSatMultiModeApi::DummyPhone()
hgs
parents:
diff changeset
   115
    {
hgs
parents:
diff changeset
   116
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::Phone calling-exiting" )
hgs
parents:
diff changeset
   117
#ifdef SAT_USE_DUMMY_TSY
hgs
parents:
diff changeset
   118
    return &iDummyPhone;
hgs
parents:
diff changeset
   119
#else
hgs
parents:
diff changeset
   120
    return NULL;
hgs
parents:
diff changeset
   121
#endif
hgs
parents:
diff changeset
   122
    }
hgs
parents:
diff changeset
   123
hgs
parents:
diff changeset
   124
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   125
// CSatMultiModeApi::CustomApi
hgs
parents:
diff changeset
   126
// (other items were commented in a header).
hgs
parents:
diff changeset
   127
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   128
//
hgs
parents:
diff changeset
   129
RMmCustomAPI* CSatMultiModeApi::CustomApi()
hgs
parents:
diff changeset
   130
    {
hgs
parents:
diff changeset
   131
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::CustomApi calling-exiting" )
hgs
parents:
diff changeset
   132
    return &iCustomPhone;
hgs
parents:
diff changeset
   133
    }
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   136
// CSatMultiModeApi::LowerErrorGranularity
hgs
parents:
diff changeset
   137
// (other items were commented in a header).
hgs
parents:
diff changeset
   138
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   139
//
hgs
parents:
diff changeset
   140
void CSatMultiModeApi::LowerErrorGranularity()
hgs
parents:
diff changeset
   141
    {
hgs
parents:
diff changeset
   142
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LowerErrorGranularity \
hgs
parents:
diff changeset
   143
        calling-exiting" )
hgs
parents:
diff changeset
   144
    iTelServer.SetExtendedErrorGranularity( RTelServer::EErrorBasic );
hgs
parents:
diff changeset
   145
    }
hgs
parents:
diff changeset
   146
hgs
parents:
diff changeset
   147
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   148
// CSatMultiModeApi::RaiseErrorGranularity
hgs
parents:
diff changeset
   149
// (other items were commented in a header).
hgs
parents:
diff changeset
   150
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   151
//
hgs
parents:
diff changeset
   152
void CSatMultiModeApi::RaiseErrorGranularity()
hgs
parents:
diff changeset
   153
    {
hgs
parents:
diff changeset
   154
    LOG( NORMAL, "SATENGINE: CSatMultiModeApi::RaiseErrorGranularity \
hgs
parents:
diff changeset
   155
        calling-exiting" )
hgs
parents:
diff changeset
   156
    iTelServer.SetExtendedErrorGranularity( RTelServer::EErrorExtended );
hgs
parents:
diff changeset
   157
    }
hgs
parents:
diff changeset
   158
hgs
parents:
diff changeset
   159
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   160
// CSatMultiModeApi::GetNetworkRegistrationStatus
hgs
parents:
diff changeset
   161
// (other items were commented in a header).
hgs
parents:
diff changeset
   162
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   163
//
hgs
parents:
diff changeset
   164
void CSatMultiModeApi::GetNetworkRegistrationStatus( 
hgs
parents:
diff changeset
   165
        TRequestStatus& aReqStatus, 
hgs
parents:
diff changeset
   166
        RMobilePhone::TMobilePhoneRegistrationStatus& aStatus)
hgs
parents:
diff changeset
   167
    {
hgs
parents:
diff changeset
   168
    LOG( SIMPLE, 
hgs
parents:
diff changeset
   169
    "SATENGINE: CSatMultiModeApi::GetNetworkRegistrationStatus calling" )
hgs
parents:
diff changeset
   170
hgs
parents:
diff changeset
   171
    iPhone.GetNetworkRegistrationStatus( aReqStatus, aStatus );
hgs
parents:
diff changeset
   172
hgs
parents:
diff changeset
   173
    LOG( SIMPLE,
hgs
parents:
diff changeset
   174
     "SATENGINE: CSatMultiModeApi::GetNetworkRegistrationStatus exiting" )
hgs
parents:
diff changeset
   175
    }
hgs
parents:
diff changeset
   176
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   177
// CSatMultiModeApi::NotifyNetworkRegistrationStatusChange
hgs
parents:
diff changeset
   178
// (other items were commented in a header).
hgs
parents:
diff changeset
   179
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   180
//
hgs
parents:
diff changeset
   181
void CSatMultiModeApi::NotifyNetworkRegistrationStatusChange(
hgs
parents:
diff changeset
   182
        TRequestStatus& aReqStatus, 
hgs
parents:
diff changeset
   183
        RMobilePhone::TMobilePhoneRegistrationStatus& aStatus)
hgs
parents:
diff changeset
   184
    {    
hgs
parents:
diff changeset
   185
    LOG( SIMPLE, "SATENGINE: \
hgs
parents:
diff changeset
   186
    CSatMultiModeApi::NotifyNetworkRegistrationStatusChange calling" )
hgs
parents:
diff changeset
   187
    
hgs
parents:
diff changeset
   188
    iPhone.NotifyNetworkRegistrationStatusChange( aReqStatus, aStatus );
hgs
parents:
diff changeset
   189
    
hgs
parents:
diff changeset
   190
    LOG( SIMPLE, "SATENGINE: \
hgs
parents:
diff changeset
   191
    CSatMultiModeApi::NotifyNetworkRegistrationStatusChange exiting" )
hgs
parents:
diff changeset
   192
    }
hgs
parents:
diff changeset
   193
hgs
parents:
diff changeset
   194
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   195
// CSatMultiModeApi::GetSubscriberId
hgs
parents:
diff changeset
   196
// (other items were commented in a header).
hgs
parents:
diff changeset
   197
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   198
//
hgs
parents:
diff changeset
   199
void CSatMultiModeApi::GetSubscriberId(TRequestStatus& aReqStatus, 
hgs
parents:
diff changeset
   200
        RMobilePhone::TMobilePhoneSubscriberId& aId)
hgs
parents:
diff changeset
   201
    {
hgs
parents:
diff changeset
   202
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::GetSubscriberId calling" )
hgs
parents:
diff changeset
   203
    iPhone.GetSubscriberId( aReqStatus, aId );
hgs
parents:
diff changeset
   204
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::GetSubscriberId exiting" )
hgs
parents:
diff changeset
   205
    }
hgs
parents:
diff changeset
   206
hgs
parents:
diff changeset
   207
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   208
// CSatMultiModeApi::SendDTMFTones
hgs
parents:
diff changeset
   209
// (other items were commented in a header).
hgs
parents:
diff changeset
   210
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   211
//
hgs
parents:
diff changeset
   212
void CSatMultiModeApi::SendDTMFTones( TRequestStatus& aReqStatus, 
hgs
parents:
diff changeset
   213
        const TDesC& aTones)
hgs
parents:
diff changeset
   214
    {
hgs
parents:
diff changeset
   215
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::SendDTMFTones calling" )
hgs
parents:
diff changeset
   216
    iPhone.SendDTMFTones( aReqStatus, aTones );
hgs
parents:
diff changeset
   217
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::SendDTMFTones exiting" )
hgs
parents:
diff changeset
   218
    }
hgs
parents:
diff changeset
   219
hgs
parents:
diff changeset
   220
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   221
// CSatMultiModeApi::ContinueDTMFStringSending
hgs
parents:
diff changeset
   222
// (other items were commented in a header).
hgs
parents:
diff changeset
   223
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   224
//
hgs
parents:
diff changeset
   225
TInt CSatMultiModeApi::ContinueDTMFStringSending( TBool aContinue )
hgs
parents:
diff changeset
   226
    {
hgs
parents:
diff changeset
   227
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::ContinueDTMFStringSending" )
hgs
parents:
diff changeset
   228
    return iPhone.ContinueDTMFStringSending( aContinue );
hgs
parents:
diff changeset
   229
    }
hgs
parents:
diff changeset
   230
hgs
parents:
diff changeset
   231
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   232
// CSatMultiModeApi::DialNoFdnCheck
hgs
parents:
diff changeset
   233
// (other items were commented in a header).
hgs
parents:
diff changeset
   234
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   235
//
hgs
parents:
diff changeset
   236
void CSatMultiModeApi::DialNoFdnCheck( TRequestStatus& aStatus,
hgs
parents:
diff changeset
   237
        const TDesC8& aCallParams, const TDesC& aTelNumber)
hgs
parents:
diff changeset
   238
    {
hgs
parents:
diff changeset
   239
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialNoFdnCheck calling" )
hgs
parents:
diff changeset
   240
    TInt err = LoadMobileCall();
hgs
parents:
diff changeset
   241
    LOG2( SIMPLE, "SATENGINE: CSatMultiModeApi::DialNoFdnCheck err %d", err )
hgs
parents:
diff changeset
   242
    
hgs
parents:
diff changeset
   243
    iCall.DialNoFdnCheck( aStatus, aCallParams, aTelNumber );
hgs
parents:
diff changeset
   244
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialNoFdnCheck exiting" )
hgs
parents:
diff changeset
   245
    }
hgs
parents:
diff changeset
   246
                        
hgs
parents:
diff changeset
   247
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   248
// CSatMultiModeApi::SendNetworkServiceRequestNoFdnCheck
hgs
parents:
diff changeset
   249
// (other items were commented in a header).
hgs
parents:
diff changeset
   250
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   251
//
hgs
parents:
diff changeset
   252
void CSatMultiModeApi::SendNetworkServiceRequestNoFdnCheck( 
hgs
parents:
diff changeset
   253
        TRequestStatus& aReqStatus, const TDesC& aServiceString)
hgs
parents:
diff changeset
   254
                       
hgs
parents:
diff changeset
   255
    {
hgs
parents:
diff changeset
   256
    LOG( SIMPLE, "SATENGINE: \
hgs
parents:
diff changeset
   257
            CSatMultiModeApi::SendNetworkServiceRequestNoFdnCheck calling" )
hgs
parents:
diff changeset
   258
    
hgs
parents:
diff changeset
   259
    iPhone.SendNetworkServiceRequestNoFdnCheck( aReqStatus, aServiceString );
hgs
parents:
diff changeset
   260
    
hgs
parents:
diff changeset
   261
    LOG( SIMPLE, "SATENGINE: \
hgs
parents:
diff changeset
   262
            CSatMultiModeApi::SendNetworkServiceRequestNoFdnCheck exiting" )
hgs
parents:
diff changeset
   263
    }
hgs
parents:
diff changeset
   264
                                
hgs
parents:
diff changeset
   265
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   266
// CSatMultiModeApi::SendMessageNoFdnCheck
hgs
parents:
diff changeset
   267
// (other items were commented in a header).
hgs
parents:
diff changeset
   268
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   269
//
hgs
parents:
diff changeset
   270
void CSatMultiModeApi::SendMessageNoFdnCheck( TRequestStatus& aReqStatus,
hgs
parents:
diff changeset
   271
            const TDesC8& aMsgData, const TDesC8& aMsgAttributes )
hgs
parents:
diff changeset
   272
    {
hgs
parents:
diff changeset
   273
    LOG( SIMPLE,
hgs
parents:
diff changeset
   274
        "SATENGINE: CSatMultiModeApi::SendMessageNoFdnCheck calling" )
hgs
parents:
diff changeset
   275
    
hgs
parents:
diff changeset
   276
    iUssd.SendMessageNoFdnCheck( aReqStatus, aMsgData, aMsgAttributes );
hgs
parents:
diff changeset
   277
    
hgs
parents:
diff changeset
   278
    LOG( SIMPLE, 
hgs
parents:
diff changeset
   279
        "SATENGINE: CSatMultiModeApi::SendMessageNoFdnCheck exiting" )
hgs
parents:
diff changeset
   280
    }
hgs
parents:
diff changeset
   281
hgs
parents:
diff changeset
   282
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   283
// CSatMultiModeApi::CancelAsyncRequest
hgs
parents:
diff changeset
   284
// (other items were commented in a header).
hgs
parents:
diff changeset
   285
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   286
//
hgs
parents:
diff changeset
   287
void CSatMultiModeApi::CancelAsyncRequest(TInt aReqToCancel)
hgs
parents:
diff changeset
   288
    {
hgs
parents:
diff changeset
   289
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::CancelAsyncRequest calling" )
hgs
parents:
diff changeset
   290
    iPhone.CancelAsyncRequest( aReqToCancel );
hgs
parents:
diff changeset
   291
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::CancelAsyncRequest exiting" )
hgs
parents:
diff changeset
   292
    }
hgs
parents:
diff changeset
   293
hgs
parents:
diff changeset
   294
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   295
// CSatMultiModeApi::DialCancel
hgs
parents:
diff changeset
   296
// (other items were commented in a header).
hgs
parents:
diff changeset
   297
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   298
//
hgs
parents:
diff changeset
   299
void CSatMultiModeApi::DialCancel()
hgs
parents:
diff changeset
   300
    {
hgs
parents:
diff changeset
   301
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialCancel calling" )
hgs
parents:
diff changeset
   302
    iCall.DialCancel();
hgs
parents:
diff changeset
   303
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialCancel exiting" )
hgs
parents:
diff changeset
   304
    }
hgs
parents:
diff changeset
   305
hgs
parents:
diff changeset
   306
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   307
// CSatMultiModeApi::IsCallIncoming
hgs
parents:
diff changeset
   308
// (other items were commented in a header).
hgs
parents:
diff changeset
   309
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   310
//
hgs
parents:
diff changeset
   311
TBool CSatMultiModeApi::IsCallIncoming()
hgs
parents:
diff changeset
   312
    {
hgs
parents:
diff changeset
   313
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::IsCallIncoming entering" )
hgs
parents:
diff changeset
   314
    TInt lines( 0 );
hgs
parents:
diff changeset
   315
    TBool callIncoming( EFalse );
hgs
parents:
diff changeset
   316
hgs
parents:
diff changeset
   317
    // Enumerate all lines in the phone
hgs
parents:
diff changeset
   318
    TInt err( iPhone.EnumerateLines( lines ) );
hgs
parents:
diff changeset
   319
hgs
parents:
diff changeset
   320
    if ( KErrNone == err )
hgs
parents:
diff changeset
   321
        {
hgs
parents:
diff changeset
   322
        RPhone::TLineInfo lineInfo;
hgs
parents:
diff changeset
   323
        // Check the lines' status one by one
hgs
parents:
diff changeset
   324
        for( TInt i = 0; ( i < lines ) && !callIncoming; ++i )
hgs
parents:
diff changeset
   325
            {
hgs
parents:
diff changeset
   326
            err = iPhone.GetLineInfo( i, lineInfo ); 
hgs
parents:
diff changeset
   327
            if ( KErrNone == err )
hgs
parents:
diff changeset
   328
                {
hgs
parents:
diff changeset
   329
                LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::IsCallIncoming \
hgs
parents:
diff changeset
   330
                    line status is %d", lineInfo.iStatus )
hgs
parents:
diff changeset
   331
                if ( ( RCall::EStatusDialling == lineInfo.iStatus ) ||
hgs
parents:
diff changeset
   332
                     ( RCall::EStatusRinging == lineInfo.iStatus ) )
hgs
parents:
diff changeset
   333
                    {
hgs
parents:
diff changeset
   334
                    // There is an incoming call
hgs
parents:
diff changeset
   335
                    callIncoming = ETrue;
hgs
parents:
diff changeset
   336
                    }
hgs
parents:
diff changeset
   337
                }
hgs
parents:
diff changeset
   338
            else
hgs
parents:
diff changeset
   339
                {
hgs
parents:
diff changeset
   340
                // Error happened when getting line info
hgs
parents:
diff changeset
   341
                // We currently do nothing but skip the error line and log it
hgs
parents:
diff changeset
   342
                LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::IsCallIncoming \
hgs
parents:
diff changeset
   343
                    getting line status error %d", err )
hgs
parents:
diff changeset
   344
                }
hgs
parents:
diff changeset
   345
            }
hgs
parents:
diff changeset
   346
        }
hgs
parents:
diff changeset
   347
    else
hgs
parents:
diff changeset
   348
        {
hgs
parents:
diff changeset
   349
        // Enumerate lines error
hgs
parents:
diff changeset
   350
        LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::IsCallIncoming \
hgs
parents:
diff changeset
   351
            enumerate lines error %d", err )
hgs
parents:
diff changeset
   352
        }
hgs
parents:
diff changeset
   353
hgs
parents:
diff changeset
   354
    LOG2( SIMPLE, "SATENGINE: CSatMultiModeApi::IsCallIncoming exiting %d", 
hgs
parents:
diff changeset
   355
          callIncoming )
hgs
parents:
diff changeset
   356
    return callIncoming;
hgs
parents:
diff changeset
   357
    }
hgs
parents:
diff changeset
   358
hgs
parents:
diff changeset
   359
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   360
// CSatMultiModeApi::NotifyMobileCallStatusChange
hgs
parents:
diff changeset
   361
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   362
//
hgs
parents:
diff changeset
   363
void CSatMultiModeApi::NotifyMobileCallStatusChange ( 
hgs
parents:
diff changeset
   364
        TRequestStatus& aReqStatus, RMobileCall::TMobileCallStatus& aStatus )
hgs
parents:
diff changeset
   365
    {
hgs
parents:
diff changeset
   366
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::NotifyMobileCallStatusChange \
hgs
parents:
diff changeset
   367
             calling" )
hgs
parents:
diff changeset
   368
    iCall.NotifyMobileCallStatusChange( aReqStatus, aStatus );
hgs
parents:
diff changeset
   369
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::NotifyMobileCallStatusChange \
hgs
parents:
diff changeset
   370
             exiting" )
hgs
parents:
diff changeset
   371
    }
hgs
parents:
diff changeset
   372
hgs
parents:
diff changeset
   373
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   374
// CSatMultiModeApi::NotifyCallStatusChangeCancel
hgs
parents:
diff changeset
   375
// (other items were commented in a header).
hgs
parents:
diff changeset
   376
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   377
//
hgs
parents:
diff changeset
   378
void CSatMultiModeApi::NotifyCallStatusChangeCancel()
hgs
parents:
diff changeset
   379
    {
hgs
parents:
diff changeset
   380
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialCancel calling" )
hgs
parents:
diff changeset
   381
    iCall.NotifyStatusChangeCancel();
hgs
parents:
diff changeset
   382
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialCancel exiting" )
hgs
parents:
diff changeset
   383
    }
hgs
parents:
diff changeset
   384
hgs
parents:
diff changeset
   385
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   386
// CSatMultiModeApi::NotifyMobileCallStatusChange
hgs
parents:
diff changeset
   387
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   388
//
hgs
parents:
diff changeset
   389
void CSatMultiModeApi::TerminateActiveCalls(TRequestStatus& aReqStatus)
hgs
parents:
diff changeset
   390
    {
hgs
parents:
diff changeset
   391
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::TerminateAllCalls calling" )
hgs
parents:
diff changeset
   392
hgs
parents:
diff changeset
   393
    iPhone.TerminateActiveCalls( aReqStatus );
hgs
parents:
diff changeset
   394
    
hgs
parents:
diff changeset
   395
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::TerminateAllCalls exiting" )
hgs
parents:
diff changeset
   396
    } 
hgs
parents:
diff changeset
   397
hgs
parents:
diff changeset
   398
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   399
// CSatMultiModeApi::GetMobileCallInfo
hgs
parents:
diff changeset
   400
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   401
//
hgs
parents:
diff changeset
   402
TInt CSatMultiModeApi::GetMobileCallInfo(TDes8& aCallInfo)
hgs
parents:
diff changeset
   403
    {
hgs
parents:
diff changeset
   404
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::GetMobileCallInfo calling" )
hgs
parents:
diff changeset
   405
    TInt ret = iCall.GetMobileCallInfo( aCallInfo );
hgs
parents:
diff changeset
   406
    LOG2( SIMPLE, "SATENGINE: CSatMultiModeApi::GetMobileCallInfo exiting %d",
hgs
parents:
diff changeset
   407
            ret )
hgs
parents:
diff changeset
   408
    return ret;
hgs
parents:
diff changeset
   409
    }
hgs
parents:
diff changeset
   410
       
hgs
parents:
diff changeset
   411
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   412
// CSatMultiModeApi::GetMobileCallInfo
hgs
parents:
diff changeset
   413
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   414
//
hgs
parents:
diff changeset
   415
void CSatMultiModeApi::DialEmergencyCall(TRequestStatus& aReqStatus, 
hgs
parents:
diff changeset
   416
        const TDesC& aNumber)
hgs
parents:
diff changeset
   417
    {
hgs
parents:
diff changeset
   418
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialEmergencyCall calling" )
hgs
parents:
diff changeset
   419
    TInt err = LoadMobileCall();
hgs
parents:
diff changeset
   420
    LOG2( SIMPLE, "SATENGINE: CSatMultiModeApi::DialEmergencyCall err %d", err )
hgs
parents:
diff changeset
   421
    iCall.DialEmergencyCall( aReqStatus, aNumber );
hgs
parents:
diff changeset
   422
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::DialEmergencyCall exiting" )
hgs
parents:
diff changeset
   423
    }
hgs
parents:
diff changeset
   424
hgs
parents:
diff changeset
   425
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   426
// CSatMultiModeApi::ConstructL
hgs
parents:
diff changeset
   427
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   428
//
hgs
parents:
diff changeset
   429
void CSatMultiModeApi::ConstructL()
hgs
parents:
diff changeset
   430
    {
hgs
parents:
diff changeset
   431
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::ConstructL calling" )
hgs
parents:
diff changeset
   432
hgs
parents:
diff changeset
   433
    // Connect to ETel Server    
hgs
parents:
diff changeset
   434
    ConnectETelServerL();
hgs
parents:
diff changeset
   435
#if !defined ( __WINSCW__ )
hgs
parents:
diff changeset
   436
    //On the emulator the load will leave. We can not use the functionaly
hgs
parents:
diff changeset
   437
    //on enmulator
hgs
parents:
diff changeset
   438
    LoadUssdMessagingL();
hgs
parents:
diff changeset
   439
#endif
hgs
parents:
diff changeset
   440
hgs
parents:
diff changeset
   441
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::ConstructL exiting" )
hgs
parents:
diff changeset
   442
    }
hgs
parents:
diff changeset
   443
hgs
parents:
diff changeset
   444
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   445
// CSatMultiModeApi::ConnectETelServerL
hgs
parents:
diff changeset
   446
// (other items were commented in a header).
hgs
parents:
diff changeset
   447
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   448
//
hgs
parents:
diff changeset
   449
void CSatMultiModeApi::ConnectETelServerL()
hgs
parents:
diff changeset
   450
    {
hgs
parents:
diff changeset
   451
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::ConnectETelServerL calling" )
hgs
parents:
diff changeset
   452
hgs
parents:
diff changeset
   453
    TInt numberOfTries( 1 );        // Indicates loop tryouts
hgs
parents:
diff changeset
   454
    TBool loopSuccess( EFalse );    // Loop stopper, if this is ETrue
hgs
parents:
diff changeset
   455
    TInt error = KErrNone;          // Error that is Leave'd
hgs
parents:
diff changeset
   456
hgs
parents:
diff changeset
   457
    if ( !iWrapper )
hgs
parents:
diff changeset
   458
        {
hgs
parents:
diff changeset
   459
        LOG( NORMAL, "SATENGINE: CSatMultiModeApi::ConnectETelServerL \
hgs
parents:
diff changeset
   460
        iWrapper false" )
hgs
parents:
diff changeset
   461
        iWrapper = new ( ELeave ) CSatSActiveWrapper();
hgs
parents:
diff changeset
   462
        }
hgs
parents:
diff changeset
   463
hgs
parents:
diff changeset
   464
    // First loop is for connecting to RTelServer. Loop is done until
hgs
parents:
diff changeset
   465
    // connection returns KErrNone or when max loop try outs has been 
hgs
parents:
diff changeset
   466
    // reached
hgs
parents:
diff changeset
   467
    while ( !loopSuccess && numberOfTries <= KLoopMaxTryouts )
hgs
parents:
diff changeset
   468
        {
hgs
parents:
diff changeset
   469
        error = iTelServer.Connect();
hgs
parents:
diff changeset
   470
        if ( KErrNone == error )
hgs
parents:
diff changeset
   471
            {
hgs
parents:
diff changeset
   472
            LOG( NORMAL, "SATENGINE: \
hgs
parents:
diff changeset
   473
            CSatMultiModeApi::ConnectETelServerL KErrNone == error" )
hgs
parents:
diff changeset
   474
            loopSuccess = ETrue;
hgs
parents:
diff changeset
   475
            }
hgs
parents:
diff changeset
   476
        else
hgs
parents:
diff changeset
   477
            {
hgs
parents:
diff changeset
   478
            numberOfTries++;
hgs
parents:
diff changeset
   479
            iWrapper->After( KLoopTimeout );
hgs
parents:
diff changeset
   480
            }
hgs
parents:
diff changeset
   481
        }
hgs
parents:
diff changeset
   482
hgs
parents:
diff changeset
   483
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::ConnectETelServerL \
hgs
parents:
diff changeset
   484
          numberOfTries: %i", numberOfTries )
hgs
parents:
diff changeset
   485
hgs
parents:
diff changeset
   486
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::ConnectETelServerL \
hgs
parents:
diff changeset
   487
          error: %i", error )
hgs
parents:
diff changeset
   488
hgs
parents:
diff changeset
   489
    // Check the error status
hgs
parents:
diff changeset
   490
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   491
hgs
parents:
diff changeset
   492
    // Now load phone module
hgs
parents:
diff changeset
   493
    LoadPhoneModuleL( iPhone, KMmTsyModuleName, KMmTsyPhoneName );
hgs
parents:
diff changeset
   494
hgs
parents:
diff changeset
   495
#ifdef SAT_USE_DUMMY_TSY
hgs
parents:
diff changeset
   496
    // Also load dummy tsy
hgs
parents:
diff changeset
   497
    LoadPhoneModuleL( iDummyPhone, KSatSDummyTsyModuleName, KSatSDummyTsyPhoneName );
hgs
parents:
diff changeset
   498
#endif // SAT_USE_DUMMY_TSY
hgs
parents:
diff changeset
   499
hgs
parents:
diff changeset
   500
    User::LeaveIfError( iCustomPhone.Open( iPhone ) );
hgs
parents:
diff changeset
   501
hgs
parents:
diff changeset
   502
    // No need for wrapper anymore
hgs
parents:
diff changeset
   503
    delete iWrapper;
hgs
parents:
diff changeset
   504
    iWrapper = NULL;
hgs
parents:
diff changeset
   505
hgs
parents:
diff changeset
   506
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::ConnectETelServerL exiting" )
hgs
parents:
diff changeset
   507
    }
hgs
parents:
diff changeset
   508
hgs
parents:
diff changeset
   509
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   510
// CSatMultiModeApi::LoadPhoneModuleL
hgs
parents:
diff changeset
   511
// (other items were commented in a header).
hgs
parents:
diff changeset
   512
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   513
//
hgs
parents:
diff changeset
   514
void CSatMultiModeApi::LoadPhoneModuleL( RMobilePhone& aPhone,
hgs
parents:
diff changeset
   515
        const TDesC& aModuleName, const TDesC& aPhoneName )
hgs
parents:
diff changeset
   516
    {
hgs
parents:
diff changeset
   517
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadPhoneModuleL calling" )
hgs
parents:
diff changeset
   518
hgs
parents:
diff changeset
   519
    TInt numberOfTries( 1 );        // Indicates loop tryouts
hgs
parents:
diff changeset
   520
    TBool loopSuccess( EFalse );    // Loop stopper, if this is ETrue
hgs
parents:
diff changeset
   521
    TInt error = KErrNone;          // Error that is Leave'd
hgs
parents:
diff changeset
   522
hgs
parents:
diff changeset
   523
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadPhoneModuleL \
hgs
parents:
diff changeset
   524
          ModuleName: %S", &aModuleName )
hgs
parents:
diff changeset
   525
hgs
parents:
diff changeset
   526
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadPhoneModuleL \
hgs
parents:
diff changeset
   527
          PhoneName: %S", &aPhoneName )
hgs
parents:
diff changeset
   528
hgs
parents:
diff changeset
   529
    // We wait here until the phone module gets loaded.
hgs
parents:
diff changeset
   530
    // Load the correct phone module depending on the TSY being used.
hgs
parents:
diff changeset
   531
    while ( !loopSuccess && numberOfTries <= KLoopMaxTryouts )
hgs
parents:
diff changeset
   532
        {
hgs
parents:
diff changeset
   533
        error = iTelServer.LoadPhoneModule( aModuleName );
hgs
parents:
diff changeset
   534
        if ( KErrNone == error )
hgs
parents:
diff changeset
   535
            {
hgs
parents:
diff changeset
   536
            loopSuccess = ETrue;
hgs
parents:
diff changeset
   537
            }
hgs
parents:
diff changeset
   538
        else
hgs
parents:
diff changeset
   539
            {
hgs
parents:
diff changeset
   540
            numberOfTries++;
hgs
parents:
diff changeset
   541
            iWrapper->After( KLoopTimeout );
hgs
parents:
diff changeset
   542
            }
hgs
parents:
diff changeset
   543
        }
hgs
parents:
diff changeset
   544
hgs
parents:
diff changeset
   545
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadPhoneModuleL \
hgs
parents:
diff changeset
   546
          numberOfTries: %i", numberOfTries )
hgs
parents:
diff changeset
   547
hgs
parents:
diff changeset
   548
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadPhoneModuleL \
hgs
parents:
diff changeset
   549
          error: %i", error )
hgs
parents:
diff changeset
   550
hgs
parents:
diff changeset
   551
    // Check the error status
hgs
parents:
diff changeset
   552
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   553
hgs
parents:
diff changeset
   554
    // This function retrieves the total number of phones supported by all
hgs
parents:
diff changeset
   555
    // the currently loaded ETel (TSY) modules.
hgs
parents:
diff changeset
   556
    TInt phoneCount( 0 );
hgs
parents:
diff changeset
   557
    User::LeaveIfError( iTelServer.EnumeratePhones( phoneCount ) );
hgs
parents:
diff changeset
   558
hgs
parents:
diff changeset
   559
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadPhoneModuleL \
hgs
parents:
diff changeset
   560
          phoneCount: %i", phoneCount )
hgs
parents:
diff changeset
   561
hgs
parents:
diff changeset
   562
    // This function retrieves information associated with the specified phone
hgs
parents:
diff changeset
   563
    RTelServer::TPhoneInfo phoneInfo;
hgs
parents:
diff changeset
   564
    while ( phoneCount-- )
hgs
parents:
diff changeset
   565
        {
hgs
parents:
diff changeset
   566
        User::LeaveIfError( iTelServer.GetPhoneInfo( phoneCount,
hgs
parents:
diff changeset
   567
            phoneInfo ) );
hgs
parents:
diff changeset
   568
hgs
parents:
diff changeset
   569
        // Check that do we have the right phone
hgs
parents:
diff changeset
   570
        if ( phoneInfo.iName == aPhoneName )
hgs
parents:
diff changeset
   571
            {
hgs
parents:
diff changeset
   572
            LOG( NORMAL, "SATENGINE: CSatMultiModeApi::LoadPhoneModuleL \
hgs
parents:
diff changeset
   573
            phoneInfo.iName == aPhoneName" )
hgs
parents:
diff changeset
   574
            phoneCount = 0;
hgs
parents:
diff changeset
   575
            }
hgs
parents:
diff changeset
   576
        }
hgs
parents:
diff changeset
   577
hgs
parents:
diff changeset
   578
    if ( phoneInfo.iName != aPhoneName )
hgs
parents:
diff changeset
   579
        {
hgs
parents:
diff changeset
   580
        // Did not found correct phone info -> Leave
hgs
parents:
diff changeset
   581
        LOG( SIMPLE, 
hgs
parents:
diff changeset
   582
            "SATENGINE: CSatMultiModeApi::LoadPhoneModuleL Not found" )
hgs
parents:
diff changeset
   583
        User::Leave( KErrNotFound );
hgs
parents:
diff changeset
   584
        }
hgs
parents:
diff changeset
   585
hgs
parents:
diff changeset
   586
    // Reset the counter and loop status for the next loop.
hgs
parents:
diff changeset
   587
    numberOfTries = 1;
hgs
parents:
diff changeset
   588
    loopSuccess = EFalse;
hgs
parents:
diff changeset
   589
hgs
parents:
diff changeset
   590
    // We wait here until the phone gets opened.
hgs
parents:
diff changeset
   591
    // Open the correct phone depending on the TSY being used.
hgs
parents:
diff changeset
   592
    while ( !loopSuccess && ( numberOfTries <= KLoopMaxTryouts ) )
hgs
parents:
diff changeset
   593
        {
hgs
parents:
diff changeset
   594
        error = aPhone.Open( iTelServer, aPhoneName );
hgs
parents:
diff changeset
   595
hgs
parents:
diff changeset
   596
        if ( KErrNone == error )
hgs
parents:
diff changeset
   597
            {
hgs
parents:
diff changeset
   598
            LOG( NORMAL, "SATENGINE: \
hgs
parents:
diff changeset
   599
            CSatMultiModeApi::LoadPhoneModuleL KErrNone == error" )
hgs
parents:
diff changeset
   600
            loopSuccess = ETrue;
hgs
parents:
diff changeset
   601
            }
hgs
parents:
diff changeset
   602
        else
hgs
parents:
diff changeset
   603
            {
hgs
parents:
diff changeset
   604
            numberOfTries++;
hgs
parents:
diff changeset
   605
            iWrapper->After( KLoopTimeout );
hgs
parents:
diff changeset
   606
            }
hgs
parents:
diff changeset
   607
        }
hgs
parents:
diff changeset
   608
    if ( !loopSuccess )
hgs
parents:
diff changeset
   609
        {
hgs
parents:
diff changeset
   610
        LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadPhoneModuleL\
hgs
parents:
diff changeset
   611
                      phone open failed" );
hgs
parents:
diff changeset
   612
        }
hgs
parents:
diff changeset
   613
    
hgs
parents:
diff changeset
   614
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadPhoneModuleL exiting" )
hgs
parents:
diff changeset
   615
    }
hgs
parents:
diff changeset
   616
hgs
parents:
diff changeset
   617
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   618
// CSatMultiModeApi::LoadMobileCall
hgs
parents:
diff changeset
   619
// (other items were commented in a header).
hgs
parents:
diff changeset
   620
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   621
//
hgs
parents:
diff changeset
   622
TInt CSatMultiModeApi::LoadMobileCall()
hgs
parents:
diff changeset
   623
    {
hgs
parents:
diff changeset
   624
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadMobileCallL calling" )
hgs
parents:
diff changeset
   625
hgs
parents:
diff changeset
   626
    if ( iCallOpened )
hgs
parents:
diff changeset
   627
        {
hgs
parents:
diff changeset
   628
        iCall.Close();
hgs
parents:
diff changeset
   629
        }
hgs
parents:
diff changeset
   630
    
hgs
parents:
diff changeset
   631
    if ( iLineOpened )
hgs
parents:
diff changeset
   632
        {
hgs
parents:
diff changeset
   633
        iLine.Close();
hgs
parents:
diff changeset
   634
        }
hgs
parents:
diff changeset
   635
    
hgs
parents:
diff changeset
   636
    TInt numberOfTries( 1 );        // Indicates loop tryouts
hgs
parents:
diff changeset
   637
    TBool loopSuccess( EFalse );    // Loop stopper, if this is ETrue
hgs
parents:
diff changeset
   638
    TInt error = KErrNone;          // Error that is Leave'd
hgs
parents:
diff changeset
   639
hgs
parents:
diff changeset
   640
    while ( !loopSuccess && numberOfTries <= KLoopMaxTryouts )
hgs
parents:
diff changeset
   641
        {
hgs
parents:
diff changeset
   642
        error = iLine.Open( iPhone, KMmTsyVoice1LineName );
hgs
parents:
diff changeset
   643
        if ( KErrNone == error )
hgs
parents:
diff changeset
   644
            {
hgs
parents:
diff changeset
   645
            loopSuccess = ETrue;
hgs
parents:
diff changeset
   646
            iLineOpened = ETrue;
hgs
parents:
diff changeset
   647
            }
hgs
parents:
diff changeset
   648
        else
hgs
parents:
diff changeset
   649
            {
hgs
parents:
diff changeset
   650
            numberOfTries++;
hgs
parents:
diff changeset
   651
            iWrapper->After( KLoopTimeout );
hgs
parents:
diff changeset
   652
            }
hgs
parents:
diff changeset
   653
        }
hgs
parents:
diff changeset
   654
hgs
parents:
diff changeset
   655
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadMobileCallL \
hgs
parents:
diff changeset
   656
          iLine numberOfTries: %i", numberOfTries )
hgs
parents:
diff changeset
   657
hgs
parents:
diff changeset
   658
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadMobileCallL \
hgs
parents:
diff changeset
   659
          iLine error: %i", error )
hgs
parents:
diff changeset
   660
    
hgs
parents:
diff changeset
   661
    numberOfTries = 1;
hgs
parents:
diff changeset
   662
    loopSuccess =  EFalse;
hgs
parents:
diff changeset
   663
hgs
parents:
diff changeset
   664
    while ( iLineOpened &&!loopSuccess && numberOfTries <= KLoopMaxTryouts )
hgs
parents:
diff changeset
   665
        {
hgs
parents:
diff changeset
   666
        error = iCall.OpenNewCall( iLine );
hgs
parents:
diff changeset
   667
        if ( KErrNone == error )
hgs
parents:
diff changeset
   668
            {
hgs
parents:
diff changeset
   669
            loopSuccess = ETrue;
hgs
parents:
diff changeset
   670
            iCallOpened = ETrue;
hgs
parents:
diff changeset
   671
            }
hgs
parents:
diff changeset
   672
        else
hgs
parents:
diff changeset
   673
            {
hgs
parents:
diff changeset
   674
            numberOfTries++;
hgs
parents:
diff changeset
   675
            iWrapper->After( KLoopTimeout );
hgs
parents:
diff changeset
   676
            }
hgs
parents:
diff changeset
   677
        }
hgs
parents:
diff changeset
   678
hgs
parents:
diff changeset
   679
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadMobileCallL \
hgs
parents:
diff changeset
   680
          iCall numberOfTries: %i", numberOfTries )
hgs
parents:
diff changeset
   681
hgs
parents:
diff changeset
   682
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadMobileCallL \
hgs
parents:
diff changeset
   683
          iCall error: %i", error )
hgs
parents:
diff changeset
   684
hgs
parents:
diff changeset
   685
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadMobileCallL exiting" )
hgs
parents:
diff changeset
   686
    return error;
hgs
parents:
diff changeset
   687
    }
hgs
parents:
diff changeset
   688
    
hgs
parents:
diff changeset
   689
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   690
// CSatMultiModeApi::LoadMobileCallL
hgs
parents:
diff changeset
   691
// (other items were commented in a header).
hgs
parents:
diff changeset
   692
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   693
//    
hgs
parents:
diff changeset
   694
void CSatMultiModeApi::LoadUssdMessagingL()
hgs
parents:
diff changeset
   695
    
hgs
parents:
diff changeset
   696
    {
hgs
parents:
diff changeset
   697
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadUssdMessagingL calling" )
hgs
parents:
diff changeset
   698
hgs
parents:
diff changeset
   699
    TInt numberOfTries( 1 );        // Indicates loop tryouts
hgs
parents:
diff changeset
   700
    TBool loopSuccess( EFalse );    // Loop stopper, if this is ETrue
hgs
parents:
diff changeset
   701
    TInt error = KErrNone;          // Error that is Leave'd
hgs
parents:
diff changeset
   702
hgs
parents:
diff changeset
   703
    while ( !loopSuccess && numberOfTries <= KLoopMaxTryouts )
hgs
parents:
diff changeset
   704
        {
hgs
parents:
diff changeset
   705
        error = iUssd.Open( iPhone );
hgs
parents:
diff changeset
   706
        if ( KErrNone == error )
hgs
parents:
diff changeset
   707
            {
hgs
parents:
diff changeset
   708
            loopSuccess = ETrue;
hgs
parents:
diff changeset
   709
            iUssdOpened = ETrue;
hgs
parents:
diff changeset
   710
            }
hgs
parents:
diff changeset
   711
        else
hgs
parents:
diff changeset
   712
            {
hgs
parents:
diff changeset
   713
            numberOfTries++;
hgs
parents:
diff changeset
   714
            iWrapper->After( KLoopTimeout );
hgs
parents:
diff changeset
   715
            }
hgs
parents:
diff changeset
   716
        }
hgs
parents:
diff changeset
   717
hgs
parents:
diff changeset
   718
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadUssdMessagingL \
hgs
parents:
diff changeset
   719
          iUssd numberOfTries: %i", numberOfTries )
hgs
parents:
diff changeset
   720
hgs
parents:
diff changeset
   721
    LOG2( NORMAL, "SATENGINE: CSatMultiModeApi::LoadUssdMessagingL \
hgs
parents:
diff changeset
   722
          iUssd error: %i", error )
hgs
parents:
diff changeset
   723
          
hgs
parents:
diff changeset
   724
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   725
hgs
parents:
diff changeset
   726
    LOG( SIMPLE, "SATENGINE: CSatMultiModeApi::LoadUssdMessagingL exiting" )
hgs
parents:
diff changeset
   727
    }
hgs
parents:
diff changeset
   728
hgs
parents:
diff changeset
   729
hgs
parents:
diff changeset
   730
//End of file