phoneclientserver/phoneserver/inc/ussd/cphsrvussdmanager.h
author hgs
Fri, 17 Sep 2010 17:09:13 +0300
changeset 48 78df25012fda
parent 33 8d5d7fcf9b59
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002-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:  Handles all the Ussd sessions.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef CPHSRVUSSDMANAGER_H
hgs
parents:
diff changeset
    19
#define CPHSRVUSSDMANAGER_H
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
// INCLUDES
hgs
parents:
diff changeset
    23
#include <etelmm.h>            // ETel
hgs
parents:
diff changeset
    24
#include "phcltclientserver.h" 
hgs
parents:
diff changeset
    25
#include "mphsrvussdnetworkobserver.h" 
hgs
parents:
diff changeset
    26
#include "mphsrvussdreplytimerobserver.h" 
hgs
parents:
diff changeset
    27
#include <badesca.h>
hgs
parents:
diff changeset
    28
#include <hbdevicemessageboxsymbian.h>
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
// FORWARD DECLARATIONS
hgs
parents:
diff changeset
    31
class RFs;
hgs
parents:
diff changeset
    32
class CPhSrvResourceManager;
hgs
parents:
diff changeset
    33
class CPhSrvUssdSendHandler;
hgs
parents:
diff changeset
    34
class CPhSrvUssdReceiveHandler;
hgs
parents:
diff changeset
    35
class CPhSrvUssdReplyTimer;
hgs
parents:
diff changeset
    36
class MPhSrvPhoneInterface;
hgs
parents:
diff changeset
    37
class MPhSrvUssdMessageSentObserver;
hgs
parents:
diff changeset
    38
class CPhSrvUssdSessionCancelWaiter;
hgs
parents:
diff changeset
    39
class CPhSrvUssdNotifyNWRelease;
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
// CLASS DECLARATION
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
/**
hgs
parents:
diff changeset
    44
*  Handles all the Ussd sessions.
hgs
parents:
diff changeset
    45
*
hgs
parents:
diff changeset
    46
*  @since 1.0
hgs
parents:
diff changeset
    47
*/
hgs
parents:
diff changeset
    48
class CPhSrvUssdManager : 
hgs
parents:
diff changeset
    49
    public CActive, 
hgs
parents:
diff changeset
    50
    public MPhSrvUssdNetworkObserver, 
hgs
parents:
diff changeset
    51
    public MPhSrvUssdReplyTimerObserver,
hgs
parents:
diff changeset
    52
    public MHbDeviceMessageBoxObserver
hgs
parents:
diff changeset
    53
    {
hgs
parents:
diff changeset
    54
    public:  // Constructors and destructor
hgs
parents:
diff changeset
    55
hgs
parents:
diff changeset
    56
        /**
hgs
parents:
diff changeset
    57
        * C++ constructor.
hgs
parents:
diff changeset
    58
        *
hgs
parents:
diff changeset
    59
        * @param aFsSession The file session.
hgs
parents:
diff changeset
    60
        * @param aResourceManager The resource manager.
hgs
parents:
diff changeset
    61
        */
hgs
parents:
diff changeset
    62
        CPhSrvUssdManager( 
hgs
parents:
diff changeset
    63
            RFs& aFsSession, 
hgs
parents:
diff changeset
    64
            CPhSrvResourceManager& aResourceManager
hgs
parents:
diff changeset
    65
         );
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
        /**
hgs
parents:
diff changeset
    68
        * C++ destructor.
hgs
parents:
diff changeset
    69
        */
hgs
parents:
diff changeset
    70
        ~CPhSrvUssdManager();
hgs
parents:
diff changeset
    71
        
hgs
parents:
diff changeset
    72
        /**
hgs
parents:
diff changeset
    73
        * Symbian OS second phase constructor
hgs
parents:
diff changeset
    74
        *
hgs
parents:
diff changeset
    75
        * @param aPhoneInterface The phone interfaces.
hgs
parents:
diff changeset
    76
        */
hgs
parents:
diff changeset
    77
        void ConstructL( MPhSrvPhoneInterface& aPhoneInterface );
hgs
parents:
diff changeset
    78
        
48
hgs
parents: 33
diff changeset
    79
    private:
hgs
parents: 33
diff changeset
    80
        /*
hgs
parents: 33
diff changeset
    81
         * TDialogInfoType is used to identify dialogs with different
hgs
parents: 33
diff changeset
    82
         * buttons.
hgs
parents: 33
diff changeset
    83
         */
hgs
parents: 33
diff changeset
    84
        enum TDialogInfoType{
hgs
parents: 33
diff changeset
    85
                EInvalidType = -1,
hgs
parents: 33
diff changeset
    86
                EYesNo,
hgs
parents: 33
diff changeset
    87
                ENextExit,
hgs
parents: 33
diff changeset
    88
                EReplyExit,
hgs
parents: 33
diff changeset
    89
                EOnlyExit
hgs
parents: 33
diff changeset
    90
            };
hgs
parents: 33
diff changeset
    91
        
33
hgs
parents:
diff changeset
    92
    public: // New functions
hgs
parents:
diff changeset
    93
        
hgs
parents:
diff changeset
    94
        /**
hgs
parents:
diff changeset
    95
        * Send the USSD message.
hgs
parents:
diff changeset
    96
        * 
hgs
parents:
diff changeset
    97
        * @param aMsgData The USSD message to be sent.
hgs
parents:
diff changeset
    98
        * @param aMsgAttribute The USSD message attributes.
hgs
parents:
diff changeset
    99
        * @param aObserver Observer for sent event.
hgs
parents:
diff changeset
   100
        */
hgs
parents:
diff changeset
   101
        void SendUssdL( 
hgs
parents:
diff changeset
   102
            const TDesC8& aMsgData, 
hgs
parents:
diff changeset
   103
            RMobileUssdMessaging::TMobileUssdAttributesV1& aMsgAttribute, 
hgs
parents:
diff changeset
   104
            MPhSrvUssdMessageSentObserver& aObserver );
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
        /**
hgs
parents:
diff changeset
   107
        * Cancel sending the USSD.
hgs
parents:
diff changeset
   108
        */
hgs
parents:
diff changeset
   109
        void SendUssdCancel();
hgs
parents:
diff changeset
   110
hgs
parents:
diff changeset
   111
        
hgs
parents:
diff changeset
   112
        /**
hgs
parents:
diff changeset
   113
        * These are called when status of Ussd application changes.
hgs
parents:
diff changeset
   114
        * 
hgs
parents:
diff changeset
   115
        * @return 0 if editor should not be cleared.
hgs
parents:
diff changeset
   116
        */
hgs
parents:
diff changeset
   117
        void InformUssdApplicationStarting();
hgs
parents:
diff changeset
   118
        void InformUssdApplicationTerminatingL( const RMessage2& aMessage );
hgs
parents:
diff changeset
   119
        TInt InformUssdApplicationToForeground();      
hgs
parents:
diff changeset
   120
        void InformUssdApplicationToBackground();
hgs
parents:
diff changeset
   121
        
hgs
parents:
diff changeset
   122
        /**
hgs
parents:
diff changeset
   123
        * Starts the editor.
hgs
parents:
diff changeset
   124
        */
hgs
parents:
diff changeset
   125
        void RequestStartEditingL();
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
        /**
hgs
parents:
diff changeset
   128
        * SAT starts.
hgs
parents:
diff changeset
   129
        *
hgs
parents:
diff changeset
   130
        * @param aSatMessage Message to be comleted when session ends.
hgs
parents:
diff changeset
   131
        */
hgs
parents:
diff changeset
   132
        void InformStartSAT( const RMessage2& aSatMessage );
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
        /**
hgs
parents:
diff changeset
   135
        * SAT ends.
hgs
parents:
diff changeset
   136
        */
hgs
parents:
diff changeset
   137
        void InformStopSAT();
hgs
parents:
diff changeset
   138
        
hgs
parents:
diff changeset
   139
        /**
hgs
parents:
diff changeset
   140
        * Completes SAT request if it's ongoing.
hgs
parents:
diff changeset
   141
        *
hgs
parents:
diff changeset
   142
        * @param aReceiveString If session end with a string it is passed
hgs
parents:
diff changeset
   143
        *        as a paramter.
hgs
parents:
diff changeset
   144
        * @param aError Completion code.
hgs
parents:
diff changeset
   145
        * @return The error code of the SAT request.
hgs
parents:
diff changeset
   146
        */
hgs
parents:
diff changeset
   147
         void CompleteSatL( 
hgs
parents:
diff changeset
   148
            TDesC* aReceiveString, 
hgs
parents:
diff changeset
   149
            TInt aError );
hgs
parents:
diff changeset
   150
        
hgs
parents:
diff changeset
   151
    protected: // From base classes
hgs
parents:
diff changeset
   152
        
hgs
parents:
diff changeset
   153
        /**
hgs
parents:
diff changeset
   154
        * @see MPhSrvUssdNetworkObserver
hgs
parents:
diff changeset
   155
        */
hgs
parents:
diff changeset
   156
        void UssdNetworkObserverHandleSendEventL( TInt aError );
hgs
parents:
diff changeset
   157
        
hgs
parents:
diff changeset
   158
        /**
hgs
parents:
diff changeset
   159
        * @see MPhSrvUssdNetworkObserver
hgs
parents:
diff changeset
   160
        */
hgs
parents:
diff changeset
   161
        void UssdNetworkObserverHandleReceivedEventL(
hgs
parents:
diff changeset
   162
            const TDes8& aMsgData, 
hgs
parents:
diff changeset
   163
            const RMobileUssdMessaging::TMobileUssdAttributesV1& 
hgs
parents:
diff changeset
   164
                  aMsgAttributes,
hgs
parents:
diff changeset
   165
            TInt aError );
hgs
parents:
diff changeset
   166
hgs
parents:
diff changeset
   167
        void UssdNetworkObserverHandleNotifyNWReleaseL( 
hgs
parents:
diff changeset
   168
        const RMobilePhone::TMobilePhoneSendSSRequestV3 & aReturnResult, 
hgs
parents:
diff changeset
   169
        TInt aError );
hgs
parents:
diff changeset
   170
        
hgs
parents:
diff changeset
   171
        /**
hgs
parents:
diff changeset
   172
        * @see MPhSrvUssdReplyTimerObserver
hgs
parents:
diff changeset
   173
        */
hgs
parents:
diff changeset
   174
        void UssdReplyTimerObserverHandleExpiredL( TInt aError );
hgs
parents:
diff changeset
   175
        
hgs
parents:
diff changeset
   176
        /**
hgs
parents:
diff changeset
   177
        * @see MHbDeviceMessageBoxObserver
hgs
parents:
diff changeset
   178
        */        
hgs
parents:
diff changeset
   179
        void MessageBoxClosed(const CHbDeviceMessageBoxSymbian* aMessageBox,
hgs
parents:
diff changeset
   180
            CHbDeviceMessageBoxSymbian::TButtonId aButton);
hgs
parents:
diff changeset
   181
        
hgs
parents:
diff changeset
   182
        /*
hgs
parents:
diff changeset
   183
        * @see CActive
hgs
parents:
diff changeset
   184
        */
hgs
parents:
diff changeset
   185
        void RunL();
hgs
parents:
diff changeset
   186
        
hgs
parents:
diff changeset
   187
        /*
hgs
parents:
diff changeset
   188
        * @see CActive
hgs
parents:
diff changeset
   189
        */
hgs
parents:
diff changeset
   190
        void DoCancel();
hgs
parents:
diff changeset
   191
        
hgs
parents:
diff changeset
   192
        /*
hgs
parents:
diff changeset
   193
        * @see CActive
hgs
parents:
diff changeset
   194
        */
hgs
parents:
diff changeset
   195
        TInt RunError( TInt aError );
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
    private: // New functions
hgs
parents:
diff changeset
   198
        
hgs
parents:
diff changeset
   199
        CPhSrvUssdSendHandler& SendHandlerL();
hgs
parents:
diff changeset
   200
hgs
parents:
diff changeset
   201
        void ShowErrorNoteL( TInt aError );
hgs
parents:
diff changeset
   202
hgs
parents:
diff changeset
   203
        void DecodeL( 
hgs
parents:
diff changeset
   204
            const TDesC8& aSrc, 
hgs
parents:
diff changeset
   205
            TDes& aDes, 
hgs
parents:
diff changeset
   206
            TUint8 aDcs );
hgs
parents:
diff changeset
   207
       
hgs
parents:
diff changeset
   208
        void FindFirstCarriageReturnL( 
hgs
parents:
diff changeset
   209
            const TDesC8& aBuffer ,
hgs
parents:
diff changeset
   210
            TUint& aSkipChars , 
hgs
parents:
diff changeset
   211
            TUint& aStartBit );
hgs
parents:
diff changeset
   212
        
hgs
parents:
diff changeset
   213
        /** Display the "Done" note */
hgs
parents:
diff changeset
   214
        void ShowDoneNoteL();
hgs
parents:
diff changeset
   215
        
hgs
parents:
diff changeset
   216
        /** Check is the ussd app running 
hgs
parents:
diff changeset
   217
         * @return app running or not
hgs
parents:
diff changeset
   218
         */
hgs
parents:
diff changeset
   219
        TBool UssdAppTaskExistsL();
hgs
parents:
diff changeset
   220
        
hgs
parents:
diff changeset
   221
        // If the notification array is empty, close the session.
hgs
parents:
diff changeset
   222
        void TryCloseSession();
hgs
parents:
diff changeset
   223
        
hgs
parents:
diff changeset
   224
        // Close the session; clear state etc.
hgs
parents:
diff changeset
   225
        void CloseSession();
hgs
parents:
diff changeset
   226
        
hgs
parents:
diff changeset
   227
        /** Second stage handler for received messages 
hgs
parents:
diff changeset
   228
         */
hgs
parents:
diff changeset
   229
        void UssdHandleReceivedEventL(
hgs
parents:
diff changeset
   230
            const TDes8& aMsgData, 
hgs
parents:
diff changeset
   231
            const RMobileUssdMessaging::TMobileUssdAttributesV1& 
hgs
parents:
diff changeset
   232
                  aMsgAttributes);
hgs
parents:
diff changeset
   233
        // Restart the reply timer
hgs
parents:
diff changeset
   234
        void RestartReplyTimerL();
hgs
parents:
diff changeset
   235
        
hgs
parents:
diff changeset
   236
        /** Is the reply timer up and running? */
hgs
parents:
diff changeset
   237
        TBool NetworkWaitingForAnAnswer();
hgs
parents:
diff changeset
   238
        
hgs
parents:
diff changeset
   239
        // Set timer and activate it if there are notifications available
hgs
parents:
diff changeset
   240
        void SetActiveIfPendingNotificationsExist();
hgs
parents:
diff changeset
   241
        
hgs
parents:
diff changeset
   242
        // Launch the global message query (used from RunL)
hgs
parents:
diff changeset
   243
        void LaunchGlobalMessageQueryL();
hgs
parents:
diff changeset
   244
        
hgs
parents:
diff changeset
   245
        // Send an MO ACK message if any such are pending
hgs
parents:
diff changeset
   246
        void ProcessMoAcksL();
hgs
parents:
diff changeset
   247
        
hgs
parents:
diff changeset
   248
        // Trigger an asynchronous call to call ProcessMoAcksL later
hgs
parents:
diff changeset
   249
        void AsyncProcessMoAcks();
hgs
parents:
diff changeset
   250
        
hgs
parents:
diff changeset
   251
        // The static callback function for AsyncProcessMoAcks
hgs
parents:
diff changeset
   252
        static TInt MoAckCallback(TAny *);
hgs
parents:
diff changeset
   253
        
hgs
parents:
diff changeset
   254
        /**
hgs
parents:
diff changeset
   255
        * Return boolean value that states whether or not 
hgs
parents:
diff changeset
   256
        * indicated feature is supported or not.
hgs
parents:
diff changeset
   257
        * 
hgs
parents:
diff changeset
   258
        * @since 2.1
hgs
parents:
diff changeset
   259
        * @param aFeatureId The feature that is inspected 
hgs
parents:
diff changeset
   260
        *        (see values from Telephony_Variant.hrh)
hgs
parents:
diff changeset
   261
        * @return ETrue if the feature is supported, EFalse otherwise.
hgs
parents:
diff changeset
   262
        */
hgs
parents:
diff changeset
   263
        TBool IsTelephonyFeatureSupported( const TInt aFeatureId );
hgs
parents:
diff changeset
   264
hgs
parents:
diff changeset
   265
        /**
hgs
parents:
diff changeset
   266
        * Play USSD tone.
hgs
parents:
diff changeset
   267
        * 
hgs
parents:
diff changeset
   268
        * @since 2.1
hgs
parents:
diff changeset
   269
        * @return KErrNone if successful, otherwise Symbian error code.
hgs
parents:
diff changeset
   270
        */
hgs
parents:
diff changeset
   271
        TInt PlayUssdTone();
hgs
parents:
diff changeset
   272
hgs
parents:
diff changeset
   273
        /**
hgs
parents:
diff changeset
   274
        * Returns telephony variant read-only data.
hgs
parents:
diff changeset
   275
        * 
hgs
parents:
diff changeset
   276
        * @since 2.1
hgs
parents:
diff changeset
   277
        * @return Error code.
hgs
parents:
diff changeset
   278
        */
hgs
parents:
diff changeset
   279
        TInt GetTelephonyVariantData();
hgs
parents:
diff changeset
   280
hgs
parents:
diff changeset
   281
        /**
hgs
parents:
diff changeset
   282
        * Send the MO acknowledgement.
hgs
parents:
diff changeset
   283
        * 
hgs
parents:
diff changeset
   284
        * @since 2.6
hgs
parents:
diff changeset
   285
        */
hgs
parents:
diff changeset
   286
        void SendMoAcknowledgementL();
hgs
parents:
diff changeset
   287
        
hgs
parents:
diff changeset
   288
        /**
hgs
parents:
diff changeset
   289
        * Return boolean value that states whether notes are shown or not
hgs
parents:
diff changeset
   290
        * 
hgs
parents:
diff changeset
   291
        * @since 3.0
hgs
parents:
diff changeset
   292
        */
hgs
parents:
diff changeset
   293
        TBool ShowNotesL();
hgs
parents:
diff changeset
   294
        
hgs
parents:
diff changeset
   295
        /**
hgs
parents:
diff changeset
   296
        * Check notify message array
hgs
parents:
diff changeset
   297
        * 
hgs
parents:
diff changeset
   298
        * @since 3.1
hgs
parents:
diff changeset
   299
        */
hgs
parents:
diff changeset
   300
        void CheckArray( );
hgs
parents:
diff changeset
   301
        
hgs
parents:
diff changeset
   302
        /**
hgs
parents:
diff changeset
   303
        * Clears notify message array
hgs
parents:
diff changeset
   304
        * 
hgs
parents:
diff changeset
   305
        * @since 3.1
hgs
parents:
diff changeset
   306
        */
hgs
parents:
diff changeset
   307
        void ClearArrayL();
hgs
parents:
diff changeset
   308
        
hgs
parents:
diff changeset
   309
        /**
hgs
parents:
diff changeset
   310
        * Returns notify message count
hgs
parents:
diff changeset
   311
        * 
hgs
parents:
diff changeset
   312
        * @since 3.1
hgs
parents:
diff changeset
   313
        */
hgs
parents:
diff changeset
   314
        TInt NotifyCount();
hgs
parents:
diff changeset
   315
        
hgs
parents:
diff changeset
   316
        
hgs
parents:
diff changeset
   317
        /**
hgs
parents:
diff changeset
   318
        * Updates Notify Message
hgs
parents:
diff changeset
   319
        * 
hgs
parents:
diff changeset
   320
        * @since 3.1
hgs
parents:
diff changeset
   321
        */
hgs
parents:
diff changeset
   322
        void UpdateNotifyMessageL();
hgs
parents:
diff changeset
   323
        
hgs
parents:
diff changeset
   324
        /**
hgs
parents:
diff changeset
   325
        * Turn lights on
hgs
parents:
diff changeset
   326
        * 
hgs
parents:
diff changeset
   327
        * @since 3.1
hgs
parents:
diff changeset
   328
        */
hgs
parents:
diff changeset
   329
        void TurnLightsOn();
hgs
parents:
diff changeset
   330
        
hgs
parents:
diff changeset
   331
        /**
hgs
parents:
diff changeset
   332
        * Load default string by QT style localization
hgs
parents:
diff changeset
   333
        * @param aText default string id defined by _LIT
hgs
parents:
diff changeset
   334
        */        
hgs
parents:
diff changeset
   335
        const TPtrC LoadDefaultString( const TDesC& aText );
hgs
parents:
diff changeset
   336
hgs
parents:
diff changeset
   337
    private:     // Data
hgs
parents:
diff changeset
   338
        
hgs
parents:
diff changeset
   339
        // The file session reference.
hgs
parents:
diff changeset
   340
        RFs& iFsSession;
hgs
parents:
diff changeset
   341
        
hgs
parents:
diff changeset
   342
        // The resource manager reference.
hgs
parents:
diff changeset
   343
        CPhSrvResourceManager& iResourceManager;
hgs
parents:
diff changeset
   344
hgs
parents:
diff changeset
   345
        // The USSD functionality in lower level (TSY).
hgs
parents:
diff changeset
   346
        RMobileUssdMessaging iMobileUssdMessaging;
hgs
parents:
diff changeset
   347
        
hgs
parents:
diff changeset
   348
        // The observer waiting message sent notification.
hgs
parents:
diff changeset
   349
        MPhSrvUssdMessageSentObserver* iObserver;
hgs
parents:
diff changeset
   350
hgs
parents:
diff changeset
   351
        // The send operation handler.
hgs
parents:
diff changeset
   352
        CPhSrvUssdSendHandler* iUssdSendHandler;
hgs
parents:
diff changeset
   353
hgs
parents:
diff changeset
   354
        // The receive operation handler.
hgs
parents:
diff changeset
   355
        CPhSrvUssdReceiveHandler* iUssdReceiveHandler;
hgs
parents:
diff changeset
   356
        
hgs
parents:
diff changeset
   357
        // The network release notifier.
hgs
parents:
diff changeset
   358
         CPhSrvUssdNotifyNWRelease* iUssdNotifyNWRelease;
hgs
parents:
diff changeset
   359
        
hgs
parents:
diff changeset
   360
        // The reply timer.
hgs
parents:
diff changeset
   361
        CPhSrvUssdReplyTimer* iUssdReplyTimer;
hgs
parents:
diff changeset
   362
        
hgs
parents:
diff changeset
   363
        // The buffer for received message.
hgs
parents:
diff changeset
   364
        TBuf< KPhCltUssdMax8BitCharacters > iReceivedMessage;
hgs
parents:
diff changeset
   365
        
hgs
parents:
diff changeset
   366
        // The message query for showing USSD operation queries.
hgs
parents:
diff changeset
   367
        CHbDeviceMessageBoxSymbian* iDeviceDialog;
hgs
parents:
diff changeset
   368
       
hgs
parents:
diff changeset
   369
        // Is editor emptied.
hgs
parents:
diff changeset
   370
        TBool iEmptyEditor;
hgs
parents:
diff changeset
   371
        
hgs
parents:
diff changeset
   372
        // Will the editor be started.
hgs
parents:
diff changeset
   373
        TBool iStartEditor;
hgs
parents:
diff changeset
   374
        
hgs
parents:
diff changeset
   375
        // The timer.
hgs
parents:
diff changeset
   376
        RTimer iTimer;
hgs
parents:
diff changeset
   377
hgs
parents:
diff changeset
   378
        // Is there pending SAT message.
hgs
parents:
diff changeset
   379
        TBool iHavePendingSatMessagePointer;
hgs
parents:
diff changeset
   380
hgs
parents:
diff changeset
   381
        // The pending SAT message.
hgs
parents:
diff changeset
   382
        RMessage2 iPendingSatMessagePointer;
hgs
parents:
diff changeset
   383
hgs
parents:
diff changeset
   384
        // Reference to phone interfaces.
hgs
parents:
diff changeset
   385
        MPhSrvPhoneInterface* iPhoneInterface;
hgs
parents:
diff changeset
   386
hgs
parents:
diff changeset
   387
        // The used DCS in the SAT message
hgs
parents:
diff changeset
   388
        TUint iDCS;
hgs
parents:
diff changeset
   389
hgs
parents:
diff changeset
   390
        // Softkeys in Global MessageQuery.
hgs
parents:
diff changeset
   391
        TInt iSoftkeys;
hgs
parents:
diff changeset
   392
hgs
parents:
diff changeset
   393
        // Global MessageQuery launching indicator.
hgs
parents:
diff changeset
   394
        TBool iLaunchGMQ;
hgs
parents:
diff changeset
   395
hgs
parents:
diff changeset
   396
        // Local Telephony variant read-only data.
hgs
parents:
diff changeset
   397
        TInt iVariantReadOnlyValues;
hgs
parents:
diff changeset
   398
hgs
parents:
diff changeset
   399
        // The buffer for received decoded message.
hgs
parents:
diff changeset
   400
        TBuf< KPhCltUssdMax8BitCharacters > iDecodedMessage;
hgs
parents:
diff changeset
   401
hgs
parents:
diff changeset
   402
        // If ETrue, then the last received USSD message was EUssdMtNotify.
hgs
parents:
diff changeset
   403
        TBool iNotifyMessage;
hgs
parents:
diff changeset
   404
        
hgs
parents:
diff changeset
   405
        //NotifyNetWorkRelease return result
hgs
parents:
diff changeset
   406
        RMobilePhone::TMobilePhoneSendSSRequestV3 iReturnResult;
hgs
parents:
diff changeset
   407
        
hgs
parents:
diff changeset
   408
        //NotifyNetWorkRelease return result
hgs
parents:
diff changeset
   409
        RMobilePhone::TMobilePhoneSendSSRequestV3Pckg iReturnResultPckg;
hgs
parents:
diff changeset
   410
        
hgs
parents:
diff changeset
   411
        // Array for notify messages
hgs
parents:
diff changeset
   412
        CDesCArray* iNotifyArray;
hgs
parents:
diff changeset
   413
        
hgs
parents:
diff changeset
   414
        //Sending Release status
hgs
parents:
diff changeset
   415
        TBool iSendRelease;
hgs
parents:
diff changeset
   416
hgs
parents:
diff changeset
   417
        // Notify array reset status
hgs
parents:
diff changeset
   418
        TBool iClearArray;
hgs
parents:
diff changeset
   419
hgs
parents:
diff changeset
   420
        // Sat cancel status
hgs
parents:
diff changeset
   421
        TBool iSatCanceled;
hgs
parents:
diff changeset
   422
        
hgs
parents:
diff changeset
   423
        // Show Done note
hgs
parents:
diff changeset
   424
        TBool iShowDone;
hgs
parents:
diff changeset
   425
hgs
parents:
diff changeset
   426
        // Checks if received message type is Reply
hgs
parents:
diff changeset
   427
        TBool iMsgTypeReply;
hgs
parents:
diff changeset
   428
        
hgs
parents:
diff changeset
   429
        // Has the transaction been closed or not
hgs
parents:
diff changeset
   430
        TBool iNetworkReleased;
hgs
parents:
diff changeset
   431
        
hgs
parents:
diff changeset
   432
        // Is the current send operation an MO ACK message or not 
hgs
parents:
diff changeset
   433
        TBool iSendingAck;
hgs
parents:
diff changeset
   434
        
hgs
parents:
diff changeset
   435
        // Number of MO ACK messages pending to be sent. Normally max 2.
hgs
parents:
diff changeset
   436
        TInt iAcksToBeSent;
hgs
parents:
diff changeset
   437
        
hgs
parents:
diff changeset
   438
        // An asynchronous callback for sending MO ACK messages
hgs
parents:
diff changeset
   439
        CAsyncCallBack* iMoAckCallback;
hgs
parents:
diff changeset
   440
        
hgs
parents:
diff changeset
   441
        HBufC* iTextBuffer;
hgs
parents:
diff changeset
   442
48
hgs
parents: 33
diff changeset
   443
        // The dialogs with different button.
hgs
parents: 33
diff changeset
   444
        TDialogInfoType iDialogType;
hgs
parents: 33
diff changeset
   445
33
hgs
parents:
diff changeset
   446
    };
hgs
parents:
diff changeset
   447
    
hgs
parents:
diff changeset
   448
#endif // CPHSRVUSSDMANAGER_H
hgs
parents:
diff changeset
   449
hgs
parents:
diff changeset
   450
hgs
parents:
diff changeset
   451
// End of File