harvester/common/src/harvesterexifutil.cpp
branchRCL_3
changeset 63 e538444823de
parent 53 29d87345eaeb
equal deleted inserted replaced
57:2872ae438bf7 63:e538444823de
   154 
   154 
   155 		return EFalse;
   155 		return EFalse;
   156 		}
   156 		}
   157 	
   157 	
   158 	delete reader;
   158 	delete reader;
   159 	reader = NULL;
       
   160 	
   159 	
   161 	WRITELOG( "CHarvesterExifUtil::IsValidExifData end" );	
   160 	WRITELOG( "CHarvesterExifUtil::IsValidExifData end" );	
   162 	OstTrace0( TRACE_NORMAL, DUP2_CHARVESTEREXIFUTIL_ISVALIDEXIFDATA, "CHarvesterExifUtil::IsValidExifData end" );
   161 	OstTrace0( TRACE_NORMAL, DUP2_CHARVESTEREXIFUTIL_ISVALIDEXIFDATA, "CHarvesterExifUtil::IsValidExifData end" );
   163 	
   162 	
   164 	return ETrue;
   163 	return ETrue;
   431 // ---------------------------------------------------------------------------
   430 // ---------------------------------------------------------------------------
   432 //
   431 //
   433 EXPORT_C TTime CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL(
   432 EXPORT_C TTime CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL(
   434 		const TDesC8& aDateTime )
   433 		const TDesC8& aDateTime )
   435     {
   434     {
   436     WRITELOG( "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL()" );
   435     WRITELOG( "CHarvesterImagePluginAO::ConvertExifDateTimeToSymbianTimeL()" );
   437     OstTrace0( TRACE_NORMAL, CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL" );    
   436     OstTrace0( TRACE_NORMAL, CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL" );    
   438     
   437     
   439     TDateTime datetime( 0, EJanuary, 0, 0, 0, 0, 0 );
   438     TDateTime datetime( 0, EJanuary, 0, 0, 0, 0, 0 );
   440     TBuf<4> text;
   439     TBuf<4> text;
   441     
   440     
   444     TLex8 lex( textPart );
   443     TLex8 lex( textPart );
   445     TInt number = 0;
   444     TInt number = 0;
   446     TInt error = lex.Val( number );
   445     TInt error = lex.Val( number );
   447     if ( error != KErrNone )
   446     if ( error != KErrNone )
   448         {
   447         {
   449         WRITELOG( "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL() - couldn't get year" );
   448         WRITELOG( "CHarvesterImagePluginAO::ConvertExifDateTimeToSymbianTimeL() - couldn't get year" );
   450         OstTrace0( TRACE_NORMAL, DUP1_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get year" );
   449         OstTrace0( TRACE_NORMAL, DUP1_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get year" );
   451         
   450         
   452         User::Leave( error );
   451         User::Leave( error );
   453         }
   452         }
   454     datetime.SetYear( number );
   453     datetime.SetYear( number );
   457     TPtrC8 textPart2 = aDateTime.Mid( 5,2 );
   456     TPtrC8 textPart2 = aDateTime.Mid( 5,2 );
   458     lex.Assign( textPart2 );
   457     lex.Assign( textPart2 );
   459     error = lex.Val( number );
   458     error = lex.Val( number );
   460     if ( error != KErrNone )
   459     if ( error != KErrNone )
   461         {
   460         {
   462         WRITELOG( "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL() - couldn't get month" );
   461         WRITELOG( "CHarvesterImagePluginAO::ConvertExifDateTimeToSymbianTimeL() - couldn't get month" );
   463         OstTrace0( TRACE_NORMAL, DUP2_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get month" );
   462         OstTrace0( TRACE_NORMAL, DUP2_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get month" );
   464         
   463         
   465         User::Leave( error );
   464         User::Leave( error );
   466         }        
   465         }        
   467     number--;
   466     number--;
   472     TPtrC8 textPart3 = aDateTime.Mid( 8,2 );
   471     TPtrC8 textPart3 = aDateTime.Mid( 8,2 );
   473     lex.Assign( textPart3 );
   472     lex.Assign( textPart3 );
   474     error = lex.Val( number );
   473     error = lex.Val( number );
   475     if ( error != KErrNone )
   474     if ( error != KErrNone )
   476         {
   475         {
   477         WRITELOG( "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL() - couldn't get date" );
   476         WRITELOG( "CHarvesterImagePluginAO::ConvertExifDateTimeToSymbianTimeL() - couldn't get date" );
   478         OstTrace0( TRACE_NORMAL, DUP3_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get date" );
   477         OstTrace0( TRACE_NORMAL, DUP3_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get date" );
   479         
   478         
   480         User::Leave( error );
   479         User::Leave( error );
   481         }
   480         }
   482     datetime.SetDay( number - 1 );
   481     datetime.SetDay( number - 1 );
   485     TPtrC8 textPart4 = aDateTime.Mid( 11,2 );
   484     TPtrC8 textPart4 = aDateTime.Mid( 11,2 );
   486     lex.Assign( textPart4 );
   485     lex.Assign( textPart4 );
   487     error = lex.Val( number );
   486     error = lex.Val( number );
   488     if ( error != KErrNone )
   487     if ( error != KErrNone )
   489         {
   488         {
   490         WRITELOG( "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL() - couldn't get hours" );
   489         WRITELOG( "CHarvesterImagePluginAO::ConvertExifDateTimeToSymbianTimeL() - couldn't get hours" );
   491         OstTrace0( TRACE_NORMAL, DUP4_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get hours" );
   490         OstTrace0( TRACE_NORMAL, DUP4_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get hours" );
   492         
   491         
   493         User::Leave( error );
   492         User::Leave( error );
   494         }    
   493         }    
   495     datetime.SetHour( number );
   494     datetime.SetHour( number );
   498     TPtrC8 textPart5 = aDateTime.Mid( 14,2 );
   497     TPtrC8 textPart5 = aDateTime.Mid( 14,2 );
   499     lex.Assign( textPart5 );
   498     lex.Assign( textPart5 );
   500     error = lex.Val( number );
   499     error = lex.Val( number );
   501     if ( error != KErrNone )
   500     if ( error != KErrNone )
   502         {
   501         {
   503         WRITELOG( "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL() - couldn't get minutes" );
   502         WRITELOG( "CHarvesterImagePluginAO::ConvertExifDateTimeToSymbianTimeL() - couldn't get minutes" );
   504         OstTrace0( TRACE_NORMAL, DUP5_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get minutes" );
   503         OstTrace0( TRACE_NORMAL, DUP5_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get minutes" );
   505         
   504         
   506         User::Leave( error );
   505         User::Leave( error );
   507         }
   506         }
   508     datetime.SetMinute( number );
   507     datetime.SetMinute( number );
   511     TPtrC8 textPart6 = aDateTime.Mid( 17,2 );
   510     TPtrC8 textPart6 = aDateTime.Mid( 17,2 );
   512     lex.Assign( textPart6 );
   511     lex.Assign( textPart6 );
   513     error = lex.Val( number );
   512     error = lex.Val( number );
   514     if ( error != KErrNone )
   513     if ( error != KErrNone )
   515         {
   514         {
   516         WRITELOG( "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL() - couldn't get seconds" );
   515         WRITELOG( "CHarvesterImagePluginAO::ConvertExifDateTimeToSymbianTimeL() - couldn't get seconds" );
   517         OstTrace0( TRACE_NORMAL, DUP6_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get seconds" );
   516         OstTrace0( TRACE_NORMAL, DUP6_CHARVESTEREXIFUTIL_CONVERTEXIFDATETIMETOSYMBIANTIMEL, "CHarvesterExifUtil::ConvertExifDateTimeToSymbianTimeL - couldn't get seconds" );
   518         
   517         
   519         User::Leave( error );
   518         User::Leave( error );
   520         }
   519         }
   521     datetime.SetSecond( number );
   520     datetime.SetSecond( number );
   827     if ( exifError != KErrNone )
   826     if ( exifError != KErrNone )
   828         {
   827         {
   829         WRITELOG( "CHarvesterExifUtil::ComposeExifData() - Image doesn't contain EXIF data" );
   828         WRITELOG( "CHarvesterExifUtil::ComposeExifData() - Image doesn't contain EXIF data" );
   830         modifyExif = CExifModify::NewL( aImagePtr, 
   829         modifyExif = CExifModify::NewL( aImagePtr, 
   831         		CExifModify::ECreate, CExifModify::ENoJpegParsing );
   830         		CExifModify::ECreate, CExifModify::ENoJpegParsing );
   832         CleanupStack::PushL( modifyExif );
       
   833         SetExifDefaultsL( aMdeObject, *modifyExif );
   831         SetExifDefaultsL( aMdeObject, *modifyExif );
   834         CleanupStack::Pop( modifyExif );
       
   835         exifChanged = ETrue;
   832         exifChanged = ETrue;
   836         }
   833         }
   837     CleanupStack::PushL( modifyExif );
   834     CleanupStack::PushL( modifyExif );
   838     const CExifRead* readExif = modifyExif->Reader();
   835     const CExifRead* readExif = modifyExif->Reader();
   839     CMdEObjectDef& imageDef = iDefaultNamespace->GetObjectDefL( Image::KImageObject );
   836     CMdEObjectDef& imageDef = iDefaultNamespace->GetObjectDefL( Image::KImageObject );