phoneclientserver/phoneclient/src/ussdwrapper/cphcltussdnotecontroller.cpp
author hgs
Wed, 21 Jul 2010 18:26:52 +0300
changeset 33 8d5d7fcf9b59
child 51 12bc758d6a02
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) 2009-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:  Ussd note controller
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 FILES
hgs
parents:
diff changeset
    20
#include <hbdevicemessageboxsymbian.h>
hgs
parents:
diff changeset
    21
#include <hbdeviceprogressdialogsymbian.h>
hgs
parents:
diff changeset
    22
#include <hbtextresolversymbian.h>
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#include "phcltclientserver.h" 
hgs
parents:
diff changeset
    25
#include "cphcltussdnotecontroller.h" 
hgs
parents:
diff changeset
    26
#include "tflogger.h"
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
_LIT(KUssdLocFilename, "ussd_");
hgs
parents:
diff changeset
    29
_LIT(KCommonLocFilename, "common_");
hgs
parents:
diff changeset
    30
_LIT(KPath, "z:\\resource\\qt\\translations");
hgs
parents:
diff changeset
    31
_LIT(KUssdRequesting, "txt_common_info_requesting"); // Requesting
hgs
parents:
diff changeset
    32
_LIT(KUssdDone, "txt_ussd_dpopinfo_done"); // Done
hgs
parents:
diff changeset
    33
_LIT(KUssdNotDone, "txt_ussd_dpopinfo_not_done"); // NotDone
hgs
parents:
diff changeset
    34
_LIT(KUssdNotAllowed, "txt_ussd_dpopinfo_not_allowed"); //NotAllowed
hgs
parents:
diff changeset
    35
_LIT(KUssdUnconfirmed, "txt_ussd_dpopinfo_request_not_confirmed"); // Unconfirmed
hgs
parents:
diff changeset
    36
_LIT(KUssdNoService, "txt_ussd_dpopinfo_no_service"); // NoService
hgs
parents:
diff changeset
    37
_LIT(KUssdOffline, "txt_ussd_dpopinfo_unable_to_use_network_phone_is"); // Offline
hgs
parents:
diff changeset
    38
_LIT(KUssdHide, "txt_common_button_hide"); // Hide
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
const int KPhCltUssdProgressBarMaxLength = 10;
hgs
parents:
diff changeset
    41
// ============================ MEMBER FUNCTIONS ===============================
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    44
// CPhCltUssdNoteController::NewL
hgs
parents:
diff changeset
    45
// Two-phased constructor.
hgs
parents:
diff changeset
    46
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    47
//
hgs
parents:
diff changeset
    48
CPhCltUssdNoteController* CPhCltUssdNoteController::NewL(
hgs
parents:
diff changeset
    49
        MPhCltUssdNoteControllerCallBack& aCallBack )
hgs
parents:
diff changeset
    50
    {
hgs
parents:
diff changeset
    51
    TFLOGSTRING("CPhCltUssdNoteController: NewL call")
hgs
parents:
diff changeset
    52
    CPhCltUssdNoteController* self = new( ELeave ) 
hgs
parents:
diff changeset
    53
        CPhCltUssdNoteController( aCallBack );
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
    CleanupStack::PushL( self );
hgs
parents:
diff changeset
    56
    self->ConstructL();
hgs
parents:
diff changeset
    57
    CleanupStack::Pop( self );
hgs
parents:
diff changeset
    58
    TFLOGSTRING("CPhCltUssdNoteController: NewL exit")
hgs
parents:
diff changeset
    59
    return self;
hgs
parents:
diff changeset
    60
    }
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    63
// CPhCltUssdNoteController::ConstructL
hgs
parents:
diff changeset
    64
// Symbian 2nd phase constructor can leave.
hgs
parents:
diff changeset
    65
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    66
//
hgs
parents:
diff changeset
    67
void CPhCltUssdNoteController::ConstructL()
hgs
parents:
diff changeset
    68
    {
hgs
parents:
diff changeset
    69
    TFLOGSTRING( "CPhCltUssdNoteController: ConstructL call_exit" ) 
hgs
parents:
diff changeset
    70
    }
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    73
// CPhCltUssdNoteController::CPhCltUssdNoteController
hgs
parents:
diff changeset
    74
// C++ constructor can NOT contain any code, that
hgs
parents:
diff changeset
    75
// might leave.
hgs
parents:
diff changeset
    76
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    77
CPhCltUssdNoteController::CPhCltUssdNoteController(
hgs
parents:
diff changeset
    78
    MPhCltUssdNoteControllerCallBack& aCallBack )
hgs
parents:
diff changeset
    79
    : iGlobalWaitNote( NULL ),
hgs
parents:
diff changeset
    80
      iCallBack( aCallBack )
hgs
parents:
diff changeset
    81
    {
hgs
parents:
diff changeset
    82
    TFLOGSTRING("CPhCltUssdNoteController: CPhCltUssdNoteController call")
hgs
parents:
diff changeset
    83
    TFLOGSTRING("CPhCltUssdNoteController: CPhCltUssdNoteController exit")
hgs
parents:
diff changeset
    84
    }
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    87
// CPhCltUssdNoteController:~CPhCltUssdNoteController
hgs
parents:
diff changeset
    88
// C++ default constructor can NOT contain any code, that
hgs
parents:
diff changeset
    89
// might leave.
hgs
parents:
diff changeset
    90
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    91
//
hgs
parents:
diff changeset
    92
CPhCltUssdNoteController::~CPhCltUssdNoteController()
hgs
parents:
diff changeset
    93
    {
hgs
parents:
diff changeset
    94
    TFLOGSTRING("CPhCltUssdNoteController: ~CPhCltUssdNoteController call")
hgs
parents:
diff changeset
    95
    DestroyGlobalWaitNote();
hgs
parents:
diff changeset
    96
    TFLOGSTRING("CPhCltUssdNoteController: ~CPhCltUssdNoteController exit")
hgs
parents:
diff changeset
    97
    }
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   100
// CPhCltUssdNoteController::ShowGlobalInformationNoteL
hgs
parents:
diff changeset
   101
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   102
void CPhCltUssdNoteController::ShowGlobalInformationNoteL( 
hgs
parents:
diff changeset
   103
        const TPhCltUssdInformationType aInfoType )
hgs
parents:
diff changeset
   104
    {
hgs
parents:
diff changeset
   105
    TFLOGSTRING2("CPhCltUssdNoteController: ShowGlobalInformationNoteL\
hgs
parents:
diff changeset
   106
            aInfoType = %d call", aInfoType)
hgs
parents:
diff changeset
   107
    const TBool textResolver = HbTextResolverSymbian::Init( 
hgs
parents:
diff changeset
   108
        KUssdLocFilename, KPath );
hgs
parents:
diff changeset
   109
    TFLOGSTRING2("CPhCltUssdNoteController: ShowGlobalInformationNoteL\
hgs
parents:
diff changeset
   110
        ussd textResolver = %d", textResolver ) 
hgs
parents:
diff changeset
   111
    HBufC* temp(NULL);
hgs
parents:
diff changeset
   112
    switch ( aInfoType )
hgs
parents:
diff changeset
   113
        {
hgs
parents:
diff changeset
   114
        case EPhCltUssdUnconfirme:
hgs
parents:
diff changeset
   115
            {
hgs
parents:
diff changeset
   116
            temp = HbTextResolverSymbian::LoadLC( KUssdUnconfirmed );
hgs
parents:
diff changeset
   117
            break;
hgs
parents:
diff changeset
   118
            }
hgs
parents:
diff changeset
   119
        case EPhCltUssdNotallowed:
hgs
parents:
diff changeset
   120
            {
hgs
parents:
diff changeset
   121
            temp = HbTextResolverSymbian::LoadLC( KUssdNotAllowed );
hgs
parents:
diff changeset
   122
            break;
hgs
parents:
diff changeset
   123
            }
hgs
parents:
diff changeset
   124
        case EPhCltUssdNoservice:
hgs
parents:
diff changeset
   125
            {
hgs
parents:
diff changeset
   126
            temp = HbTextResolverSymbian::LoadLC( KUssdNoService );
hgs
parents:
diff changeset
   127
            break;
hgs
parents:
diff changeset
   128
            }
hgs
parents:
diff changeset
   129
        case EPhCltUssdOffline:
hgs
parents:
diff changeset
   130
            {
hgs
parents:
diff changeset
   131
            temp = HbTextResolverSymbian::LoadLC( KUssdOffline );
hgs
parents:
diff changeset
   132
            break;
hgs
parents:
diff changeset
   133
            }
hgs
parents:
diff changeset
   134
        case EPhCltUssdDone:
hgs
parents:
diff changeset
   135
            {
hgs
parents:
diff changeset
   136
            temp = HbTextResolverSymbian::LoadLC( KUssdDone );
hgs
parents:
diff changeset
   137
            break;
hgs
parents:
diff changeset
   138
            }
hgs
parents:
diff changeset
   139
        case EPhCltUssdNotDone:
hgs
parents:
diff changeset
   140
            {
hgs
parents:
diff changeset
   141
            temp = HbTextResolverSymbian::LoadLC( KUssdNotDone );
hgs
parents:
diff changeset
   142
            break;
hgs
parents:
diff changeset
   143
            }
hgs
parents:
diff changeset
   144
        default:
hgs
parents:
diff changeset
   145
            {
hgs
parents:
diff changeset
   146
            User::Leave( KErrArgument );
hgs
parents:
diff changeset
   147
            break;
hgs
parents:
diff changeset
   148
            }
hgs
parents:
diff changeset
   149
        }
hgs
parents:
diff changeset
   150
    CHbDeviceMessageBoxSymbian* dlg = CHbDeviceMessageBoxSymbian::NewL(
hgs
parents:
diff changeset
   151
            CHbDeviceMessageBoxSymbian::EInformation);
hgs
parents:
diff changeset
   152
    CleanupStack::PushL( dlg );
hgs
parents:
diff changeset
   153
    dlg->SetTextL( temp->Des() );
hgs
parents:
diff changeset
   154
    dlg->SetButton( CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue );
hgs
parents:
diff changeset
   155
    dlg->ExecL();
hgs
parents:
diff changeset
   156
    CleanupStack::PopAndDestroy( dlg );
hgs
parents:
diff changeset
   157
    CleanupStack::PopAndDestroy( temp );
hgs
parents:
diff changeset
   158
    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalInformationNoteL exit")
hgs
parents:
diff changeset
   159
    }
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   162
// CPhCltUssdNoteController::ShowGlobalWaitNoteL
hgs
parents:
diff changeset
   163
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   164
void CPhCltUssdNoteController::ShowGlobalWaitNoteL( )
hgs
parents:
diff changeset
   165
    {
hgs
parents:
diff changeset
   166
    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalWaitNoteL call")
hgs
parents:
diff changeset
   167
    DestroyGlobalWaitNote();
hgs
parents:
diff changeset
   168
    TBool textResolver = HbTextResolverSymbian::Init( 
hgs
parents:
diff changeset
   169
        KCommonLocFilename, KPath );
hgs
parents:
diff changeset
   170
    TFLOGSTRING2("CPhCltUssdNoteController: ConstructL\
hgs
parents:
diff changeset
   171
        init common textResolver = %d", textResolver ) 
hgs
parents:
diff changeset
   172
    //CHbDeviceProgressDialogSymbian
hgs
parents:
diff changeset
   173
    iGlobalWaitNote = CHbDeviceProgressDialogSymbian::NewL(
hgs
parents:
diff changeset
   174
            CHbDeviceProgressDialogSymbian::EProgressDialog );
hgs
parents:
diff changeset
   175
    CleanupStack::PushL( iGlobalWaitNote );
hgs
parents:
diff changeset
   176
    HBufC* context = HbTextResolverSymbian::LoadLC( KUssdRequesting );
hgs
parents:
diff changeset
   177
    iGlobalWaitNote->SetTextL( context->Des() );
hgs
parents:
diff changeset
   178
    HBufC* bottonText = HbTextResolverSymbian::LoadLC( KUssdHide );
hgs
parents:
diff changeset
   179
    iGlobalWaitNote->SetButtonTextL( bottonText->Des() );
hgs
parents:
diff changeset
   180
    iGlobalWaitNote->SetObserver( this );
hgs
parents:
diff changeset
   181
    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalWaitNoteL before setactive")
hgs
parents:
diff changeset
   182
    iGlobalWaitNote->SetRange(0,KPhCltUssdProgressBarMaxLength);
hgs
parents:
diff changeset
   183
    iGlobalWaitNote->SetProgressValue( KPhCltUssdProgressBarMaxLength );
hgs
parents:
diff changeset
   184
    iGlobalWaitNote->SetAutoClose( EFalse );
hgs
parents:
diff changeset
   185
    iGlobalWaitNote->ShowL();
hgs
parents:
diff changeset
   186
    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalWaitNoteL after ShowL")
hgs
parents:
diff changeset
   187
    CleanupStack::PopAndDestroy( bottonText );
hgs
parents:
diff changeset
   188
    CleanupStack::PopAndDestroy( context );
hgs
parents:
diff changeset
   189
    CleanupStack::Pop( iGlobalWaitNote );
hgs
parents:
diff changeset
   190
    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalWaitNoteL after setactive")
hgs
parents:
diff changeset
   191
    TFLOGSTRING("CPhCltUssdNoteController: ShowGlobalWaitNoteL exit")
hgs
parents:
diff changeset
   192
    }
hgs
parents:
diff changeset
   193
hgs
parents:
diff changeset
   194
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   195
// CPhCltUssdNoteController::DestroyGlobalWaitNote
hgs
parents:
diff changeset
   196
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   197
void CPhCltUssdNoteController::DestroyGlobalWaitNote()
hgs
parents:
diff changeset
   198
    {
hgs
parents:
diff changeset
   199
    TFLOGSTRING("CPhCltUssdNoteController: DestroyGlobalWaitNote call")
hgs
parents:
diff changeset
   200
    if ( iGlobalWaitNote )
hgs
parents:
diff changeset
   201
        {
hgs
parents:
diff changeset
   202
        iGlobalWaitNote->Close();
hgs
parents:
diff changeset
   203
        delete iGlobalWaitNote;
hgs
parents:
diff changeset
   204
        iGlobalWaitNote = NULL;
hgs
parents:
diff changeset
   205
        }
hgs
parents:
diff changeset
   206
    TFLOGSTRING("CPhCltUssdNoteController: DestroyGlobalWaitNote exit")
hgs
parents:
diff changeset
   207
    }
hgs
parents:
diff changeset
   208
hgs
parents:
diff changeset
   209
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   210
// CPhCltUssdNoteController::ProgressDialogCancelled
hgs
parents:
diff changeset
   211
//
hgs
parents:
diff changeset
   212
// 
hgs
parents:
diff changeset
   213
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   214
//
hgs
parents:
diff changeset
   215
void CPhCltUssdNoteController::ProgressDialogCancelled(
hgs
parents:
diff changeset
   216
        const CHbDeviceProgressDialogSymbian* /*aProgressDialog*/)
hgs
parents:
diff changeset
   217
    {
hgs
parents:
diff changeset
   218
    TFLOGSTRING("CPhCltUssdNoteController: ProgressDialogCancelled call")
hgs
parents:
diff changeset
   219
    iCallBack.GlobalWaitNoteHidden();
hgs
parents:
diff changeset
   220
    TFLOGSTRING("CPhCltUssdNoteController: ProgressDialogCancelled exit")
hgs
parents:
diff changeset
   221
    }
hgs
parents:
diff changeset
   222
hgs
parents:
diff changeset
   223
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   224
// CPhCltUssdNoteController::ProgressDialogClosed
hgs
parents:
diff changeset
   225
//
hgs
parents:
diff changeset
   226
// 
hgs
parents:
diff changeset
   227
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   228
//
hgs
parents:
diff changeset
   229
void CPhCltUssdNoteController::ProgressDialogClosed(
hgs
parents:
diff changeset
   230
        const CHbDeviceProgressDialogSymbian* /*aProgressDialog*/)
hgs
parents:
diff changeset
   231
    {
hgs
parents:
diff changeset
   232
    TFLOGSTRING("CPhCltUssdNoteController: ProgressDialogClosed call")
hgs
parents:
diff changeset
   233
    TFLOGSTRING("CPhCltUssdNoteController: ProgressDialogClosed exit")
hgs
parents:
diff changeset
   234
    }
hgs
parents:
diff changeset
   235
hgs
parents:
diff changeset
   236
// End of file
hgs
parents:
diff changeset
   237