phoneapp/phoneuiqtviewadapter/inc/phonecallheaderutil.h
author hgs
Mon, 04 Oct 2010 16:06:10 +0300
changeset 76 cfea66083b62
parent 74 d1c62c765e48
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
74
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 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:  A parameter class for setting call header information
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
#ifndef PHONECALLHEADERUTIL_H
hgs
parents:
diff changeset
    20
#define PHONECALLHEADERUTIL_H
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
//INCLUDES
hgs
parents:
diff changeset
    23
#include    "mpeengineinfo.h"
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
//FORWARD
hgs
parents:
diff changeset
    26
class MPEEngineInfo;
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
/**
hgs
parents:
diff changeset
    29
 * A parameter class for setting call header information.
hgs
parents:
diff changeset
    30
 *
hgs
parents:
diff changeset
    31
 *  @since S60 v10.1
hgs
parents:
diff changeset
    32
 */
hgs
parents:
diff changeset
    33
class PhoneCallHeaderUtil
hgs
parents:
diff changeset
    34
    {
hgs
parents:
diff changeset
    35
    public: // Constructors & destructors.
76
hgs
parents: 74
diff changeset
    36
        
hgs
parents: 74
diff changeset
    37
        enum ClippingDirection
hgs
parents: 74
diff changeset
    38
            {
hgs
parents: 74
diff changeset
    39
            ERight = 0,
hgs
parents: 74
diff changeset
    40
            ELeft
hgs
parents: 74
diff changeset
    41
            };
hgs
parents: 74
diff changeset
    42
    
74
hgs
parents:
diff changeset
    43
        /**
hgs
parents:
diff changeset
    44
        * C++ constructor.
hgs
parents:
diff changeset
    45
        */
hgs
parents:
diff changeset
    46
        PhoneCallHeaderUtil( MPEEngineInfo& engineInfo );
hgs
parents:
diff changeset
    47
        
hgs
parents:
diff changeset
    48
        virtual ~PhoneCallHeaderUtil();
hgs
parents:
diff changeset
    49
        
hgs
parents:
diff changeset
    50
    public: // New functions.
hgs
parents:
diff changeset
    51
        
hgs
parents:
diff changeset
    52
        /**
hgs
parents:
diff changeset
    53
        * Returns the call header label text
hgs
parents:
diff changeset
    54
        * @return Returns the label
hgs
parents:
diff changeset
    55
        */
hgs
parents:
diff changeset
    56
        const TDesC& LabelText( TInt aCallId );
hgs
parents:
diff changeset
    57
76
hgs
parents: 74
diff changeset
    58
        /**
hgs
parents: 74
diff changeset
    59
        * Gets the call cli texts.
hgs
parents: 74
diff changeset
    60
        */
hgs
parents: 74
diff changeset
    61
        void GetCliTexts( 
hgs
parents: 74
diff changeset
    62
                TInt aCallId,
hgs
parents: 74
diff changeset
    63
                TDes& aCliText,
hgs
parents: 74
diff changeset
    64
                ClippingDirection &aCliClip,
hgs
parents: 74
diff changeset
    65
                TDes& aSecondaryCliText,
hgs
parents: 74
diff changeset
    66
                ClippingDirection &aSecondaryCliClip );
74
hgs
parents:
diff changeset
    67
        
76
hgs
parents: 74
diff changeset
    68
        /**
hgs
parents: 74
diff changeset
    69
        * Gets the cli text.
hgs
parents: 74
diff changeset
    70
        * @return Returns cli text.
hgs
parents: 74
diff changeset
    71
        */
hgs
parents: 74
diff changeset
    72
        void GetCli( TInt aCallId, TDes& aCliText, 
hgs
parents: 74
diff changeset
    73
                ClippingDirection &aClipping );
hgs
parents: 74
diff changeset
    74
hgs
parents: 74
diff changeset
    75
        /**
hgs
parents: 74
diff changeset
    76
        * Gets the secondary cli text.
hgs
parents: 74
diff changeset
    77
        */
hgs
parents: 74
diff changeset
    78
        void GetSecondaryCli( TInt aCallId, 
hgs
parents: 74
diff changeset
    79
                TDes& aSecondaryCliText,
hgs
parents: 74
diff changeset
    80
                ClippingDirection &aClipping );
hgs
parents: 74
diff changeset
    81
        
hgs
parents: 74
diff changeset
    82
        /**
hgs
parents: 74
diff changeset
    83
         * Remote phone number.
hgs
parents: 74
diff changeset
    84
         * @return Phone number for remote end.
hgs
parents: 74
diff changeset
    85
         */
hgs
parents: 74
diff changeset
    86
        const TDesC& RemotePhoneNumber( TInt aCallId ) const;
74
hgs
parents:
diff changeset
    87
        
hgs
parents:
diff changeset
    88
        /**
76
hgs
parents: 74
diff changeset
    89
        * Returns the call type.
hgs
parents: 74
diff changeset
    90
        * @return Returns call type.
hgs
parents: 74
diff changeset
    91
        */
hgs
parents: 74
diff changeset
    92
        TInt CallType( const TInt aCallId );
hgs
parents: 74
diff changeset
    93
        
hgs
parents: 74
diff changeset
    94
        /**
hgs
parents: 74
diff changeset
    95
        * Returns service id.
hgs
parents: 74
diff changeset
    96
        * @return Returns service id.
hgs
parents: 74
diff changeset
    97
        */
hgs
parents: 74
diff changeset
    98
        TInt ServiceId( const TInt aCallId );
hgs
parents: 74
diff changeset
    99
        
hgs
parents: 74
diff changeset
   100
        /**
hgs
parents: 74
diff changeset
   101
        * Returns flag is the call forwarded.
hgs
parents: 74
diff changeset
   102
        * @return Returns is forwarded.
hgs
parents: 74
diff changeset
   103
        */
hgs
parents: 74
diff changeset
   104
        TBool IsCallForwarded( TInt aCallId );
hgs
parents: 74
diff changeset
   105
        
hgs
parents: 74
diff changeset
   106
        /**
hgs
parents: 74
diff changeset
   107
        * Returns secure specified status.
hgs
parents: 74
diff changeset
   108
        * @return Returns secure specified status.
hgs
parents: 74
diff changeset
   109
        */
hgs
parents: 74
diff changeset
   110
        TBool SecureSpecified();
hgs
parents: 74
diff changeset
   111
        
hgs
parents: 74
diff changeset
   112
        /**
hgs
parents: 74
diff changeset
   113
        * Returns ciphering status.
hgs
parents: 74
diff changeset
   114
        * @return Returns ciphering status.
hgs
parents: 74
diff changeset
   115
        */
hgs
parents: 74
diff changeset
   116
        TBool Ciphering( TInt aCallId );
hgs
parents: 74
diff changeset
   117
        
hgs
parents: 74
diff changeset
   118
        /**
hgs
parents: 74
diff changeset
   119
        * Returns the call state.
74
hgs
parents:
diff changeset
   120
        * @return Returns the call state
hgs
parents:
diff changeset
   121
        */
hgs
parents:
diff changeset
   122
        TInt CallState( TInt aCallId ) const;
hgs
parents:
diff changeset
   123
        
hgs
parents:
diff changeset
   124
        /**
76
hgs
parents: 74
diff changeset
   125
        * Returns the caller image.
hgs
parents: 74
diff changeset
   126
        * @return Returns the caller image.
hgs
parents: 74
diff changeset
   127
        */  
hgs
parents: 74
diff changeset
   128
        const TDesC& CallerImage( const TInt aCallId );
hgs
parents: 74
diff changeset
   129
       
74
hgs
parents:
diff changeset
   130
        /**
76
hgs
parents: 74
diff changeset
   131
        * Returns emergency call header text.
hgs
parents: 74
diff changeset
   132
        * @return Returns emergency call header text.
hgs
parents: 74
diff changeset
   133
        */ 
hgs
parents: 74
diff changeset
   134
        const TDesC& EmergencyHeaderText();
74
hgs
parents:
diff changeset
   135
        
hgs
parents:
diff changeset
   136
        /**
76
hgs
parents: 74
diff changeset
   137
        * Returns emergency call label text.
hgs
parents: 74
diff changeset
   138
        * @return Returns emergency call label text.
hgs
parents: 74
diff changeset
   139
        */ 
hgs
parents: 74
diff changeset
   140
        const TDesC& AttemptingEmergencyText();
74
hgs
parents:
diff changeset
   141
        
hgs
parents:
diff changeset
   142
        /**
76
hgs
parents: 74
diff changeset
   143
        * Check if the call is video call.
hgs
parents: 74
diff changeset
   144
        * @param aCallid call id
74
hgs
parents:
diff changeset
   145
        */
76
hgs
parents: 74
diff changeset
   146
        TBool IsVoiceCall(TInt aCallId) const;
hgs
parents: 74
diff changeset
   147
                
74
hgs
parents:
diff changeset
   148
        /**
76
hgs
parents: 74
diff changeset
   149
        * Check if the call is video call.
hgs
parents: 74
diff changeset
   150
        * @param aCallid call id
74
hgs
parents:
diff changeset
   151
        */
hgs
parents:
diff changeset
   152
        TBool IsVideoCall(int aCallId ) const;
hgs
parents:
diff changeset
   153
        
hgs
parents:
diff changeset
   154
    private:
hgs
parents:
diff changeset
   155
        
76
hgs
parents: 74
diff changeset
   156
        /**
hgs
parents: 74
diff changeset
   157
        * Sets label text for incoming call.
hgs
parents: 74
diff changeset
   158
        * @param aCallId - Call Id.
hgs
parents: 74
diff changeset
   159
        */
hgs
parents: 74
diff changeset
   160
        void SetCallHeaderLabelTextForRingingCall( TInt aCallId );
hgs
parents: 74
diff changeset
   161
        
hgs
parents: 74
diff changeset
   162
        /**
hgs
parents: 74
diff changeset
   163
        * Check if remote name info is available
hgs
parents: 74
diff changeset
   164
        * (RemoteName, RemotePartyName or RemoteCompanyName),
hgs
parents: 74
diff changeset
   165
        * if available ETrue is returned otherwise EFalse.
hgs
parents: 74
diff changeset
   166
        * @param aCallid call id
hgs
parents: 74
diff changeset
   167
        */
hgs
parents: 74
diff changeset
   168
        TBool RemoteNameAvailable( const TInt aCallId ) const;
hgs
parents: 74
diff changeset
   169
        
hgs
parents: 74
diff changeset
   170
        /**
hgs
parents: 74
diff changeset
   171
        * Gets remote info data
hgs
parents: 74
diff changeset
   172
        * @param aCallid call id
hgs
parents: 74
diff changeset
   173
        * @param aData the returned remote info data
hgs
parents: 74
diff changeset
   174
        */
hgs
parents: 74
diff changeset
   175
        void GetRemoteInfoData( 
hgs
parents: 74
diff changeset
   176
                const TInt aCallId,
hgs
parents: 74
diff changeset
   177
                TDes& aData ) const;        
hgs
parents: 74
diff changeset
   178
    
hgs
parents: 74
diff changeset
   179
        /**
hgs
parents: 74
diff changeset
   180
        * Checks is the secondary cli allowed for the call.
hgs
parents: 74
diff changeset
   181
        * @param aCallid call id
hgs
parents: 74
diff changeset
   182
        * @return ETrue if allowed to show the secondary cli. 
hgs
parents: 74
diff changeset
   183
        */
hgs
parents: 74
diff changeset
   184
        TBool IsSecondaryCliAllowed( TInt aCallId );
hgs
parents: 74
diff changeset
   185
        
hgs
parents: 74
diff changeset
   186
        /**
hgs
parents: 74
diff changeset
   187
        * Check if the call is waiting call.
hgs
parents: 74
diff changeset
   188
        * @param aCallid call id
hgs
parents: 74
diff changeset
   189
        */
hgs
parents: 74
diff changeset
   190
        TBool IsWaitingCall(int callId) const;
hgs
parents: 74
diff changeset
   191
        
hgs
parents: 74
diff changeset
   192
        /**
hgs
parents: 74
diff changeset
   193
        * Loads resource text.
hgs
parents: 74
diff changeset
   194
        * @return Returns loaded text.
hgs
parents: 74
diff changeset
   195
        */
hgs
parents: 74
diff changeset
   196
        HBufC* LoadResource( const TInt aResource ) const;
hgs
parents: 74
diff changeset
   197
                
hgs
parents: 74
diff changeset
   198
        /**
hgs
parents: 74
diff changeset
   199
        * Loads recource text.
hgs
parents: 74
diff changeset
   200
        */
hgs
parents: 74
diff changeset
   201
        void LoadResource( TDes& aData, const TInt aResource ) const;
hgs
parents: 74
diff changeset
   202
        
hgs
parents: 74
diff changeset
   203
    private:
hgs
parents: 74
diff changeset
   204
        
74
hgs
parents:
diff changeset
   205
        MPEEngineInfo& m_engineInfo;
hgs
parents:
diff changeset
   206
        HBufC *iLabelText;
76
hgs
parents: 74
diff changeset
   207
        HBufC *iCliText;
hgs
parents: 74
diff changeset
   208
        HBufC *iSecondaryCliText;
hgs
parents: 74
diff changeset
   209
        HBufC *iCallerImage;
74
hgs
parents:
diff changeset
   210
        HBufC *iEmergencyHeaderText;
hgs
parents:
diff changeset
   211
        HBufC *iAttemptingEmergencyText;
hgs
parents:
diff changeset
   212
            
hgs
parents:
diff changeset
   213
    };
hgs
parents:
diff changeset
   214
hgs
parents:
diff changeset
   215
#endif // PHONECALLHEADERUTIL_H