2911 if ( NET_MODEM_REG_STATUS_IND == messageId ) |
2913 if ( NET_MODEM_REG_STATUS_IND == messageId ) |
2912 { |
2914 { |
2913 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_IND"); |
2915 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_IND"); |
2914 OstTrace0( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_IND" ); |
2916 OstTrace0( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_IND" ); |
2915 |
2917 |
|
2918 // destroy previous ind and store current NET_MODEM_REG_STATUS_IND |
|
2919 // for later use |
|
2920 delete iLastNetModemRegStatusInd; |
|
2921 iLastNetModemRegStatusInd = tempHBuf; |
|
2922 |
2916 // Start handling NET_MODEM_REG_STATUS_IND message. |
2923 // Start handling NET_MODEM_REG_STATUS_IND message. |
2917 NetModemRegStatusInd( isimessage ); |
2924 NetModemRegStatusInd( isimessage ); |
2918 } |
2925 } |
2919 else if ( NET_MODEM_REG_STATUS_GET_RESP == messageId ) |
2926 else if ( NET_MODEM_REG_STATUS_GET_RESP == messageId ) |
2920 { |
2927 { |
3058 // completed with error. |
3065 // completed with error. |
3059 ContinueHandlingNetModemRegStatusMessages(); |
3066 ContinueHandlingNetModemRegStatusMessages(); |
3060 } |
3067 } |
3061 } |
3068 } |
3062 |
3069 |
3063 // Delete used message. |
3070 // if message is NET_MODEM_REG_STATUS_IND it's not destroyed |
3064 delete tempHBuf; |
3071 // because of it can be needed later on. |
|
3072 if ( NET_MODEM_REG_STATUS_IND != messageId ) |
|
3073 { |
|
3074 // Delete used message. |
|
3075 delete tempHBuf; |
|
3076 } |
3065 } |
3077 } |
3066 } |
3078 } |
3067 |
3079 |
3068 // ----------------------------------------------------------------------------- |
3080 // ----------------------------------------------------------------------------- |
3069 // CMmNetMessHandler::ContinueHandlingNetModemRegStatusMessages |
3081 // CMmNetMessHandler::ContinueHandlingNetModemRegStatusMessages |
3180 TFLOGSTRING("TSY: CMmNetMessHandler::GetNetOperatorNameHandler"); |
3192 TFLOGSTRING("TSY: CMmNetMessHandler::GetNetOperatorNameHandler"); |
3181 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_GETNETOPERATORNAMEHANDLER, "CMmNetMessHandler::GetNetOperatorNameHandler" ); |
3193 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_GETNETOPERATORNAMEHANDLER, "CMmNetMessHandler::GetNetOperatorNameHandler" ); |
3182 return iNetOperatorNameHandler; |
3194 return iNetOperatorNameHandler; |
3183 } |
3195 } |
3184 |
3196 |
|
3197 // --------------------------------------------------------------------------- |
|
3198 // CMmNetMessHandler::HandleLastNetModemRegStatusInd |
|
3199 // Handles last received NET_MODEM_REG_STATUS_IND so that network info |
|
3200 // is completed to upper layers |
|
3201 // --------------------------------------------------------------------------- |
|
3202 // |
|
3203 void CMmNetMessHandler::HandleLastNetModemRegStatusInd() |
|
3204 { |
|
3205 TFLOGSTRING("TSY: CMmNetMessHandler::HandleLastNetModemRegStatusInd"); |
|
3206 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_HANDLELASTNETMODEMREGSTATUSIND, "CMmNetMessHandler::HandleLastNetModemRegStatusInd" ); |
|
3207 |
|
3208 TBool handlingNeeded( ETrue ); |
|
3209 if( iNetMessageQueue.Count() ) |
|
3210 { |
|
3211 // we need to check is there any NET_MODEM_REG_STATUS_IND or |
|
3212 // NET_MODEM_REG_STATUS_GET_RESP in queue. If there is one |
|
3213 // of these two messages, we don't need to handle last received |
|
3214 // NET_MODEM_REG_STATUS_IND |
|
3215 for( int i = 0; i < iNetMessageQueue.Count(); i++ ) |
|
3216 { |
|
3217 const TDesC8& message( *iNetMessageQueue[i] ); |
|
3218 TIsiReceiveC isimessage( ( TIsiReceiveC ) message ); |
|
3219 TInt messageId( isimessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) ); |
|
3220 |
|
3221 if( NET_MODEM_REG_STATUS_IND == messageId || |
|
3222 NET_MODEM_REG_STATUS_GET_RESP == messageId ) |
|
3223 { |
|
3224 TFLOGSTRING("TSY: CMmNetMessHandler::HandleLastNetModemRegStatusInd: Similar messages already in queue, no need to handle last received ind"); |
|
3225 OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_HANDLELASTNETMODEMREGSTATUSIND, "CMmNetMessHandler::HandleLastNetModemRegStatusInd:: Similar messages already in queue, no need to handle last received ind" ); |
|
3226 handlingNeeded = EFalse; |
|
3227 break; |
|
3228 } |
|
3229 } |
|
3230 } |
|
3231 |
|
3232 if( iLastNetModemRegStatusInd && handlingNeeded ) |
|
3233 { |
|
3234 // We need to handle last received NET_MODEM_REG_STATUS_IND |
|
3235 // so that we complete network info to upper layers (for example |
|
3236 // NITZ name) |
|
3237 const TDesC8& message( *iLastNetModemRegStatusInd ); |
|
3238 TIsiReceiveC isimessage( ( TIsiReceiveC ) message ); |
|
3239 QueueNetModemRegStatusMessagesL( message ); |
|
3240 } |
|
3241 } |
|
3242 |
3185 // ============================================================================= |
3243 // ============================================================================= |
3186 // CDelayTimer: Used for delaying for completion of Packet transfer state |
3244 // CDelayTimer: Used for delaying for completion of Packet transfer state |
3187 // from GPDS_RADIO_AVTIVITY_IND. |
3245 // from GPDS_RADIO_AVTIVITY_IND. |
3188 |
3246 |
3189 // ----------------------------------------------------------------------------- |
3247 // ----------------------------------------------------------------------------- |