imagehandlingutilities/thumbnailmanager/thumbnailserver/src/thumbnailfetchedchecker.cpp
changeset 43 473df7bf149f
parent 36 c5df59b4ae2d
equal deleted inserted replaced
36:c5df59b4ae2d 43:473df7bf149f
    15  *
    15  *
    16 */
    16 */
    17 
    17 
    18 #include "thumbnailfetchedchecker.h"
    18 #include "thumbnailfetchedchecker.h"
    19 #include "thumbnaillog.h"
    19 #include "thumbnaillog.h"
       
    20 #include "OstTraceDefinitions.h"
       
    21 #ifdef OST_TRACE_COMPILER_IN_USE
       
    22 #include "thumbnailfetchedcheckerTraces.h"
       
    23 #endif
       
    24 
    20 
    25 
    21 const int KMaxStoredEntries = 100;
    26 const int KMaxStoredEntries = 100;
    22 
    27 
    23 // -----------------------------------------------------------------------------
    28 // -----------------------------------------------------------------------------
    24 // CThumbnailFetchedChecker::CThumbnailFetchedChecker()
    29 // CThumbnailFetchedChecker::CThumbnailFetchedChecker()
    51 // -----------------------------------------------------------------------------
    56 // -----------------------------------------------------------------------------
    52 //
    57 //
    53 TInt CThumbnailFetchedChecker::LastFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize )
    58 TInt CThumbnailFetchedChecker::LastFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize )
    54     {
    59     {
    55     TN_DEBUG3( "CThumbnailFetchedChecker::LastFetchResult(aUri=%S aThumbnailSize=%d)", &aUri, aThumbnailSize);
    60     TN_DEBUG3( "CThumbnailFetchedChecker::LastFetchResult(aUri=%S aThumbnailSize=%d)", &aUri, aThumbnailSize);
       
    61     OstTraceExt2( TRACE_NORMAL, CTHUMBNAILFETCHEDCHECKER_LASTFETCHRESULT, "CThumbnailFetchedChecker::LastFetchResult;aUri=%S;aThumbnailSize=%hu", aUri, aThumbnailSize );
    56 
    62 
    57     CEntry* entry = NULL;
    63     CEntry* entry = NULL;
    58     TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, KErrNone ) );
    64     TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, KErrNone ) );
    59     if ( !err && entry )
    65     if ( !err && entry )
    60         {
    66         {
    61         TInt ret = iNotFetched.FindInOrder( entry, CEntry::FindCB );
    67         TInt ret = iNotFetched.FindInOrder( entry, CEntry::FindCB );
    62         if ( ret != KErrNotFound )
    68         if ( ret != KErrNotFound )
    63             {
    69             {
    64             TN_DEBUG1( "CThumbnailFetchedChecker::LastFetchResult() -> error found");
    70             TN_DEBUG1( "CThumbnailFetchedChecker::LastFetchResult() -> error found");
       
    71             OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILFETCHEDCHECKER_LASTFETCHRESULT, "CThumbnailFetchedChecker::LastFetchResult  - error found" );
    65             delete entry;
    72             delete entry;
    66             entry = NULL;
    73             entry = NULL;
    67             return iNotFetched[ ret ]->iError;
    74             return iNotFetched[ ret ]->iError;
    68             }
    75             }
    69         }
    76         }
    79 // -----------------------------------------------------------------------------
    86 // -----------------------------------------------------------------------------
    80 //
    87 //
    81 void CThumbnailFetchedChecker::SetFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError )
    88 void CThumbnailFetchedChecker::SetFetchResult( const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError )
    82     {
    89     {
    83     TN_DEBUG4( "CThumbnailFetchedChecker::SetFetchResult(aUri=%S aThumbnailSize=%d aError=%d)", &aUri, aThumbnailSize, aError);
    90     TN_DEBUG4( "CThumbnailFetchedChecker::SetFetchResult(aUri=%S aThumbnailSize=%d aError=%d)", &aUri, aThumbnailSize, aError);
       
    91     OstTraceExt3( TRACE_NORMAL, CTHUMBNAILFETCHEDCHECKER_SETFETCHRESULT, "CThumbnailFetchedChecker::SetFetchResult;aUri=%S;aThumbnailSize=%u;aError=%d", aUri, aThumbnailSize, aError );
    84     if ( aError == KErrNone )
    92     if ( aError == KErrNone )
    85         {
    93         {
    86         // Remove successful results from store
    94         // Remove successful results from store
    87         CEntry* entry = NULL;
    95         CEntry* entry = NULL;
    88         TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, aError ) );
    96         TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, aError ) );
    90             {
    98             {
    91             TInt i = iNotFetched.FindInOrder( entry, CEntry::FindCB );
    99             TInt i = iNotFetched.FindInOrder( entry, CEntry::FindCB );
    92             if ( i >= 0 )
   100             if ( i >= 0 )
    93                 {
   101                 {
    94                 TN_DEBUG2( "CThumbnailFetchedChecker::LastFetchResult() -> Remove successful results from store %d",  iNotFetched.Count() );
   102                 TN_DEBUG2( "CThumbnailFetchedChecker::LastFetchResult() -> Remove successful results from store %d",  iNotFetched.Count() );
       
   103                 OstTrace1( TRACE_NORMAL, DUP1_CTHUMBNAILFETCHEDCHECKER_SETFETCHRESULT, "CThumbnailFetchedChecker::SetFetchResult;iNotFetched.Count()=%d", iNotFetched.Count() );
    95                 delete iNotFetched[ i ];
   104                 delete iNotFetched[ i ];
    96                 iNotFetched[ i ] = NULL;
   105                 iNotFetched[ i ] = NULL;
    97                 iNotFetched.Remove( i );
   106                 iNotFetched.Remove( i );
    98                 }
   107                 }
    99             }
   108             }
   104         {
   113         {
   105 
   114 
   106         // Add or update
   115         // Add or update
   107         CEntry* entry = NULL;
   116         CEntry* entry = NULL;
   108         TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, aError ) );
   117         TRAPD( err, entry = CEntry::NewL( aUri, aThumbnailSize, aError ) );
       
   118         OstTraceExt3( TRACE_NORMAL, DUP4_CTHUMBNAILFETCHEDCHECKER_SETFETCHRESULT, "CThumbnailFetchedChecker::SetFetchResult;aUri=%S;aThumbnailSize=%u;aError=%d", aUri, aThumbnailSize, aError );
   109         if ( !err && entry )
   119         if ( !err && entry )
   110             {
   120             {
   111             err = iNotFetched.Find( entry );
   121             err = iNotFetched.Find( entry );
   112             if ( err != KErrNotFound )
   122             if ( err != KErrNotFound )
   113                 {
   123                 {
   114                 // update existing fetch result
   124                 // update existing fetch result
   115                 TInt i = iNotFetched.FindInOrder( entry, CEntry::FindCB );
   125                 TInt i = iNotFetched.FindInOrder( entry, CEntry::FindCB );
   116                 if ( i >= 0 )
   126                 if ( i >= 0 )
   117                     {
   127                     {
   118                     TN_DEBUG1( "CThumbnailFetchedChecker::LastFetchResult() -> Update fetched tn error" );
   128                     TN_DEBUG1( "CThumbnailFetchedChecker::LastFetchResult() -> Update fetched tn error" );
       
   129                     OstTrace0( TRACE_NORMAL, DUP2_CTHUMBNAILFETCHEDCHECKER_SETFETCHRESULT, "CThumbnailFetchedChecker::SetFetchResult - Update fetched tn error" );
   119                     iNotFetched[ i ]->iError = aError;
   130                     iNotFetched[ i ]->iError = aError;
   120                     }
   131                     }
   121                 }
   132                 }
   122             else 
   133             else 
   123                 {
   134                 {
   126                     // insert new fetch result
   137                     // insert new fetch result
   127                     TInt err = iNotFetched.InsertInOrder( entry, CEntry::InsertCB );
   138                     TInt err = iNotFetched.InsertInOrder( entry, CEntry::InsertCB );
   128                     if ( err == KErrNone )
   139                     if ( err == KErrNone )
   129                         {
   140                         {
   130                         TN_DEBUG2( "CThumbnailFetchedChecker::LastFetchResult() -> Inserted new fetched tn error %d", iNotFetched.Count());	
   141                         TN_DEBUG2( "CThumbnailFetchedChecker::LastFetchResult() -> Inserted new fetched tn error %d", iNotFetched.Count());	
       
   142                         OstTrace1( TRACE_NORMAL, DUP3_CTHUMBNAILFETCHEDCHECKER_SETFETCHRESULT, "CThumbnailFetchedChecker::SetFetchResult;iNotFetched.Count()=%d", iNotFetched.Count() );
   131                         entry = NULL; // owned by array now
   143                         entry = NULL; // owned by array now
   132                         }
   144                         }
   133                     }
   145                     }
   134                 }
   146                 }
   135             
   147             
   144 // -----------------------------------------------------------------------------
   156 // -----------------------------------------------------------------------------
   145 //
   157 //
   146 void CThumbnailFetchedChecker::DeleteFetchResult( const TDesC& aUri )
   158 void CThumbnailFetchedChecker::DeleteFetchResult( const TDesC& aUri )
   147     {
   159     {
   148     TN_DEBUG2( "CThumbnailFetchedChecker::DeleteFetchResult(%S)", &aUri);
   160     TN_DEBUG2( "CThumbnailFetchedChecker::DeleteFetchResult(%S)", &aUri);
       
   161     OstTraceExt1( TRACE_NORMAL, CTHUMBNAILFETCHEDCHECKER_DELETEFETCHRESULT, "CThumbnailFetchedChecker::DeleteFetchResult;aUri=%S", aUri );
   149     // delete all entries of passed uri
   162     // delete all entries of passed uri
   150     TInt ret;
   163     TInt ret;
   151     do
   164     do
   152         {
   165         {
   153         ret = iNotFetched.FindInOrder( aUri, CEntry::FindCBUri );
   166         ret = iNotFetched.FindInOrder( aUri, CEntry::FindCBUri );
   154         if ( ret >= 0 )
   167         if ( ret >= 0 )
   155             {
   168             {
   156             TN_DEBUG1( "CThumbnailFetchedChecker::DeleteFetchResult() -> Deteled URI from fetched list" );	
   169             TN_DEBUG1( "CThumbnailFetchedChecker::DeleteFetchResult() -> Deteled URI from fetched list" );	
       
   170             OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILFETCHEDCHECKER_DELETEFETCHRESULT, "CThumbnailFetchedChecker::DeleteFetchResult - Deteled URI from fetched list" );
   157             delete iNotFetched[ ret ];
   171             delete iNotFetched[ ret ];
   158             iNotFetched[ ret ] = NULL;
   172             iNotFetched[ ret ] = NULL;
   159             iNotFetched.Remove( ret );
   173             iNotFetched.Remove( ret );
   160             }
   174             }
   161         }
   175         }
   168 // -----------------------------------------------------------------------------
   182 // -----------------------------------------------------------------------------
   169 //
   183 //
   170 void CThumbnailFetchedChecker::RenameFetchResultL( const TDesC& aNewUri, const TDesC& aOldUri )
   184 void CThumbnailFetchedChecker::RenameFetchResultL( const TDesC& aNewUri, const TDesC& aOldUri )
   171     {
   185     {
   172     TN_DEBUG3( "CThumbnailFetchedChecker::RenameFetchResult(aNewUri=%S aOldUri=%S)", &aNewUri, &aOldUri);
   186     TN_DEBUG3( "CThumbnailFetchedChecker::RenameFetchResult(aNewUri=%S aOldUri=%S)", &aNewUri, &aOldUri);
       
   187     OstTraceExt2( TRACE_NORMAL, CTHUMBNAILFETCHEDCHECKER_RENAMEFETCHRESULTL, "CThumbnailFetchedChecker::RenameFetchResultL;aNewUri=%S;aOldUri=%S", aNewUri, aOldUri );
   173     // change every occurence of passed uri
   188     // change every occurence of passed uri
   174     TInt ret;
   189     TInt ret;
   175     do
   190     do
   176         {
   191         {
   177         ret = iNotFetched.FindInOrder( aOldUri, CEntry::FindCBUri );
   192         ret = iNotFetched.FindInOrder( aOldUri, CEntry::FindCBUri );
   180             delete iNotFetched[ ret ]->iUri;
   195             delete iNotFetched[ ret ]->iUri;
   181             iNotFetched[ ret ]->iUri = NULL;
   196             iNotFetched[ ret ]->iUri = NULL;
   182 
   197 
   183             iNotFetched[ ret ]->iUri = aNewUri.AllocL();
   198             iNotFetched[ ret ]->iUri = aNewUri.AllocL();
   184             TN_DEBUG1( "CThumbnailFetchedChecker::RenameeFetchResult() -> Renamed URI in fetched list" );	
   199             TN_DEBUG1( "CThumbnailFetchedChecker::RenameeFetchResult() -> Renamed URI in fetched list" );	
       
   200             OstTrace0( TRACE_NORMAL, DUP1_CTHUMBNAILFETCHEDCHECKER_RENAMEFETCHRESULTL, "CThumbnailFetchedChecker::RenameFetchResultL - Renamed URI in fetched list" );
   185             }
   201             }
   186         }
   202         }
   187     while(ret != KErrNotFound );
   203     while(ret != KErrNotFound );
   188     
   204     
   189     }
   205     }
   193 // -----------------------------------------------------------------------------
   209 // -----------------------------------------------------------------------------
   194 //
   210 //
   195 void CThumbnailFetchedChecker::Reset()
   211 void CThumbnailFetchedChecker::Reset()
   196     {
   212     {
   197     TN_DEBUG1( "CThumbnailFetchedChecker::Reset()");
   213     TN_DEBUG1( "CThumbnailFetchedChecker::Reset()");
       
   214     OstTrace0( TRACE_NORMAL, CTHUMBNAILFETCHEDCHECKER_RESET, "CThumbnailFetchedChecker::Reset" );
   198     iNotFetched.ResetAndDestroy();
   215     iNotFetched.ResetAndDestroy();
   199     }
   216     }
   200 
   217 
   201 // -----------------------------------------------------------------------------
   218 // -----------------------------------------------------------------------------
   202 // CThumbnailFetchedChecker::CEntry::NewL()
   219 // CThumbnailFetchedChecker::CEntry::NewL()
   204 //
   221 //
   205 CThumbnailFetchedChecker::CEntry* CThumbnailFetchedChecker::CEntry::NewL(
   222 CThumbnailFetchedChecker::CEntry* CThumbnailFetchedChecker::CEntry::NewL(
   206         const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError )
   223         const TDesC& aUri, const TThumbnailSize aThumbnailSize, TInt aError )
   207     {
   224     {
   208     TN_DEBUG4( "CThumbnailFetchedChecker::CEntry::NewL(aUri=%S aThumbnailSize=%d aError=%d)", &aUri, aThumbnailSize, aError);
   225     TN_DEBUG4( "CThumbnailFetchedChecker::CEntry::NewL(aUri=%S aThumbnailSize=%d aError=%d)", &aUri, aThumbnailSize, aError);
       
   226     OstTraceExt3( TRACE_NORMAL, CENTRY_NEWL, "CEntry::NewL;aUri=%S;aThumbnailSize=%u;aError=%d", aUri, aThumbnailSize, aError );
   209     CEntry* self  = new (ELeave) CEntry();
   227     CEntry* self  = new (ELeave) CEntry();
   210     if ( self )
   228     if ( self )
   211         {
   229         {
   212         self->iUri = aUri.AllocL();
   230         self->iUri = aUri.AllocL();
   213         self->iSize = aThumbnailSize;
   231         self->iSize = aThumbnailSize;
   227 //
   245 //
   228 TInt CThumbnailFetchedChecker::CEntry::FindCB(
   246 TInt CThumbnailFetchedChecker::CEntry::FindCB(
   229         const CThumbnailFetchedChecker::CEntry& aEntry, const CThumbnailFetchedChecker::CEntry& aEntry1 )
   247         const CThumbnailFetchedChecker::CEntry& aEntry, const CThumbnailFetchedChecker::CEntry& aEntry1 )
   230     {
   248     {
   231     TN_DEBUG1( "CThumbnailFetchedChecker::CEntry::FindCB");
   249     TN_DEBUG1( "CThumbnailFetchedChecker::CEntry::FindCB");
       
   250     OstTrace0( TRACE_NORMAL, CENTRY_FINDCB, "CEntry::FindCB" );
   232     if( aEntry1.iSize == aEntry.iSize)
   251     if( aEntry1.iSize == aEntry.iSize)
   233         {
   252         {
   234         // return index if size and uri matches
   253         // return index if size and uri matches
   235         return aEntry.iUri->CompareF( *( aEntry1.iUri ) );
   254         return aEntry.iUri->CompareF( *( aEntry1.iUri ) );
   236         }
   255         }
   246 //
   265 //
   247 TInt CThumbnailFetchedChecker::CEntry::FindCBUri(
   266 TInt CThumbnailFetchedChecker::CEntry::FindCBUri(
   248         const TDesC* aUri, const CThumbnailFetchedChecker::CEntry& aEntry )
   267         const TDesC* aUri, const CThumbnailFetchedChecker::CEntry& aEntry )
   249     {
   268     {
   250     TN_DEBUG2( "CThumbnailFetchedChecker::CEntry::FindCBUri(aUri=%S", &aUri);
   269     TN_DEBUG2( "CThumbnailFetchedChecker::CEntry::FindCBUri(aUri=%S", &aUri);
       
   270     OstTrace0( TRACE_NORMAL, CENTRY_FINDCBURI, "CEntry::FindCBUri" );
   251     return aUri->CompareF( *( aEntry.iUri ) );
   271     return aUri->CompareF( *( aEntry.iUri ) );
   252     }
   272     }
   253 
   273 
   254 // -----------------------------------------------------------------------------
   274 // -----------------------------------------------------------------------------
   255 // CThumbnailFetchedChecker::CEntry::InsertCB()
   275 // CThumbnailFetchedChecker::CEntry::InsertCB()
   258 TInt CThumbnailFetchedChecker::CEntry::InsertCB(
   278 TInt CThumbnailFetchedChecker::CEntry::InsertCB(
   259         const CThumbnailFetchedChecker::CEntry& aEntry1,
   279         const CThumbnailFetchedChecker::CEntry& aEntry1,
   260         const CThumbnailFetchedChecker::CEntry& aEntry2 )
   280         const CThumbnailFetchedChecker::CEntry& aEntry2 )
   261     {
   281     {
   262     TN_DEBUG1( "CThumbnailFetchedChecker::CEntry::InsertCB");
   282     TN_DEBUG1( "CThumbnailFetchedChecker::CEntry::InsertCB");
       
   283     OstTrace0( TRACE_NORMAL, CENTRY_INSERTCB, "CEntry::InsertCB" );
   263     if( aEntry1.iSize == aEntry2.iSize)
   284     if( aEntry1.iSize == aEntry2.iSize)
   264         {
   285         {
   265         // return index if size and uri matches
   286         // return index if size and uri matches
   266         return aEntry1.iUri->CompareF( *( aEntry2.iUri ) );
   287         return aEntry1.iUri->CompareF( *( aEntry2.iUri ) );
   267         }
   288         }