EngInc/IEImageFinder.h
changeset 3 93fff7023be8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/EngInc/IEImageFinder.h	Fri Oct 15 10:18:29 2010 +0900
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors: Juha Kauppinen, Mika Hokkanen
+* 
+* Description: Photo Browser
+*
+*/
+
+#ifndef __IEIMAGEFINDER_H_
+#define __IEIMAGEFINDER_H_
+
+// INCLUDES
+#include <e32base.h>
+#include <f32file.h>
+#include <IEEngine.h>
+#include <bautils.h>
+
+#include "IEFileLoader.h"
+#include "IEImageList.h"
+#include <ExifUtility.h> 
+#include <ICLExif.h> 
+#include "ImageMonitorAO.h"
+#include "IEEngineImp.h"
+
+#include <IEImageProcessing.h>
+#include <exifread.h>
+
+#include "IEEngineImp.h"
+#include "IEEngineUtils.h"
+#include "FileSystemMonitorAO.h"
+
+// FORWARD DECLARATIONS
+class CIEFileLoader;
+class CFileSystemMonitorAO;
+
+class CIEImageFinder : public CBase
+    {
+    public:
+        static CIEImageFinder* NewL(
+                CIEFileLoader* aCallback, 
+                RArray<CImageData*>& aFileNameData, 
+                RArray<CImageData*>& aFaceFileNameData, 
+                RCriticalSection* aCritical);
+        
+        static CIEImageFinder* NewLC(
+                CIEFileLoader* aCallback, 
+                RArray<CImageData*>& aFileNameData, 
+                RArray<CImageData*>& aFaceFileNameData, 
+                RCriticalSection* aCritical);
+        
+        CIEImageFinder(CIEFileLoader* callback, 
+                        RArray<CImageData*>& aFileNameData, 
+                        RArray<CImageData*>& aFaceFileNameData, 
+                        RCriticalSection* aCritical);
+        void ConstructL();
+        ~CIEImageFinder();
+        void StartFinderL(const TDesC& aSearchName);
+        void FileSystemChanged();
+        void SetImageDataChanged();
+        
+    private:
+        void ScanDirL(CDir* dir, const TDesC& aDir, const TDesC& aWild);
+        void SearchFilesL(const TDesC& aSearchName);
+        TInt CheckIfFileExist(TFileName& aFileName);
+        float ReadAspectRatioL(TFileName& aFileName);
+        void CheckCreatedThumbnails(CImageData& aImageData) const;
+        void GetDatabaseFileName(TFileName & fileName) const;
+        TBool IsSearching() const;
+       
+    private:
+        //CFileSystemMonitorAO*   iFileSystemMonitor;
+        CIEImageList*           iImageList;
+        RFs                     iFileServer;
+        CIEFileLoader*          iCallback;
+        CIEEngineUtils          iIEEngineUtils;
+        RArray<CImageData*>&    iFileNameData;
+        RArray<CImageData*>&    iFaceFileNameData;
+        RCriticalSection*       iCritical;
+        TExifReaderUtility*     iExifReader;
+    };
+
+#endif //__IEIMAGEFINDER_H_
+
+// End of File