harvester/composerplugins/imagecomposer/src/imagecomposerao.cpp
branchRCL_3
changeset 19 b73252188534
parent 7 3cebc1a84278
child 20 f23c07ec56e2
equal deleted inserted replaced
18:63c982fb92f2 19:b73252188534
    69     iNextItemsSkip.Close();
    69     iNextItemsSkip.Close();
    70     
    70     
    71     if ( iMdeObject )
    71     if ( iMdeObject )
    72         {
    72         {
    73         delete iMdeObject;
    73         delete iMdeObject;
       
    74         iMdeObject = NULL;
    74         }
    75         }
    75     if ( iExifUtil )
    76     if ( iExifUtil )
    76     	{
    77     	{
    77     	delete iExifUtil;
    78     	delete iExifUtil;
       
    79     	iExifUtil = NULL;
    78     	}
    80     	}
    79 
    81 
    80     delete iRelationQuery;
    82     delete iRelationQuery;
       
    83     iRelationQuery = NULL;
    81     iFs.Close();
    84     iFs.Close();
    82     
    85     
    83     delete iMdEHarvesterSession;
    86     delete iMdEHarvesterSession;
       
    87     iMdEHarvesterSession = NULL;
    84     }
    88     }
    85 
    89 
    86 // ---------------------------------------------------------------------------
    90 // ---------------------------------------------------------------------------
    87 // CComposerImagePlugin
    91 // CComposerImagePlugin
    88 // ---------------------------------------------------------------------------
    92 // ---------------------------------------------------------------------------
   108     iLocationObjectDef = NULL;
   112     iLocationObjectDef = NULL;
   109 
   113 
   110     CActiveScheduler::Add( this );
   114     CActiveScheduler::Add( this );
   111     
   115     
   112     iExifUtil = CHarvesterExifUtil::NewL();
   116     iExifUtil = CHarvesterExifUtil::NewL();
       
   117     iFastModeEnabled = EFalse;
   113     User::LeaveIfError( iFs.Connect() );
   118     User::LeaveIfError( iFs.Connect() );
   114     }
   119     }
   115     
   120     
   116 // ---------------------------------------------------------------------------
   121 // ---------------------------------------------------------------------------
   117 // DoCancel
   122 // DoCancel
   239         case ERequestGetObject:
   244         case ERequestGetObject:
   240             {
   245             {
   241             if( iItemQueue.Count() <= 0 )
   246             if( iItemQueue.Count() <= 0 )
   242             	{
   247             	{
   243                 iItemQueue.Compress();
   248                 iItemQueue.Compress();
       
   249                 if( iFastModeEnabled )
       
   250                     {
       
   251                     SetPriority( KHarvesterPriorityComposerPlugin );
       
   252                     }
   244             	SetNextRequest( ERequestReady );
   253             	SetNextRequest( ERequestReady );
   245             	}
   254             	}
   246             else
   255             else
   247             	{
   256             	{
   248             	TItemId mdeObjectId = KNoId;
   257             	TItemId mdeObjectId = KNoId;
   249 	            TRAPD( err, GetObjectFromMdeL( mdeObjectId ) );
   258 	            TRAPD( err, GetObjectFromMdeL( mdeObjectId ) );
   250 	            
   259 	            
   251 	            if ( err == KErrNone )
   260 	            if ( err == KErrNone )
   252 	                {    
   261 	                {    
       
   262 	                CMdEProperty* prop = NULL;
       
   263 	                CMdEPropertyDef& originPropDef = iMdeObject->Def().GetPropertyDefL( Object::KOriginProperty );
       
   264 	                iMdeObject->Property( originPropDef, prop );
       
   265 	                if( prop && prop->Uint8ValueL() == MdeConstants::Object::ECamera && !iFastModeEnabled )
       
   266 	                    {
       
   267 	                    iFastModeEnabled = ETrue;
       
   268 	                    SetPriority( KHarvesterPriorityMonitorPlugin );
       
   269 	                    }
       
   270 	                else if( iFastModeEnabled )
       
   271 	                    {
       
   272 	                    iFastModeEnabled = EFalse;
       
   273 	                    SetPriority( KHarvesterPriorityComposerPlugin );
       
   274 	                    }
       
   275 	                
   253 	                SetNextRequest( ERequestCompose );
   276 	                SetNextRequest( ERequestCompose );
   254 	                }
   277 	                }
   255 	            // if object does not exists, find next
   278 	            // if object does not exists, find next
   256 	            else if ( err == KErrNotFound || err == KErrAbort )
   279 	            else if ( err == KErrNotFound || err == KErrAbort )
   257 	                 {
   280 	                 {
   744         User::Leave( KErrNotSupported );
   767         User::Leave( KErrNotSupported );
   745         }
   768         }
   746 
   769 
   747     // Check whether the file is open
   770     // Check whether the file is open
   748     TBool isOpen( EFalse );
   771     TBool isOpen( EFalse );
   749     iFs.IsFileOpen( uri, isOpen );
   772     const TInt openError = iFs.IsFileOpen( uri, isOpen );
   750     if ( isOpen )
   773     if( openError != KErrNone )
       
   774         {
       
   775         WRITELOG( "CImageComposerAO::DoWriteExifL() - check for open file failed!" );
       
   776         User::Leave( openError );
       
   777         }
       
   778     else if ( isOpen )
   751         {
   779         {
   752         WRITELOG( "CImageComposerAO::DoWriteExifL() - file handle is open!" );
   780         WRITELOG( "CImageComposerAO::DoWriteExifL() - file handle is open!" );
   753         User::Leave( KErrInUse );
   781         User::Leave( KErrInUse );
   754         }
   782         }
   755 
   783