imagehandlingutilities/thumbnailmanager/plugins/image/src/thumbnailimageprovider.cpp
changeset 39 1a8af2cd6858
parent 33 221be23823c5
equal deleted inserted replaced
34:1c05ae5a7e41 39:1a8af2cd6858
    23 #include "thumbnailimagedecoder.h"
    23 #include "thumbnailimagedecoder.h"
    24 #include "thumbnailimagedecoderv2.h"
    24 #include "thumbnailimagedecoderv2.h"
    25 #include "thumbnailmanageruids.hrh"
    25 #include "thumbnailmanageruids.hrh"
    26 #include "thumbnaillog.h"
    26 #include "thumbnaillog.h"
    27 #include "thumbnailmanagerconstants.h"
    27 #include "thumbnailmanagerconstants.h"
       
    28 #include "OstTraceDefinitions.h"
       
    29 #ifdef OST_TRACE_COMPILER_IN_USE
       
    30 #include "thumbnailimageproviderTraces.h"
       
    31 #endif
       
    32 
    28 
    33 
    29 #ifndef IMPLEMENTATION_PROXY_ENTRY
    34 #ifndef IMPLEMENTATION_PROXY_ENTRY
    30 typedef TAny* TProxyNewLPtr;
    35 typedef TAny* TProxyNewLPtr;
    31 #define IMPLEMENTATION_PROXY_ENTRY(aUid, aFuncPtr) \
    36 #define IMPLEMENTATION_PROXY_ENTRY(aUid, aFuncPtr) \
    32 { {aUid}, static_cast<TProxyNewLPtr>(aFuncPtr) }
    37 { {aUid}, static_cast<TProxyNewLPtr>(aFuncPtr) }
    53 // ---------------------------------------------------------------------------
    58 // ---------------------------------------------------------------------------
    54 //
    59 //
    55 CThumbnailImageProvider::CThumbnailImageProvider()
    60 CThumbnailImageProvider::CThumbnailImageProvider()
    56     {
    61     {
    57     TN_DEBUG1( "CThumbnailImageProvider::CThumbnailImageProvider()" );
    62     TN_DEBUG1( "CThumbnailImageProvider::CThumbnailImageProvider()" );
       
    63     OstTrace0( TRACE_NORMAL, CTHUMBNAILIMAGEPROVIDER_CTHUMBNAILIMAGEPROVIDER, "CThumbnailImageProvider::CThumbnailImageProvider" );
    58     }
    64     }
    59 
    65 
    60 
    66 
    61 // ---------------------------------------------------------------------------
    67 // ---------------------------------------------------------------------------
    62 // CThumbnailImageProvider::~CThumbnailImageProvider()
    68 // CThumbnailImageProvider::~CThumbnailImageProvider()
    64 // ---------------------------------------------------------------------------
    70 // ---------------------------------------------------------------------------
    65 //
    71 //
    66 CThumbnailImageProvider::~CThumbnailImageProvider()
    72 CThumbnailImageProvider::~CThumbnailImageProvider()
    67     {
    73     {
    68     TN_DEBUG1( "CThumbnailImageProvider::~CThumbnailImageProvider()" );
    74     TN_DEBUG1( "CThumbnailImageProvider::~CThumbnailImageProvider()" );
       
    75     OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILIMAGEPROVIDER_CTHUMBNAILIMAGEPROVIDER, "CThumbnailImageProvider::~CThumbnailImageProvider" );
    69     delete iImageDecoder;
    76     delete iImageDecoder;
    70     iImageDecoder = NULL;
    77     iImageDecoder = NULL;
    71     delete iImageDecoderv2;
    78     delete iImageDecoderv2;
    72     iImageDecoderv2 = NULL;
    79     iImageDecoderv2 = NULL;
    73     REComSession::DestroyedImplementation( iDtor_ID_Key );
    80     REComSession::DestroyedImplementation( iDtor_ID_Key );
    82 void CThumbnailImageProvider::GetThumbnailL( RFs& aFs, RFile64& aFile, const
    89 void CThumbnailImageProvider::GetThumbnailL( RFs& aFs, RFile64& aFile, const
    83     TDataType& aMimeType, const CThumbnailManager::TThumbnailFlags aFlags,
    90     TDataType& aMimeType, const CThumbnailManager::TThumbnailFlags aFlags,
    84     const TDisplayMode /*aDisplayMode*/, const CThumbnailManager::TThumbnailQualityPreference aQualityPreference )
    91     const TDisplayMode /*aDisplayMode*/, const CThumbnailManager::TThumbnailQualityPreference aQualityPreference )
    85     {
    92     {
    86     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() start" );
    93     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() start" );
       
    94     OstTrace0( TRACE_NORMAL, CTHUMBNAILIMAGEPROVIDER_GETTHUMBNAILL, "CThumbnailImageProvider::GetThumbnailL - start" );
    87 
    95 
    88     if ( !iImageDecoder )
    96     if ( !iImageDecoder )
    89         {
    97         {
    90         iImageDecoder = new( ELeave )CThumbnailImageDecoder( aFs );
    98         iImageDecoder = new( ELeave )CThumbnailImageDecoder( aFs );
    91         }
    99         }
   110     iImageDecoder->CreateL( aFile, *iObserver, iQualityPreference, iMimeType, iTargetSize );
   118     iImageDecoder->CreateL( aFile, *iObserver, iQualityPreference, iMimeType, iTargetSize );
   111     iOriginalSize = iImageDecoder->OriginalSize();
   119     iOriginalSize = iImageDecoder->OriginalSize();
   112     iImageDecoder->DecodeL( iDisplayMode, iFlags );
   120     iImageDecoder->DecodeL( iDisplayMode, iFlags );
   113     
   121     
   114     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() end" );
   122     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() end" );
       
   123     OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILIMAGEPROVIDER_GETTHUMBNAILL, "CThumbnailImageProvider::GetThumbnailL - end" );
   115     }
   124     }
   116 
   125 
   117 // ---------------------------------------------------------------------------
   126 // ---------------------------------------------------------------------------
   118 // CThumbnailImageProvider::GetThumbnailL()
   127 // CThumbnailImageProvider::GetThumbnailL()
   119 // Provides the thumbnail image
   128 // Provides the thumbnail image
   122 void CThumbnailImageProvider::GetThumbnailL( RFs& aFs, TDesC8* aBuffer, const
   131 void CThumbnailImageProvider::GetThumbnailL( RFs& aFs, TDesC8* aBuffer, const
   123     TDataType& aMimeType, const CThumbnailManager::TThumbnailFlags aFlags,
   132     TDataType& aMimeType, const CThumbnailManager::TThumbnailFlags aFlags,
   124     const TDisplayMode /*aDisplayMode*/, const CThumbnailManager::TThumbnailQualityPreference aQualityPreference )
   133     const TDisplayMode /*aDisplayMode*/, const CThumbnailManager::TThumbnailQualityPreference aQualityPreference )
   125     {
   134     {
   126     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() start" );
   135     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() start" );
       
   136     OstTrace0( TRACE_NORMAL, DUP2_CTHUMBNAILIMAGEPROVIDER_GETTHUMBNAILL, "CThumbnailImageProvider::GetThumbnailL - start" );
   127     
   137     
   128     if ( !iImageDecoder )
   138     if ( !iImageDecoder )
   129         {
   139         {
   130         iImageDecoder = new( ELeave )CThumbnailImageDecoder( aFs );
   140         iImageDecoder = new( ELeave )CThumbnailImageDecoder( aFs );
   131         }
   141         }
   150     iImageDecoder->CreateL( aBuffer, *iObserver, iQualityPreference, iMimeType, iTargetSize );
   160     iImageDecoder->CreateL( aBuffer, *iObserver, iQualityPreference, iMimeType, iTargetSize );
   151     iOriginalSize = iImageDecoder->OriginalSize();
   161     iOriginalSize = iImageDecoder->OriginalSize();
   152     iImageDecoder->DecodeL( iDisplayMode, iFlags );
   162     iImageDecoder->DecodeL( iDisplayMode, iFlags );
   153     
   163     
   154     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() end" );
   164     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() end" );
       
   165     OstTrace0( TRACE_NORMAL, DUP3_CTHUMBNAILIMAGEPROVIDER_GETTHUMBNAILL, "CThumbnailImageProvider::GetThumbnailL - end" );
   155     }
   166     }
   156 
   167 
   157 // ---------------------------------------------------------------------------
   168 // ---------------------------------------------------------------------------
   158 // CThumbnailImageProvider::GetThumbnailL()
   169 // CThumbnailImageProvider::GetThumbnailL()
   159 // Provides the thumbnail image
   170 // Provides the thumbnail image
   160 // ---------------------------------------------------------------------------
   171 // ---------------------------------------------------------------------------
   161 //
   172 //
   162 void CThumbnailImageProvider::GetThumbnailL( RFs& aFs, TDesC8& aBuffer)
   173 void CThumbnailImageProvider::GetThumbnailL( RFs& aFs, TDesC8& aBuffer)
   163     {
   174     {
   164     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() start" );
   175     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() start" );
       
   176     OstTrace0( TRACE_NORMAL, DUP4_CTHUMBNAILIMAGEPROVIDER_GETTHUMBNAILL, "CThumbnailImageProvider::GetThumbnailL - start" );
   165 
   177 
   166     if ( !iImageDecoderv2 )
   178     if ( !iImageDecoderv2 )
   167         {     
   179         {     
   168         iImageDecoderv2 = new( ELeave )CThumbnailImageDecoderv2( aFs);
   180         iImageDecoderv2 = new( ELeave )CThumbnailImageDecoderv2( aFs);
   169         }
   181         }
   171     iImageDecoderv2->CreateL(aBuffer, *iObserver);
   183     iImageDecoderv2->CreateL(aBuffer, *iObserver);
   172        
   184        
   173     iImageDecoderv2->DecodeL();
   185     iImageDecoderv2->DecodeL();
   174     
   186     
   175     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() end" );
   187     TN_DEBUG1( "CThumbnailImageProvider::GetThumbnailL() end" );
       
   188     OstTrace0( TRACE_NORMAL, DUP5_CTHUMBNAILIMAGEPROVIDER_GETTHUMBNAILL, "CThumbnailImageProvider::GetThumbnailL - end" );
   176     }
   189     }
   177 
   190 
   178 // ---------------------------------------------------------------------------
   191 // ---------------------------------------------------------------------------
   179 // Cancel thumbnail request
   192 // Cancel thumbnail request
   180 // ---------------------------------------------------------------------------
   193 // ---------------------------------------------------------------------------