uiservicetab/vimpstutils/src/cvimpstengineaimagehandler.cpp
branchRCL_3
changeset 14 9fdee5e1da30
parent 0 5e5d6b214f4f
equal deleted inserted replaced
13:796276a1bdcc 14:9fdee5e1da30
    16 */
    16 */
    17 
    17 
    18 // INCLUDE FILES
    18 // INCLUDE FILES
    19 #include "cvimpstengineimagehandler.h"
    19 #include "cvimpstengineimagehandler.h"
    20 
    20 
    21 #include "vimpstdebugprint.h"
    21 #include "uiservicetabtracer.h"
    22 #include "tvimpstenums.h"
    22 #include "tvimpstenums.h"
    23 
    23 
    24 
    24 
    25 #include "vimpstallerrors.h"
    25 #include "vimpstallerrors.h"
    26 #include "tvimpstconsts.h"
    26 #include "tvimpstconsts.h"
    35 // CVIMPSTEngineImageHandler::NewL
    35 // CVIMPSTEngineImageHandler::NewL
    36 // Two-phased constructor.
    36 // Two-phased constructor.
    37 // ---------------------------------------------------------
    37 // ---------------------------------------------------------
    38 EXPORT_C CVIMPSTEngineImageHandler* CVIMPSTEngineImageHandler::NewL()
    38 EXPORT_C CVIMPSTEngineImageHandler* CVIMPSTEngineImageHandler::NewL()
    39     {
    39     {
    40     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::NewL");
    40 	TRACER_AUTO;
    41     CVIMPSTEngineImageHandler* self = 
    41     CVIMPSTEngineImageHandler* self = 
    42     CVIMPSTEngineImageHandler::NewLC( );
    42     CVIMPSTEngineImageHandler::NewLC( );
    43     CleanupStack::Pop( self );
    43     CleanupStack::Pop( self );
    44     CHAT_DP_FUNC_DONE("CVIMPSTEngineImageHandler::NewL");
    44     
    45     return self;
    45     return self;
    46     }
    46     }
    47 
    47 
    48 // ---------------------------------------------------------
    48 // ---------------------------------------------------------
    49 // CVIMPSTEngineImageHandler::NewLC
    49 // CVIMPSTEngineImageHandler::NewLC
    50 // Two-phased constructor.
    50 // Two-phased constructor.
    51 // ---------------------------------------------------------
    51 // ---------------------------------------------------------
    52 EXPORT_C CVIMPSTEngineImageHandler* CVIMPSTEngineImageHandler::NewLC( )
    52 EXPORT_C CVIMPSTEngineImageHandler* CVIMPSTEngineImageHandler::NewLC( )
    53     {
    53     {
    54     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::NewLC");
    54 	TRACER_AUTO;
    55     CVIMPSTEngineImageHandler* self = new (ELeave) 
    55     CVIMPSTEngineImageHandler* self = new (ELeave) 
    56     CVIMPSTEngineImageHandler();
    56     CVIMPSTEngineImageHandler();
    57     CleanupStack::PushL( self );
    57     CleanupStack::PushL( self );
    58     self->ConstructL();
    58     self->ConstructL();
    59     CHAT_DP_FUNC_DONE("CVIMPSTEngineImageHandler::NewLC");
    59     
    60     return self;
    60     return self;
    61     }
    61     }
    62 
    62 
    63 
    63 
    64 // ---------------------------------------------------------
    64 // ---------------------------------------------------------
    71 // ---------------------------------------------------------
    71 // ---------------------------------------------------------
    72 // CVIMPSTEngineImageHandler::ConstructL
    72 // CVIMPSTEngineImageHandler::ConstructL
    73 // ---------------------------------------------------------
    73 // ---------------------------------------------------------
    74 void CVIMPSTEngineImageHandler::ConstructL()
    74 void CVIMPSTEngineImageHandler::ConstructL()
    75     {
    75     {
    76     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::ConstructL start");
    76 	TRACER_AUTO;
    77     iProcessor = CVimpstImageProcessor::NewL(this);
    77     iProcessor = CVimpstImageProcessor::NewL(this);
    78     iFormat.iSettings.iQualityFactor = KQUALITYFACTOR;
    78     iFormat.iSettings.iQualityFactor = KQUALITYFACTOR;
    79     iFormat.iSettings.iSampleScheme = TMdaJpgSettings::TColorSampling(TMdaJpgSettings::EColor420);
    79     iFormat.iSettings.iSampleScheme = TMdaJpgSettings::TColorSampling(TMdaJpgSettings::EColor420);
    80     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::ConstructL end");
    80     
    81     }
    81     }
    82 // ---------------------------------------------------------
    82 // ---------------------------------------------------------
    83 // CVIMPSTEngineImageHandler::~CVIMPSTEngineImageHandler
    83 // CVIMPSTEngineImageHandler::~CVIMPSTEngineImageHandler
    84 // ---------------------------------------------------------
    84 // ---------------------------------------------------------
    85 CVIMPSTEngineImageHandler::~CVIMPSTEngineImageHandler()
    85 CVIMPSTEngineImageHandler::~CVIMPSTEngineImageHandler()
    86     {
    86     {
    87     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::~CVIMPSTEngineAvatarExtention");
    87 	TRACER_AUTO;
    88     delete iProcessor;
    88     delete iProcessor;
    89     if(iToDesc)
    89     if(iToDesc)
    90         {
    90         {
    91         delete iToDesc;
    91         delete iToDesc;
    92         }
    92         }
    93     CHAT_DP_FUNC_DONE("CVIMPSTEngineImageHandler::~CVIMPSTEngineAvatarExtention");
    93    
    94     }
    94     }
    95 
    95 
    96 // ------------------------------------------------------------------------
    96 // ------------------------------------------------------------------------
    97 // CVIMPSTEngineImageHandler::HandleProcessingCompleteL
    97 // CVIMPSTEngineImageHandler::HandleProcessingCompleteL
    98 // 
    98 // 
    99 // ------------------------------------------------------------------------
    99 // ------------------------------------------------------------------------
   100 void CVIMPSTEngineImageHandler::HandleProcessingCompleteL( TInt aStatus )  
   100 void CVIMPSTEngineImageHandler::HandleProcessingCompleteL( TInt aStatus )  
   101     {
   101     {
   102 	CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::HandleProcessingCompleteL start");
   102 	TRACER_AUTO;
   103     if (!aStatus)
   103     if (!aStatus)
   104         {
   104         {
   105         iContent = iProcessor->GetContentData();
   105         iContent = iProcessor->GetContentData();
   106         }
   106         }
   107 
   107 
   108     if(iWait.IsStarted() )   
   108     if(iWait.IsStarted() )   
   109         {
   109         {
   110         iWait.AsyncStop();  
   110         iWait.AsyncStop();  
   111         }
   111         }
   112     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::HandleProcessingCompleteL end");
   112     
   113     }
   113     }
   114 // ------------------------------------------------------------------------
   114 // ------------------------------------------------------------------------
   115 // CVIMPSTEngineImageHandler::ProcessImageFromFileL
   115 // CVIMPSTEngineImageHandler::ProcessImageFromFileL
   116 // 
   116 // 
   117 // ------------------------------------------------------------------------
   117 // ------------------------------------------------------------------------
   118 EXPORT_C HBufC8* CVIMPSTEngineImageHandler::ProcessImageFromFileL(const TDesC& aFilename ,
   118 EXPORT_C HBufC8* CVIMPSTEngineImageHandler::ProcessImageFromFileL(const TDesC& aFilename ,
   119         const  TDesC8& aMimetype)
   119         const  TDesC8& aMimetype)
   120     {
   120     {
   121     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::ProcessImageFromFileL start");
   121 	TRACER_AUTO;
   122     if(aFilename.Length())
   122     if(aFilename.Length())
   123         {
   123         {
   124         CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::ProcessFromFileL called");
   124         TRACE(" called");
   125         iProcessor->ProcessFromFileL( aFilename , aMimetype);
   125         iProcessor->ProcessFromFileL( aFilename , aMimetype);
   126         if( ! iWait.IsStarted() )
   126         if( ! iWait.IsStarted() )
   127             {
   127             {
   128             // codescanner warning can be ignored, we are not starting an active object but 
   128             // codescanner warning can be ignored, we are not starting an active object but 
   129             // CActiveSchedulerWait.
   129             // CActiveSchedulerWait.
   130             iWait.Start();
   130             iWait.Start();
   131             }
   131             }
   132         }
   132         }
   133     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::ProcessImageFromFileL end");
   133     
   134     return iContent;
   134     return iContent;
   135     }
   135     }
   136 // ------------------------------------------------------------------------
   136 // ------------------------------------------------------------------------
   137 // CVIMPSTEngineImageHandler::ProcessImageFromDataL
   137 // CVIMPSTEngineImageHandler::ProcessImageFromDataL
   138 // 
   138 // 
   139 // ------------------------------------------------------------------------
   139 // ------------------------------------------------------------------------
   140 EXPORT_C HBufC8* CVIMPSTEngineImageHandler::ProcessImageFromDataL( const TDesC8& aImageData , const TDesC8& aMimeType)
   140 EXPORT_C HBufC8* CVIMPSTEngineImageHandler::ProcessImageFromDataL( const TDesC8& aImageData , const TDesC8& aMimeType)
   141     {
   141     {
   142     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::ProcessImageFromDataL start");
   142 	TRACER_AUTO;
   143     if(aImageData.Length())
   143     if(aImageData.Length())
   144         {
   144         {
   145         CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::ProcessImageFromDataL called");
   145         TRACE("ProcessImageFromDataL called");
   146         TInt err =  iProcessor->ProcessFromDataL( aImageData , aMimeType);
   146         TInt err =  iProcessor->ProcessFromDataL( aImageData , aMimeType);
   147         if(KErrNone != err)
   147         if(KErrNone != err)
   148            {
   148            {
   149            iContent = KNullDesC8().AllocL();
   149            iContent = KNullDesC8().AllocL();
   150            return iContent;
   150            return iContent;
   154             // codescanner warning can be ignored, we are not starting an active object but 
   154             // codescanner warning can be ignored, we are not starting an active object but 
   155             // CActiveSchedulerWait.
   155             // CActiveSchedulerWait.
   156             iWait.Start();
   156             iWait.Start();
   157             }
   157             }
   158         }
   158         }
   159     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::ProcessImageFromDataL end");
   159     
   160     return iContent;
   160     return iContent;
   161     }
   161     }
   162 // ------------------------------------------------------------------------
   162 // ------------------------------------------------------------------------
   163 // CVIMPSTEngineImageHandler::ProcessFromBitmapL
   163 // CVIMPSTEngineImageHandler::ProcessFromBitmapL
   164 // 
   164 // 
   165 // ------------------------------------------------------------------------
   165 // ------------------------------------------------------------------------
   166 EXPORT_C HBufC8* CVIMPSTEngineImageHandler::ProcessFromBitmapL( CFbsBitmap& aBitMap )
   166 EXPORT_C HBufC8* CVIMPSTEngineImageHandler::ProcessFromBitmapL( CFbsBitmap& aBitMap )
   167     {
   167     {
   168 
   168 
   169     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::ProcessFromBitmapL start");
   169 	TRACER_AUTO;
   170 
   170 
   171     //bitmap to desc
   171     //bitmap to desc
   172     const TSize size = aBitMap.SizeInPixels();
   172     const TSize size = aBitMap.SizeInPixels();
   173     const TInt descSize = (size.iWidth * size.iHeight * KSIZEMULTIPLE) + KOFFSETSIZE;
   173     const TInt descSize = (size.iWidth * size.iHeight * KSIZEMULTIPLE) + KOFFSETSIZE;
   174     iBuf = HBufC8::NewL(descSize);
   174     iBuf = HBufC8::NewL(descSize);
   194         // CActiveSchedulerWait.
   194         // CActiveSchedulerWait.
   195         iWait.Start();
   195         iWait.Start();
   196         }
   196         }
   197     User::LeaveIfError(iError);//CreateL is a asynch call.leave if error in creating 
   197     User::LeaveIfError(iError);//CreateL is a asynch call.leave if error in creating 
   198 
   198 
   199     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::ProcessImageFromDataL end");
   199     
   200     return iBuf;
   200     return iBuf;
   201     }
   201     }
   202 // ------------------------------------------------------------------------
   202 // ------------------------------------------------------------------------
   203 // CVIMPSTEngineImageHandler::MiuoCreateComplete
   203 // CVIMPSTEngineImageHandler::MiuoCreateComplete
   204 // 
   204 // 
   205 // ------------------------------------------------------------------------
   205 // ------------------------------------------------------------------------
   206 void CVIMPSTEngineImageHandler::MiuoCreateComplete(TInt aError)
   206 void CVIMPSTEngineImageHandler::MiuoCreateComplete(TInt aError)
   207     {
   207     {
   208     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::MiuoCreateComplete start");
   208 	TRACER_AUTO;
   209     iError = aError;
   209     iError = aError;
   210     if(iWait.IsStarted() )   
   210     if(iWait.IsStarted() )   
   211         {
   211         {
   212         iWait.AsyncStop();  
   212         iWait.AsyncStop();  
   213         }
   213         }
   214     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::MiuoCreateComplete end");
   214     
   215 
   215 
   216     }
   216     }
   217 // ------------------------------------------------------------------------
   217 // ------------------------------------------------------------------------
   218 // CVIMPSTEngineImageHandler::MiuoOpenComplete
   218 // CVIMPSTEngineImageHandler::MiuoOpenComplete
   219 // 
   219 // 
   220 // ------------------------------------------------------------------------
   220 // ------------------------------------------------------------------------
   221 void CVIMPSTEngineImageHandler::MiuoOpenComplete(TInt aError)
   221 void CVIMPSTEngineImageHandler::MiuoOpenComplete(TInt aError)
   222     {
   222     {
   223     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::MiuoOpenComplete start");
   223 	TRACER_AUTO;
   224     iError = aError;
   224     iError = aError;
   225     if(iWait.IsStarted() )   
   225     if(iWait.IsStarted() )   
   226         {
   226         {
   227         iWait.AsyncStop();  
   227         iWait.AsyncStop();  
   228         }
   228         }
   229     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::MiuoOpenComplete end");
   229     
   230 
   230 
   231     }
   231     }
   232 // ------------------------------------------------------------------------
   232 // ------------------------------------------------------------------------
   233 // CVIMPSTEngineImageHandler::MiuoConvertComplete
   233 // CVIMPSTEngineImageHandler::MiuoConvertComplete
   234 // 
   234 // 
   235 // ------------------------------------------------------------------------
   235 // ------------------------------------------------------------------------
   236 void CVIMPSTEngineImageHandler::MiuoConvertComplete(TInt aError)
   236 void CVIMPSTEngineImageHandler::MiuoConvertComplete(TInt aError)
   237     {
   237     {
   238     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::MiuoConvertComplete start");
   238 	TRACER_AUTO;
   239     iError = aError;
   239     iError = aError;
   240     if(iWait.IsStarted() )   
   240     if(iWait.IsStarted() )   
   241         {
   241         {
   242         iWait.AsyncStop();  
   242         iWait.AsyncStop();  
   243         }
   243         }
   244     CHAT_DP_FUNC_ENTER("CVIMPSTEngineImageHandler::MiuoConvertComplete end");
   244     
   245 
   245 
   246     }
   246     }
   247 // CVIMPSTEngineImageHandler::Bitmap
   247 // CVIMPSTEngineImageHandler::Bitmap
   248 // 
   248 // 
   249 // ------------------------------------------------------------------------    
   249 // ------------------------------------------------------------------------    
   250 EXPORT_C CFbsBitmap& CVIMPSTEngineImageHandler::Bitmap()
   250 EXPORT_C CFbsBitmap& CVIMPSTEngineImageHandler::Bitmap()
   251     {
   251     {
       
   252 	TRACER_AUTO;
   252     return iProcessor->Bitmap();
   253     return iProcessor->Bitmap();
   253     }    
   254     }    
   254 
   255 
   255 // end of file
   256 // end of file