telephonyserverplugins/simatktsy/src/csaticontsy.cpp
branchRCL_3
changeset 65 630d2f34d719
parent 0 3553901f7fa8
child 66 07a122eea281
equal deleted inserted replaced
61:17af172ffa5f 65:630d2f34d719
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    18 // INCLUDES
    18 // INCLUDES
    19 //
    19 //
    20 
    20 
    21 
    21 
    22 
    22 
       
    23 
       
    24 #include "OstTraceDefinitions.h"
       
    25 #ifdef OST_TRACE_COMPILER_IN_USE
       
    26 #include "csaticontsyTraces.h"
       
    27 #endif
       
    28 
    23 #include <satcs.h>					// ETel Ipcs
    29 #include <satcs.h>					// ETel Ipcs
    24 #include "cmmmessagemanagerbase.h"  // Message manager class for forwarding req.
    30 #include "cmmmessagemanagerbase.h"  // Message manager class for forwarding req.
    25 //#include <TSatIconInfo.h>           // For icon color coding
    31 //#include <TSatIconInfo.h>           // For icon color coding
    26 #include "TfLogger.h"              // For TFLOGSTRING
       
    27 
    32 
    28 #include "CSatDataPackage.h"        // Parameter packing 
    33 #include "CSatDataPackage.h"        // Parameter packing 
    29 #include "CSatIconTsy.h"            // Class header
    34 #include "CSatIconTsy.h"            // Class header
    30 #include "CSatTsyReqHandleStore.h"
    35 #include "CSatTsyReqHandleStore.h"
    31 #include "msattsy_ipcdefs.h"		// Sat Tsy specific request types
    36 #include "msattsy_ipcdefs.h"		// Sat Tsy specific request types
    41 CSatIconTsy* CSatIconTsy::NewL
    46 CSatIconTsy* CSatIconTsy::NewL
    42         (    
    47         (    
    43         CSatTsy* aSatTsy 
    48         CSatTsy* aSatTsy 
    44         )
    49         )
    45     {
    50     {
    46     TFLOGSTRING("CSAT: CSatIconTsy::NewL");
    51     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_NEWL_1, "CSAT: CSatIconTsy::NewL");
    47     CSatIconTsy* const satIconTsy = new ( ELeave ) CSatIconTsy();
    52     CSatIconTsy* const satIconTsy = new ( ELeave ) CSatIconTsy();
    48     CleanupStack::PushL( satIconTsy );
    53     CleanupStack::PushL( satIconTsy );
    49     satIconTsy->iSatTsy = aSatTsy;
    54     satIconTsy->iSatTsy = aSatTsy;
    50     satIconTsy->ConstructL();
    55     satIconTsy->ConstructL();
    51     CleanupStack::Pop( satIconTsy );
    56     CleanupStack::Pop( satIconTsy );
    52     TFLOGSTRING("CSAT: CSatIconTsy::NewL, end of method");
    57     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_NEWL_2, "CSAT: CSatIconTsy::NewL, end of method");
    53     return satIconTsy;
    58     return satIconTsy;
    54     }
    59     }
    55 
    60 
    56 
    61 
    57 // -----------------------------------------------------------------------------
    62 // -----------------------------------------------------------------------------
    62 CSatIconTsy::~CSatIconTsy
    67 CSatIconTsy::~CSatIconTsy
    63         (    
    68         (    
    64         void   
    69         void   
    65         )
    70         )
    66     {
    71     {
    67     TFLOGSTRING("CSAT: CSatIconTsy::~CSatIconTsy");
    72     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_DTOR_1, "CSAT: CSatIconTsy::~CSatIconTsy");
    68     // Unregister.
    73     // Unregister.
    69     iSatTsy->MessageManager()->RegisterTsyObject(
    74     iSatTsy->MessageManager()->RegisterTsyObject(
    70 		CMmMessageManagerBase::ESatIconTsyObjType, NULL );
    75 		CMmMessageManagerBase::ESatIconTsyObjType, NULL );
    71     }
    76     }
    72    
    77    
    78 void CSatIconTsy::ConstructL
    83 void CSatIconTsy::ConstructL
    79         (    
    84         (    
    80         void
    85         void
    81         )
    86         )
    82     {
    87     {
    83     TFLOGSTRING("CSAT: CSatIconTsy::ConstructL\n" );
    88     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_CONSTRUCTL_1, "CSAT: CSatIconTsy::ConstructL\n" );
    84     iIconReqTypeOngoing = ERequestTypeUnknown;
    89     iIconReqTypeOngoing = ERequestTypeUnknown;
    85     // Register.
    90     // Register.
    86     iSatTsy->MessageManager()->RegisterTsyObject(
    91     iSatTsy->MessageManager()->RegisterTsyObject(
    87 		CMmMessageManagerBase::ESatIconTsyObjType, this );
    92 		CMmMessageManagerBase::ESatIconTsyObjType, this );
    88 		
    93 		
   115         const TInt aIpc,                   // IPC number of request
   120         const TInt aIpc,                   // IPC number of request
   116         const TDataPackage& aPackage       // Contains parameters for request
   121         const TDataPackage& aPackage       // Contains parameters for request
   117         )
   122         )
   118     {
   123     {
   119 
   124 
   120     TFLOGSTRING3("CSAT: CSatIconTsy::DoExtFuncL.\n  \t\t\t IPC:%d\n  \
   125     OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_DOEXTFUNCL_1, "CSAT: CSatIconTsy::DoExtFuncL.\n  \t\t\t IPC:%d\n  \t\t\t Handle:%d", aIpc, aTsyReqHandle);
   121         \t\t\t Handle:%d", aIpc, aTsyReqHandle);
       
   122 
   126 
   123 	TInt ret( KErrNone );
   127 	TInt ret( KErrNone );
   124 
   128 
   125 	TAny* dataPtr = aPackage.Ptr1();
   129 	TAny* dataPtr = aPackage.Ptr1();
   126 	TAny* dataPtr2 = aPackage.Ptr2();
   130 	TAny* dataPtr2 = aPackage.Ptr2();
   147                 aPackage.Des2n() );
   151                 aPackage.Des2n() );
   148             break;
   152             break;
   149             }
   153             }
   150         default:
   154         default:
   151             {
   155             {
   152             TFLOGSTRING2("CSAT: CSatIconTsy::DoExtFuncL unsupported IPC %d",
   156             OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_DOEXTFUNCL_2, "CSAT: CSatIconTsy::DoExtFuncL unsupported IPC %d",aIpc);
   153                  aIpc);
       
   154             break;
   157             break;
   155             }
   158             }
   156         }
   159         }
   157 
   160 
   158     return ret;
   161     return ret;
   168         (
   171         (
   169         CSatDataPackage* aDataPackage,  
   172         CSatDataPackage* aDataPackage,  
   170 		TInt aResult                   
   173 		TInt aResult                   
   171         )
   174         )
   172     {
   175     {
   173     TFLOGSTRING("CSAT: CSatIconTsy::CompleteGetIcon");
   176     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETICON_1, "CSAT: CSatIconTsy::CompleteGetIcon");
   174     TPtrC8* icon = NULL;
   177     TPtrC8* icon = NULL;
   175     TInt iconLength = 0; 
   178     TInt iconLength = 0; 
   176 
   179 
   177 	// Unpack parameters 
   180 	// Unpack parameters 
   178     aDataPackage->UnPackData( &icon );
   181     aDataPackage->UnPackData( &icon );
   185     // In case the request was ongoing, continue..
   188     // In case the request was ongoing, continue..
   186     if ( CSatTsy::ESatReqHandleUnknown != reqHandle )
   189     if ( CSatTsy::ESatReqHandleUnknown != reqHandle )
   187         {
   190         {
   188         if ( KErrNone == aResult && iconLength )
   191         if ( KErrNone == aResult && iconLength )
   189             {
   192             {
   190             TFLOGSTRING2("CSAT: CSatIconTsy::CompleteGetIcon,\
   193             OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETICON_2, "CSAT: CSatIconTsy::CompleteGetIcon, Icon data length: %d", iconLength);
   191                 Icon data length: %d", iconLength);
       
   192             // Check the size...
   194             // Check the size...
   193             if ( iIconData->MaxLength() >= iconLength )
   195             if ( iIconData->MaxLength() >= iconLength )
   194                 {      
   196                 {      
   195                 iIconData->Copy( icon->Ptr(), iconLength );
   197                 iIconData->Copy( icon->Ptr(), iconLength );
   196                 TFLOGSTRING2("CSAT: CSatIconTsy::CompleteGetIcon,\
   198                 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETICON_3, "CSAT: CSatIconTsy::CompleteGetIcon, iIconData length: %d", iIconData->Length() );
   197                     iIconData length: %d", iIconData->Length() );             
       
   198                 iRecordData.Copy( *iIconData );  
   199                 iRecordData.Copy( *iIconData );  
   199                 }
   200                 }
   200             else  // Data is too big for client's buffer
   201             else  // Data is too big for client's buffer
   201                 {
   202                 {
   202                 TFLOGSTRING("CSAT: CSatIconTsy::CompleteGetIcon,\
   203                 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETICON_4, "CSAT: CSatIconTsy::CompleteGetIcon, Icon data length exceeded");
   203                     Icon data length exceeded");
       
   204                 aResult = KErrOverflow;
   204                 aResult = KErrOverflow;
   205                 iIconData->Zero();
   205                 iIconData->Zero();
   206                 }
   206                 }
   207             }
   207             }
   208         else
   208         else
   209             {
   209             {
   210             TFLOGSTRING("CSAT: CSatIconTsy::CompleteGetIcon,\
   210             OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETICON_5, "CSAT: CSatIconTsy::CompleteGetIcon, Error occured in LSAT, or Icon length is 0");
   211                 Error occured in LSAT, or Icon length is 0");
       
   212             // Reset the length
   211             // Reset the length
   213             iIconData->Zero();
   212             iIconData->Zero();
   214             }
   213             }
   215 
   214 
   216         iIconData = NULL;       
   215         iIconData = NULL;       
   227         (
   226         (
   228         CSatDataPackage* aDataPackage, 
   227         CSatDataPackage* aDataPackage, 
   229 		TInt aResult                   
   228 		TInt aResult                   
   230         )
   229         )
   231     {
   230     {
   232     TFLOGSTRING("CSAT: CSatIconTsy::CompleteGetImageInstance");
   231     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETIMAGEINSTANCE_1, "CSAT: CSatIconTsy::CompleteGetImageInstance");
   233     TPtrC8* icon = NULL;
   232     TPtrC8* icon = NULL;
   234     TDes8* info;
   233     TDes8* info;
   235 
   234 
   236 	// Unpack parameters 
   235 	// Unpack parameters 
   237     aDataPackage->UnPackData( &icon, &info );
   236     aDataPackage->UnPackData( &icon, &info );
   248         if ( KErrNone == aResult && iconLength > 0 )
   247         if ( KErrNone == aResult && iconLength > 0 )
   249             {
   248             {
   250             // Check the size....
   249             // Check the size....
   251             if ( iIconData->MaxLength() >= iconLength )
   250             if ( iIconData->MaxLength() >= iconLength )
   252                 {
   251                 {
   253                 TFLOGSTRING2("CSAT: CSatIconTsy::CompleteGetImageInstance,\
   252                 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETIMAGEINSTANCE_2, "CSAT: CSatIconTsy::CompleteGetImageInstance, Icon length: %d", iconLength);
   254                     Icon length: %d", iconLength);
       
   255                 // Icon body
   253                 // Icon body
   256                 if( info->Length() == KIconInfoLength )
   254                 if( info->Length() == KIconInfoLength )
   257                     {
   255                     {
   258                     TInt colorCoding = iRecordData[ KImageCodingSchemeByteNr + 
   256                     TInt colorCoding = iRecordData[ KImageCodingSchemeByteNr + 
   259                         ( iImageInstanceNoInRecord - 1 ) * 
   257                         ( iImageInstanceNoInRecord - 1 ) * 
   260                         KImageInstanceFileLength ];
   258                         KImageInstanceFileLength ];
   261                     // There is difference in the header length
   259                     // There is difference in the header length
   262                     // between the color and b&w icons
   260                     // between the color and b&w icons
   263                     if ( RSat::KBasic == colorCoding )
   261                     if ( RSat::KBasic == colorCoding )
   264                         {
   262                         {
   265                         TFLOGSTRING("CSAT: CSatIconTsy::\
   263                         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETIMAGEINSTANCE_3, "CSAT: CSatIconTsy::CompleteGetImageInstance,B&W");
   266                             CompleteGetImageInstance,B&W");
       
   267                         iIconData->Copy( ( *info ).Mid( 0, 2) );
   264                         iIconData->Copy( ( *info ).Mid( 0, 2) );
   268                         }
   265                         }
   269                     else
   266                     else
   270                         {
   267                         {
   271                         iIconData->Copy( *info );
   268                         iIconData->Copy( *info );
   279                 	iIconData->Copy( *icon );
   276                 	iIconData->Copy( *icon );
   280                     }               
   277                     }               
   281                 }
   278                 }
   282             else // Data is too big for client's buffer
   279             else // Data is too big for client's buffer
   283                 {
   280                 {
   284                 TFLOGSTRING("CSAT: CSatIconTsy::CompleteGetImageInstance,\
   281                 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETIMAGEINSTANCE_4, "CSAT: CSatIconTsy::CompleteGetImageInstance, Icon length exceeded");
   285                     Icon length exceeded");
       
   286                 aResult = KErrOverflow;
   282                 aResult = KErrOverflow;
   287                 iIconData->Zero();
   283                 iIconData->Zero();
   288                 }
   284                 }
   289             }
   285             }
   290         else
   286         else
   291             {
   287             {
   292             TFLOGSTRING("CSAT: CSatIconTsy::CompleteGetImageInstance,\
   288             OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETIMAGEINSTANCE_5, "CSAT: CSatIconTsy::CompleteGetImageInstance, Error occured in LSAT or Icon length is 0");
   293                 Error occured in LSAT or Icon length is 0");
       
   294             // Reset the length
   289             // Reset the length
   295             iIconData->Zero();
   290             iIconData->Zero();
   296             }
   291             }
   297 
   292 
   298         iIconData = NULL;
   293         iIconData = NULL;
   311         (
   306         (
   312         CSatDataPackage* aDataPackage, 
   307         CSatDataPackage* aDataPackage, 
   313 		TInt aResult                   
   308 		TInt aResult                   
   314         )
   309         )
   315     {
   310     {
   316     TFLOGSTRING("CSAT: CSatIconTsy::CompleteGetClut");
   311     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETCLUT_1, "CSAT: CSatIconTsy::CompleteGetClut");
   317     TPtrC8* clut = NULL;
   312     TPtrC8* clut = NULL;
   318 
   313 
   319 	// Unpack parameters 
   314 	// Unpack parameters 
   320     aDataPackage->UnPackData( &clut );
   315     aDataPackage->UnPackData( &clut );
   321 
   316 
   333                 {
   328                 {
   334                 iIconData->Copy( *clut );                
   329                 iIconData->Copy( *clut );                
   335                 }
   330                 }
   336             else // Data is too big for client's buffer
   331             else // Data is too big for client's buffer
   337                 {
   332                 {
   338                 TFLOGSTRING("CSAT: CSatIconTsy::CompleteGetClut,\
   333                 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETCLUT_2, "CSAT: CSatIconTsy::CompleteGetClut, Clut length exceeded");
   339                     Clut length exceeded");
       
   340                 aResult = KErrOverflow;
   334                 aResult = KErrOverflow;
   341                 iIconData->Zero();
   335                 iIconData->Zero();
   342                 }
   336                 }
   343             }
   337             }
   344         else
   338         else
   345             {
   339             {
   346             TFLOGSTRING("CSAT: CSatIconTsy::CompleteGetClut,\
   340             OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_COMPLETEGETCLUT_3, "CSAT: CSatIconTsy::CompleteGetClut, Error occured in LSAT or Icon length is 0");
   347                 Error occured in LSAT or Icon length is 0");
       
   348             // Reset the length
   341             // Reset the length
   349             iIconData->Zero();
   342             iIconData->Zero();
   350             }
   343             }
   351 
   344 
   352         iIconData = NULL;
   345         iIconData = NULL;
   367         const TTsyReqHandle aTsyReqHandle, 
   360         const TTsyReqHandle aTsyReqHandle, 
   368         TUint8* aRecordNumber,             
   361         TUint8* aRecordNumber,             
   369         RSat::TIcon* aIconEf              
   362         RSat::TIcon* aIconEf              
   370         )   
   363         )   
   371     {
   364     {
   372     TFLOGSTRING("CSAT: CSatIconTsy::GetIconL");
   365     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_GETICONL_1, "CSAT: CSatIconTsy::GetIconL");
   373 	TInt ret = KErrNone;
   366 	TInt ret = KErrNone;
   374 	
   367 	
   375 	iImageInstanceNoInRecord = 0;
   368 	iImageInstanceNoInRecord = 0;
   376 	
   369 	
   377 	// Get possibly existing request handle
   370 	// Get possibly existing request handle
   379 		TsyReqHandle( CSatTsy::ESatGetIconReqType );
   372 		TsyReqHandle( CSatTsy::ESatGetIconReqType );
   380 
   373 
   381     // In case the request was ongoing, complete right away..
   374     // In case the request was ongoing, complete right away..
   382     if ( CSatTsy::ESatReqHandleUnknown != reqHandle )
   375     if ( CSatTsy::ESatReqHandleUnknown != reqHandle )
   383     	{
   376     	{
   384         TFLOGSTRING("CSAT: CSatIcon::GetIconL, KErrServerBusy");
   377         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_GETICONL_2, "CSAT: CSatIcon::GetIconL, KErrServerBusy");
   385     	iSatTsy->ReqCompleted( aTsyReqHandle, KErrServerBusy);
   378     	iSatTsy->ReqCompleted( aTsyReqHandle, KErrServerBusy);
   386         }
   379         }
   387     else
   380     else
   388         {
   381         {
   389 	    // Save the request handle
   382 	    // Save the request handle
   446         const TTsyReqHandle aTsyReqHandle, 
   439         const TTsyReqHandle aTsyReqHandle, 
   447         TDesC8* aInstanceInfo,            
   440         TDesC8* aInstanceInfo,            
   448         TDes8* aInstance                 
   441         TDes8* aInstance                 
   449         )
   442         )
   450     {
   443     {
   451     TFLOGSTRING("CSAT: CSatIconTsy::GetImageInstanceL");
   444     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_GETIMAGEINSTANCEL_1, "CSAT: CSatIconTsy::GetImageInstanceL");
   452     TInt ret = KErrNone;
   445     TInt ret = KErrNone;
   453 	
   446 	
   454     // Get possibly existing request handle
   447     // Get possibly existing request handle
   455     TTsyReqHandle reqHandle = iSatTsy->GetSatReqHandleStore()->
   448     TTsyReqHandle reqHandle = iSatTsy->GetSatReqHandleStore()->
   456 		TsyReqHandle( CSatTsy::ESatGetImageInstanceReqType );
   449 		TsyReqHandle( CSatTsy::ESatGetImageInstanceReqType );
   457 
   450 
   458     // In case the request was ongoing, complete right away..
   451     // In case the request was ongoing, complete right away..
   459     if ( CSatTsy::ESatReqHandleUnknown != reqHandle )
   452     if ( CSatTsy::ESatReqHandleUnknown != reqHandle )
   460     	{
   453     	{
   461         TFLOGSTRING("CSAT: CSatIcon::GetImageInstanceL, KErrServerBusy");
   454         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_GETIMAGEINSTANCEL_2, "CSAT: CSatIcon::GetImageInstanceL, KErrServerBusy");
   462     	iSatTsy->ReqCompleted( aTsyReqHandle, KErrServerBusy);
   455     	iSatTsy->ReqCompleted( aTsyReqHandle, KErrServerBusy);
   463         }
   456         }
   464     else
   457     else
   465         {
   458         {
   466         TInt iconNumber = iRecordData[0];
   459         TInt iconNumber = iRecordData[0];
   532         const TTsyReqHandle aTsyReqHandle,                                            
   525         const TTsyReqHandle aTsyReqHandle,                                            
   533         RSat::TInstanceNumberAndOffset* /*aNumberAndOffset*/,
   526         RSat::TInstanceNumberAndOffset* /*aNumberAndOffset*/,
   534         TDes8* aClut                        
   527         TDes8* aClut                        
   535         )   
   528         )   
   536     {
   529     {
   537     TFLOGSTRING("CSAT: CSatIconTsy::GetClutL");
   530     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_GETCLUTL_1, "CSAT: CSatIconTsy::GetClutL");
   538     TInt ret = KErrNone;
   531     TInt ret = KErrNone;
   539 	
   532 	
   540     // Get possibly existing request handle
   533     // Get possibly existing request handle
   541     TTsyReqHandle reqHandle = iSatTsy->GetSatReqHandleStore()->
   534     TTsyReqHandle reqHandle = iSatTsy->GetSatReqHandleStore()->
   542 		TsyReqHandle( CSatTsy::ESatGetImageInstanceReqType );
   535 		TsyReqHandle( CSatTsy::ESatGetImageInstanceReqType );
   543 
   536 
   544     // In case the request was ongoing, complete right away..
   537     // In case the request was ongoing, complete right away..
   545     if ( CSatTsy::ESatReqHandleUnknown != reqHandle )
   538     if ( CSatTsy::ESatReqHandleUnknown != reqHandle )
   546     	{
   539     	{
   547         TFLOGSTRING("CSAT: CSatIcon::GetClutL : KErrServerBusy");
   540         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSATICONTSY_GETCLUTL_2, "CSAT: CSatIcon::GetClutL : KErrServerBusy");
   548     	iSatTsy->ReqCompleted( aTsyReqHandle, KErrServerBusy);
   541     	iSatTsy->ReqCompleted( aTsyReqHandle, KErrServerBusy);
   549         }
   542         }
   550     else
   543     else
   551     	{
   544     	{
   552 	    // Save the request handle
   545 	    // Save the request handle