messagingapp/msgnotifications/msgerrorwatcher/src/msgerrorroamingobserver.cpp
author hgs
Tue, 31 Aug 2010 18:53:38 +0530
changeset 56 f42d9a78f435
permissions -rw-r--r--
201033_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
56
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     1
/*
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     3
* All rights reserved.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     8
*
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     9
* Initial Contributors:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    11
*
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    12
* Contributors:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    13
*
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    14
* Description:  
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    15
*       CMsgErrorRoamingObserver implementation file
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    16
*
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    17
*/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    18
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    19
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    20
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    21
// INCLUDE FILES
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    22
#include    <e32base.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    23
#include    <etel.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    24
#include    <etelmm.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    25
#include    <mmtsy_names.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    26
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    27
#include    "msgerrorwatcher_p.h"
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    28
#include    "msgerrorroamingobserver.h"
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    29
#include    "debugtraces.h"
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    30
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    31
// CONSTANTS
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    32
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    33
// ================= MEMBER FUNCTIONS =======================
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    34
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    35
/*****************************************************
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    36
*   Series 60 Customer / ETel
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    37
*   Series 60  ETel API
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    38
*****************************************************/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    39
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    40
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    41
// CMsgErrorRoamingObserver::CMsgErrorRoamingObserver
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    42
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    43
// C++ constructor can NOT contain any code, that
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    44
// might leave.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    45
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    46
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    47
CMsgErrorRoamingObserver::CMsgErrorRoamingObserver( CMsgErrorWatcherPrivate&  aWatcher )
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    48
    : CActive( CActive::EPriorityStandard ),
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    49
    iWatcher( aWatcher ),
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    50
    iRoaming( EFalse ),
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    51
    iRegStatus( RMobilePhone::ERegistrationUnknown ),
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    52
    iRequestId( 0 )
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    53
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    54
    QDEBUG_WRITE("CMsgErrorRoamingObserver:CMsgErrorRoamingObserver : Enter");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    55
    CActiveScheduler::Add( this );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    56
    QDEBUG_WRITE("CMsgErrorRoamingObserver:CMsgErrorRoamingObserver : Exit");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    57
    }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    58
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    59
/*****************************************************
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    60
*   Series 60 Customer / ETel
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    61
*   Series 60  ETel API
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    62
*****************************************************/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    63
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    64
/*****************************************************
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    65
*   Series 60 Customer / TSY
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    66
*   Needs customer TSY implementation
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    67
*****************************************************/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    68
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    69
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    70
// CMsgErrorRoamingObserver::ConstructL()
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    71
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    72
// Symbian OS default constructor can leave.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    73
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    74
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    75
void CMsgErrorRoamingObserver::ConstructL()
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    76
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    77
    QDEBUG_WRITE("CMsgErrorRoamingObserver:ConstructL : Enter");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    78
    User::LeaveIfError( iETelServer.Connect() );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    79
    User::LeaveIfError( iETelServer.LoadPhoneModule( KMmTsyModuleName ) );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    80
    User::LeaveIfError( iMobilePhone.Open( iETelServer, KMmTsyPhoneName ) );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    81
    iMobilePhone.GetNetworkRegistrationStatus( iStatus, iRegStatus );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    82
    iRequestId = EMobilePhoneGetNetworkRegistrationStatus;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    83
    SetActive();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    84
    QDEBUG_WRITE("CMsgErrorRoamingObserver:ConstructL : Exit");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    85
    }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    86
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    87
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    88
// CMsgErrorRoamingObserver::NewL
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    89
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    90
// Two-phased constructor.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    91
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    92
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    93
CMsgErrorRoamingObserver* CMsgErrorRoamingObserver::NewL( CMsgErrorWatcherPrivate& aWatcher )
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    94
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    95
    QDEBUG_WRITE("CMsgErrorRoamingObserver:NewL : Enter");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    96
    CMsgErrorRoamingObserver* self = new ( ELeave )
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    97
        CMsgErrorRoamingObserver( aWatcher );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    98
    
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    99
    CleanupStack::PushL( self );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   100
    self->ConstructL();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   101
    CleanupStack::Pop( self );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   102
    QDEBUG_WRITE("CMsgErrorRoamingObserver:NewL : Exit");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   103
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   104
    return self;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   105
    }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   106
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   107
    
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   108
/*****************************************************
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   109
*   Series 60 Customer / ETel
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   110
*   Series 60  ETel API
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   111
*****************************************************/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   112
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   113
/*****************************************************
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   114
*   Series 60 Customer / TSY
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   115
*   Needs customer TSY implementation
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   116
*****************************************************/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   117
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   118
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   119
// CMsgErrorRoamingObserver::~CMsgErrorRoamingObserver
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   120
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   121
// Destructor
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   122
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   123
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   124
CMsgErrorRoamingObserver::~CMsgErrorRoamingObserver()
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   125
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   126
    QDEBUG_WRITE("CMsgErrorRoamingObserver:~CMsgErrorRoamingObserver : Enter");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   127
    Cancel();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   128
    iMobilePhone.Close();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   129
    iETelServer.UnloadPhoneModule( KMmTsyModuleName );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   130
    iETelServer.Close();    
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   131
    QDEBUG_WRITE("CMsgErrorRoamingObserver:~CMsgErrorRoamingObserver : Exit");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   132
    }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   133
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   134
/*****************************************************
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   135
*   Series 60 Customer / ETel
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   136
*   Series 60  ETel API
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   137
*****************************************************/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   138
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   139
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   140
// CMsgErrorRoamingObserver::UpdateRoamingStatusL
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   141
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   142
// Checks whether roaming status has actually changed
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   143
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   144
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   145
void CMsgErrorRoamingObserver::UpdateRoamingStatusL()
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   146
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   147
    QDEBUG_WRITE("CMsgErrorRoamingObserver:UpdateRoamingStatusL : Enter");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   148
    QDEBUG_WRITE_FORMAT("iRoaming: ", iRoaming);
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   149
    QDEBUG_WRITE_FORMAT("iRegStatus: ", iRegStatus);
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   150
    
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   151
    TBool changed = EFalse;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   152
    if ( iRoaming && iRegStatus == RMobilePhone::ERegisteredOnHomeNetwork )
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   153
        {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   154
        iRoaming = EFalse;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   155
        changed = ETrue;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   156
        }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   157
    else if ( !iRoaming && iRegStatus == RMobilePhone::ERegisteredRoaming )
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   158
        {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   159
        iRoaming = ETrue;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   160
        changed = ETrue;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   161
        }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   162
    else
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   163
        {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   164
        //Nothing to do
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   165
        }  
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   166
    QDEBUG_WRITE_FORMAT("changed: ", changed);
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   167
    if ( changed )
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   168
        {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   169
        //Inform watcher only when roaming status has changed
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   170
        iWatcher.HandleRoamingEventL( iRoaming );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   171
        }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   172
    QDEBUG_WRITE("CMsgErrorRoamingObserver:UpdateRoamingStatusL : Exit");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   173
    }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   174
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   175
/*****************************************************
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   176
*   Series 60 Customer / ETel
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   177
*   Series 60  ETel API
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   178
*****************************************************/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   179
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   180
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   181
// CMsgErrorRoamingObserver::Start
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   182
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   183
// Starts the active object
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   184
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   185
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   186
void CMsgErrorRoamingObserver::Start()
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   187
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   188
    QDEBUG_WRITE("CMsgErrorRoamingObserver:Start : Enter");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   189
    if ( !IsActive() ) 
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   190
        {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   191
        iMobilePhone.NotifyNetworkRegistrationStatusChange( iStatus, iRegStatus );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   192
        iRequestId = EMobilePhoneNotifyNetworkRegistrationStatusChange;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   193
        SetActive();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   194
        }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   195
    QDEBUG_WRITE("CMsgErrorRoamingObserver:Start : Exit");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   196
    }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   197
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   198
/*****************************************************
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   199
*   Series 60 Customer / ETel
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   200
*   Series 60  ETel API
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   201
*****************************************************/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   202
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   203
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   204
// CMsgErrorRoamingObserver::DoCancel
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   205
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   206
// From active object framework
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   207
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   208
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   209
void CMsgErrorRoamingObserver::DoCancel()
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   210
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   211
    QDEBUG_WRITE("CMsgErrorRoamingObserver:DoCancel : Enter");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   212
    if ( iRequestId )
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   213
        {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   214
        iMobilePhone.CancelAsyncRequest( iRequestId );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   215
        iRequestId = 0;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   216
        }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   217
    QDEBUG_WRITE("CMsgErrorRoamingObserver:DoCancel : Exit");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   218
    }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   219
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   220
/*****************************************************
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   221
*   Series 60 Customer / ETel
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   222
*   Series 60  ETel API
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   223
*****************************************************/
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   224
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   225
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   226
// CMsgErrorRoamingObserver::RunL
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   227
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   228
// From active object framework
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   229
// ---------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   230
//
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   231
void CMsgErrorRoamingObserver::RunL()
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   232
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   233
    QDEBUG_WRITE("CMsgErrorRoamingObserver:RunL : Enter");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   234
    iRequestId = 0;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   235
    TInt status = iStatus.Int();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   236
    if ( status < 0 )
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   237
        {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   238
        iRegStatus = RMobilePhone::ERegistrationUnknown;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   239
        }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   240
    TRAP_IGNORE( UpdateRoamingStatusL() );
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   241
    Start();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   242
    QDEBUG_WRITE("CMsgErrorRoamingObserver:RunL : Exit");
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   243
    }
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   244
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   245
// ================= OTHER EXPORTED FUNCTIONS ==============
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   246
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   247
//  End of File