EngSrc/IEEngineImp.cpp
author jkauppin
Fri, 15 Oct 2010 10:18:29 +0900
changeset 3 93fff7023be8
permissions -rw-r--r--
Initial version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     1
/*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     3
* All rights reserved.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     4
* This component and the accompanying materials are made available
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     6
* which accompanies this distribution, and is available
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     8
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
     9
* Initial Contributors:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    11
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    12
* Contributors: Juha Kauppinen, Mika Hokkanen
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    13
* 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    14
* Description: Photo Browser
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    15
*
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    16
*/
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    17
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    18
// Include files
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    19
#include <e32uid.h>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    20
#include <BAUTILS.H>
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    21
#include <IEImageProcessing.h>//thumbnail client
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    22
#include "IEEngineImp.h"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    23
#ifdef IMAGE_EDITOR
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    24
#include "IEEditor.h"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    25
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    26
#include "IEFileLoader.h"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    27
#include "IEImageList.h"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    28
#include "ImageMonitorAO.h"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    29
#include "IEImageList.h"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    30
#include "IEEngineUtils.h"
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    31
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    32
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    33
// ============================ MEMBER FUNCTIONS =========================== //
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    34
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    35
EXPORT_C CIEEngine* CIEEngine::NewL(MIEEngineObserver& aObserver)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    36
{
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    37
    DP0_IMAGIC(_L("CIEEngine::NewL"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    38
	return CIEEngineImp::NewL(aObserver);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    39
}
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    40
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    41
EXPORT_C CIEEngine::~CIEEngine()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    42
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    43
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    44
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    45
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    46
CIEEngineImp* CIEEngineImp::NewL(MIEEngineObserver& aObserver)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    47
{
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    48
    DP0_IMAGIC(_L("CIEEngine::NewL"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    49
	CIEEngineImp* self = new (ELeave) CIEEngineImp(aObserver);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    50
	CleanupStack::PushL(self);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    51
	self->ConstructL();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    52
	CleanupStack::Pop();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    53
	return self;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    54
}
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    55
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    56
CIEEngineImp::~CIEEngineImp()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    57
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    58
    DP0_IMAGIC(_L("CIEEngine::~CIEEngineImp++"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    59
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    60
#if 0
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    61
   if(iIEImageProcessing)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    62
       {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    63
       delete iIEImageProcessing;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    64
       iIEImageProcessing = NULL;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    65
       }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    66
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    67
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    68
#ifdef IMAGE_EDITOR
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    69
     if(iImageEditor)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    70
	 {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    71
         DP0_IMAGIC(_L("CIEEngine::~CIEEngineImp - delete iImageEditor"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    72
         delete iImageEditor;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    73
         iImageEditor = NULL;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    74
	 }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    75
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    76
   
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    77
	 if(iFileLoader)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    78
	     {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    79
	     DP0_IMAGIC(_L("CIEEngine::~CIEEngineImp - delete iFileLoader"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    80
	     delete iFileLoader;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    81
	     iFileLoader = NULL;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    82
	     }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    83
	
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    84
	 if(iBitmapLoader)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    85
	     {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    86
	     DP0_IMAGIC(_L("CIEEngine::~CIEEngineImp - delete iBitmapLoader"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    87
	     iBitmapLoader->CancelFullSizeLoading();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    88
	     DP0_IMAGIC(_L("CIEEngine::~CIEEngineImp - delete iBitmapLoader 2"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    89
	     delete iBitmapLoader;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    90
	     iBitmapLoader = NULL;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    91
	     }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    92
	
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    93
	 if(iIEBgpsController)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    94
	     {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    95
	     DP0_IMAGIC(_L("CIEEngine::~CIEEngineImp - delete iIEBgpsController"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    96
	     delete iIEBgpsController;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    97
	     iIEBgpsController = NULL;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    98
	     }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
    99
#ifdef _ACCELEROMETER_SUPPORTED_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   100
	 if(iSensorMonitor)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   101
	     {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   102
	     iSensorMonitor->StopMonitoring();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   103
	     delete iSensorMonitor;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   104
	     iSensorMonitor = NULL;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   105
	     }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   106
#endif //_ACCELEROMETER_SUPPORTED_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   107
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   108
	iFileServer.Close();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   109
	iCritical.Close();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   110
	
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   111
	DP0_IMAGIC(_L("CIEEngine::~CIEEngineImp--"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   112
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   113
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   114
CIEEngineImp::CIEEngineImp(MIEEngineObserver& aObserver) :
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   115
    iEngineObserver(aObserver),
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   116
    iIEEngineUtils(iFileServer)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   117
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   118
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   119
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   120
void CIEEngineImp::ConstructL()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   121
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   122
    DP0_IMAGIC(_L("CIEEngine::ConstructL++"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   123
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   124
    iCritical.CreateLocal();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   125
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   126
    User::LeaveIfError(iFileServer.Connect());
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   127
	
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   128
	/*Creating Engine Utility class pointer */
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   129
	iCurrentEditingMode = EEditModeNone;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   130
	iEditingMode = EEditModeNone;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   131
	iImageEdited = EFalse;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   132
	iImageArrayMode = EImages;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   133
	iAllFilesScanned = EFalse;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   134
	iPrevDeviceOrientation = EOrientationDisplayLeftUp;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   135
	
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   136
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   137
	TInt err = KErrNone;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   138
	//Create Bitmap loader
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   139
	iBitmapLoader = CIEBitmapLoader::NewL(iFileServer, *this, &iCritical);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   140
	//Create BGPS controller
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   141
	iIEBgpsController = CIEBgpsController::NewL(iFileServer, *this, iIEEngineUtils, &iCritical);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   142
	//Create Fileloader
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   143
	TRAP(err, iFileLoader = CIEFileLoader::NewL(iFileServer, this, &iCritical));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   144
    if(err != KErrNone)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   145
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   146
        DP1_IMAGIC(_L("CIEEngine::ConstructL - Error creating file loader, err: %d"),err);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   147
        User::Leave(err);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   148
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   149
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   150
#ifdef _ACCELEROMETER_SUPPORTED_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   151
    iDeviceOrientation = EOrientationDisplayLeftUp;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   152
    err = KErrNone;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   153
    TRAP(err, iSensorMonitor = CIESensorMonitor::NewL(*this));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   154
    DP1_IMAGIC(_L("CIEEngine::ConstructL - iSensorMonitor error: %d"), err);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   155
    if(err == KErrNone)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   156
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   157
        DP0_IMAGIC(_L("CIEEngine::ConstructL - iSensorMonitor->StartMonitoring()"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   158
        iSensorMonitor->StartMonitoring();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   159
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   160
    else
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   161
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   162
        iSensorMonitor = NULL;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   163
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   164
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   165
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   166
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   167
    iIEBgpsController->SetFileLoader(iFileLoader); 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   168
   
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   169
    DP0_IMAGIC(_L("CIEEngine::ConstructL--"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   170
}
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   171
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   172
void CIEEngineImp::SetDBChanged(CImageData* aImageData)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   173
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   174
    TFileName filename;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   175
    aImageData->GetFileName(filename, EFullSize);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   176
    iFileLoader->GetImageList().SetChanged(filename); 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   177
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   178
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   179
CIEImageList& CIEEngineImp::GetImageList()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   180
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   181
    return iFileLoader->GetImageList();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   182
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   183
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   184
void CIEEngineImp::AppUIReady()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   185
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   186
    DP0_IMAGIC(_L("CIEEngine::AppUIReady"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   187
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   188
    //Create ImageProcessing
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   189
    iIEBgpsController->CreateImageProcessing();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   190
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   191
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   192
void CIEEngineImp::CancelFullSizeLoading()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   193
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   194
    DP0_IMAGIC(_L("CIEEngine::CancelLoading"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   195
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   196
    iBitmapLoader->CancelFullSizeLoading();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   197
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   198
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   199
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   200
void CIEEngineImp::SetImageDataMode(TImageArrayMode aMode)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   201
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   202
    iImageArrayMode = aMode;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   203
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   204
    iBitmapLoader->SetImageDataMode(aMode);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   205
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   206
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   207
MIEEngineObserver& CIEEngineImp::GetObserver() 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   208
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   209
    return iEngineObserver;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   210
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   211
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   212
void CIEEngineImp::TNGenerationComplete(TThumbSize aTNRes)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   213
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   214
    DP0_IMAGIC(_L("CIEEngine::TNGenerationComplete++"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   215
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   216
    iEngineObserver.TNCreationCompleteL(aTNRes);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   217
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   218
    DP0_IMAGIC(_L("CIEEngine::TNGenerationComplete--"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   219
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   220
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   221
void CIEEngineImp::SingleTNGenerationComplete(TInt aIndex, TThumbSize aTNRes)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   222
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   223
    DP0_IMAGIC(_L("CIEEngine::TNGenerationComplete++"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   224
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   225
    iEngineObserver.SingleTNCreationCompletedL(aIndex, aTNRes);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   226
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   227
    DP0_IMAGIC(_L("CIEEngine::TNGenerationComplete--"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   228
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   229
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   230
void CIEEngineImp::FaceDetectionComplete()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   231
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   232
    DP0_IMAGIC(_L("CIEEngine::FaceDetectionComplete"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   233
    iEngineObserver.FaceDetectionComplete();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   234
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   235
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   236
void CIEEngineImp::SingleFaceDetectionComplete()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   237
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   238
    DP0_IMAGIC(_L("CIEEngine::SingleFaceDetectionComplete"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   239
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   240
    iEngineObserver.SingleFaceDetectionComplete();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   241
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   242
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   243
void CIEEngineImp::AllFilesAddedToFilenameArrayL()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   244
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   245
    DP0_IMAGIC(_L("CIEEngine::AllFilesAddedToFilenameArrayL"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   246
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   247
    iIEBgpsController->AllFilesAddedToFilenameArrayL();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   248
    iEngineObserver.AllFilesScanned();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   249
    iAllFilesScanned = ETrue;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   250
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   251
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   252
CIEEngineUtils * CIEEngineImp::GetEngineUtils()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   253
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   254
    DP0_IMAGIC(_L("CIEEngine::GetEngineUtils"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   255
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   256
    return &iIEEngineUtils;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   257
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   258
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   259
CIEFileLoader* CIEEngineImp::GetFileLoader()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   260
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   261
    DP0_IMAGIC(_L("CIEEngineImp::GetFileLoader"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   262
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   263
    return iFileLoader;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   264
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   265
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   266
void CIEEngineImp::BitmapsLoadedL(TInt aError)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   267
{
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   268
    DP0_IMAGIC(_L("CIEEngineImp::BitmapsLoaded"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   269
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   270
	iEngineObserver.ImagesLoadedL(aError);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   271
}
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   272
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   273
TBool CIEEngineImp::IsScanningFiles() const
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   274
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   275
    return !iAllFilesScanned;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   276
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   277
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   278
void CIEEngineImp::GetTotalNumOfImages(TInt& aNumOfImages, TInt& aNumOfFaces)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   279
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   280
    //DP0_IMAGIC(_L("CIEEngineImp::GetTotalNumOfImages"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   281
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   282
    iFileLoader->GetTotalNumOfImages(aNumOfImages, aNumOfFaces);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   283
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   284
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   285
TInt CIEEngineImp::GetTotalNumOfImages()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   286
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   287
    //DP0_IMAGIC(_L("CIEEngineImp::GetTotalNumOfImages"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   288
    //return iFileLoader->GetTotalNumOfImages();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   289
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   290
    TInt numOfImages, numOfFaces;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   291
    if(iImageArrayMode == EImages)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   292
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   293
        iFileLoader->GetTotalNumOfImages(numOfImages, numOfFaces);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   294
        return numOfImages;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   295
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   296
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   297
    else if(iImageArrayMode == EFaces)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   298
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   299
        iFileLoader->GetTotalNumOfImages(numOfImages, numOfFaces);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   300
        return numOfFaces;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   301
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   302
    else
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   303
        return 0;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   304
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   305
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   306
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   307
TInt CIEEngineImp::DeleteFile(TInt aIndex)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   308
    {  
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   309
    DP0_IMAGIC(_L("CIEEngineImp::DeleteFile++"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   310
    TInt err;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   311
    if(iImageArrayMode == EImages)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   312
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   313
        err = iFileLoader->DeleteFile(aIndex);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   314
        iIEBgpsController->FilenameArrayCountChanged(iFileLoader->GetFileNameArray());
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   315
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   316
    else//EFaces
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   317
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   318
        err = iFileLoader->DeleteFaceFile(aIndex);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   319
        TInt numOfImages = 0;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   320
        TInt numOfFaces = 0;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   321
        iFileLoader->GetUpdatedNumOfImages(numOfImages, numOfFaces);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   322
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   323
    DP1_IMAGIC(_L("CIEEngineImp::DeleteFile-- %d"), err);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   324
    return err;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   325
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   326
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   327
TInt CIEEngineImp::GetImageName(const TInt aIndex, TFileName& aFileName, TThumbSize aThumbRes)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   328
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   329
    DP0_IMAGIC(_L("CIEEngineImp::GetImageName"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   330
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   331
    TInt error = KErrNone;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   332
    TRAP(error, iFileLoader->GetFileNameL(aIndex, aFileName, aThumbRes));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   333
    return error;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   334
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   335
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   336
void CIEEngineImp::GetBitmapL(CImageData* aImageData, CFbsBitmap* aBitmap, TThumbSize aThumbRes)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   337
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   338
    DP0_IMAGIC(_L("CIEEngineImp::GetBitmapL"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   339
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   340
    iBitmapLoader->GetOneBitmapL(aImageData, aBitmap, aThumbRes);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   341
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   342
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   343
void CIEEngineImp::GetFileNameL(const TInt aIndex, TThumbSize aThumbRes, TFileName& aFilename)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   344
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   345
    iFileLoader->GetFileNameL(aIndex, aFilename, aThumbRes);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   346
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   347
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   348
void CIEEngineImp::StopTNGeneration(TInt& /*aValue*/)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   349
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   350
    //iIEBgpsController->StopTNGeneration(aValue);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   351
    iIEBgpsController->CancelTNGeneration();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   352
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   353
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   354
TReal CIEEngineImp::GetAspectRatio(TInt aIndex)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   355
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   356
    return iIEBgpsController->GetAspectRatio(aIndex);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   357
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   358
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   359
TReal CIEEngineImp::GetFacesAspectRatio(TInt aIndex)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   360
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   361
    return iIEBgpsController->GetFacesAspectRatio(aIndex);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   362
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   363
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   364
//This function is called in editing mode only when we did not have 320x320 TN ready
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   365
void CIEEngineImp::GenerateThumbNailL(const TDes &aOrgFile, TThumbSize aTNResolution)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   366
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   367
    DP0_IMAGIC(_L("CIEEngineImp::GenerateThumbNail++"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   368
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   369
    iIEBgpsController->GenerateThumbNailL(aOrgFile, aTNResolution);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   370
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   371
    DP0_IMAGIC(_L("CIEEngineImp::GenerateThumbNail--"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   372
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   373
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   374
//This is used to get face coords from already processed image
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   375
void CIEEngineImp::GetFaceCoordinates(const TFileName aTNFileName, RArray<TRect>& aFaceCoordinateArray)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   376
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   377
    DP0_IMAGIC(_L("CIEEngineImp::GetFaceCoordinates"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   378
    aFaceCoordinateArray.Reset();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   379
    //iIEBgpsController->GetFaceCoordinates(aTNFileName, aFaceCoordinateArray);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   380
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   381
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   382
void CIEEngineImp::AddImageToFaceNameArray()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   383
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   384
    DP0_IMAGIC(_L("CIEEngineImp::AddImageToFaceNameArray++"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   385
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   386
    //Tarkista etta jos kuva on jo olemassa sita ei lisata enaa uudelleen 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   387
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   388
    for(TInt i=0; i<iCroppedFilenames.Count(); i++)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   389
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   390
        //Add newly cropped filenames to filename array
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   391
        CImageData* tmpImageData = CImageData::NewL(EFullSize);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   392
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   393
        TRAP_IGNORE(tmpImageData->SetFileNameL(iCroppedFilenames[i]));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   394
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   395
        DP1_IMAGIC(_L("CIEEngineImp::FaceCroppingComplete - Add face, Filename: %S"), &iCroppedFilenames[i] );
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   396
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   397
        TSize size;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   398
        TRAPD(err, iIEEngineUtils.GetImageSizeL(iCroppedFilenames[i], size));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   399
        if (err == KErrNone)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   400
            tmpImageData->SetSize(size);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   401
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   402
        iFileLoader->AddNewFaceCropImage(tmpImageData, 0);    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   403
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   404
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   405
    TInt numOfImages, numOfFaces;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   406
    iFileLoader->GetUpdatedNumOfImages(numOfImages, numOfFaces);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   407
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   408
    //TotalNumberOfFaceImagesChanged(numOfFaces);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   409
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   410
    //Empty data from array after using it
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   411
    TInt count = iCroppedFilenames.Count();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   412
    for(TInt i=0; i<count; i++)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   413
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   414
        iCroppedFilenames.Remove(0);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   415
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   416
    //iFileLoader->StopFileSystemMonitoring();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   417
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   418
    DP0_IMAGIC(_L("CIEEngineImp::AddImageToFaceNameArray--"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   419
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   420
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   421
//If background face Detection is still continuing, we have to use GetSingleFaceCoordinates() function to get face coordinates
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   422
void CIEEngineImp::GetSingleFaceCoordinates(TInt aIndex, const TFileName aTNFileName, RArray<TRect>& aFaceCoordinateArray)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   423
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   424
    DP0_IMAGIC(_L("CIEEngineImp::GetSingleFaceCoordinates"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   425
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   426
    iIEBgpsController->GetSingleFaceCoordinates(aIndex, aTNFileName, aFaceCoordinateArray);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   427
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   428
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   429
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   430
CImageData* CIEEngineImp::GetImageData(TInt aIndex/*, TImageArrayMode aMode*/)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   431
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   432
    return iFileLoader->GetImageData(aIndex/*, aMode*/);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   433
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   434
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   435
void CIEEngineImp::SetImageData(TInt aIndex, CImageData* aGridData)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   436
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   437
    iFileLoader->SetImageData(aIndex, aGridData);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   438
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   439
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   440
TInt CIEEngineImp::GetSelectedImageIndex()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   441
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   442
    return iEngineObserver.GetImageIndex();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   443
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   444
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   445
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   446
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   447
#ifdef _ACCELEROMETER_SUPPORTED_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   448
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   449
void CIEEngineImp::SensorDataAvailable(TImagicDeviceOrientation aOrientation, TBool aValue)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   450
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   451
    //DP0_IMAGIC(_L("CIEEngineImp::SensorDataAvailable++"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   452
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   453
    if(iPrevDeviceOrientation == aOrientation)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   454
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   455
        //DP0_IMAGIC(_L("CIEEngineImp::SensorDataAvailable - Orientation not changed--"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   456
        return;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   457
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   458
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   459
    iPrevDeviceOrientation = aOrientation;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   460
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   461
    CImageData* currentImage = NULL ; //GetGridData(GetSelectedImageIndex(), EImages);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   462
    TInt totalImages = GetTotalNumOfImages();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   463
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   464
    switch ( aOrientation )
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   465
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   466
#ifdef _S60_3x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   467
        case EOrientationDisplayDown: // Portrait Up
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   468
#else if _S60_5x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   469
        case TSensrvOrientationData::EOrientationDisplayUp: // Portrait Up
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   470
        //case TSensrvOrientationData::EOrientationDisplayDown: // Portrait Up
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   471
#endif            
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   472
            {               
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   473
            DP0_IMAGIC(_L("CIEEngineImp::SensorDataAvailable - EOrientationDisplayUp"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   474
            
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   475
            for ( TInt imageIndex = 0 ; imageIndex < totalImages ; imageIndex++ )
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   476
                {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   477
                currentImage = GetImageData(imageIndex); 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   478
                currentImage->iGridData.iTargetRotationAngle = (currentImage->GetOrientation() + 90)%360;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   479
                
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   480
                TReal targetA = currentImage->iGridData.iTargetRotationAngle;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   481
                TReal currentA = currentImage->iGridData.iRotationAngle;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   482
                
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   483
                currentImage->iGridData.iTargetRotationAngle = targetA;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   484
                
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   485
                }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   486
            
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   487
            iPrevDeviceOrientation = iDeviceOrientation = EOrientationDisplayDown;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   488
            break;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   489
            }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   490
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   491
#ifdef _S60_3x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   492
        case EOrientationDisplayLeftUp: // Landscape Up
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   493
#else if _S60_5x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   494
        case TSensrvOrientationData::EOrientationDisplayRightUp: // Landscape Up
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   495
        //case TSensrvOrientationData::EOrientationDisplayLeftUp: // Landscape Up
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   496
#endif            
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   497
                {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   498
            DP0_IMAGIC(_L("CIEEngineImp::SensorDataAvailable - EOrientationDisplayLeftUp"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   499
            
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   500
            for ( TInt imageIndex = 0 ; imageIndex < totalImages ; imageIndex++ )
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   501
                {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   502
                currentImage = GetImageData(imageIndex); 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   503
                if ( currentImage->iGridData.iRotationAngle == 270 )
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   504
                    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   505
                    currentImage->iGridData.iRotationAngle = -90; // Rotate
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   506
                    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   507
                currentImage->iGridData.iTargetRotationAngle = (currentImage->GetOrientation() )%360;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   508
                
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   509
                TReal targetA = currentImage->iGridData.iTargetRotationAngle;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   510
                TReal currentA = currentImage->iGridData.iRotationAngle;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   511
                
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   512
                currentImage->iGridData.iTargetRotationAngle = targetA;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   513
                }              
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   514
  
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   515
            iPrevDeviceOrientation = iDeviceOrientation = EOrientationDisplayLeftUp;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   516
            break;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   517
            }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   518
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   519
            default:
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   520
                {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   521
                DP1_IMAGIC(_L("CIEEngineImp::SensorDataAvailable - Ignored orientation: %d"),aOrientation);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   522
                //progressBuf.Append( _L( "Unknown orientation" ) );
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   523
                break;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   524
                }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   525
            }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   526
    iEngineObserver.ImageRotated(iDeviceOrientation);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   527
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   528
    DP0_IMAGIC(_L("CIEEngineImp::SensorDataAvailable--"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   529
   }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   530
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   531
void CIEEngineImp::SetImageRotation(TInt aIndex)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   532
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   533
    CImageData* currentImage = NULL ; //GetGridData(GetSelectedImageIndex(), EImages);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   534
    //TInt totalImages = GetTotalNumOfImages();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   535
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   536
    currentImage = GetImageData(aIndex); 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   537
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   538
    TReal targetAngle = (currentImage->GetOrientation())%360;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   539
    //TReal currentAngle = currentImage->iGridData.iRotationAngle;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   540
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   541
    currentImage->iGridData.iTargetRotationAngle = targetAngle;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   542
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   543
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   544
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   545
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   546
TImagicDeviceOrientation CIEEngineImp::GetDeviceOrientation()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   547
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   548
    DP1_IMAGIC(_L("CIEEngineImp::GetDeviceOrientation: %d"),iDeviceOrientation);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   549
    return iDeviceOrientation;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   550
   }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   551
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   552
void CIEEngineImp::SetDeviceOrientation(TImagicDeviceOrientation aOrientation)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   553
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   554
    DP1_IMAGIC(_L("CIEEngineImp::SetDeviceOrientation: %d"),aOrientation);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   555
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   556
    SensorDataAvailable(aOrientation, EFalse);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   557
   }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   558
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   559
void CIEEngineImp::StartAccSensorMonitoring()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   560
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   561
    if(iSensorMonitor)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   562
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   563
        DP0_IMAGIC(_L("CIEEngineImp::StartAccSensorMonitoring"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   564
        iSensorMonitor->StartMonitoring();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   565
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   566
        
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   567
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   568
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   569
void CIEEngineImp::StopAccSensorMonitoring()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   570
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   571
    if(iSensorMonitor)
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   572
        {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   573
        DP0_IMAGIC(_L("CIEEngineImp::StopAccSensorMonitoring"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   574
        iSensorMonitor->StopMonitoring();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   575
        }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   576
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   577
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   578
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   579
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   580
void CIEEngineImp::Stop()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   581
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   582
    /*TInt err = KErrNone;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   583
    StopTNGeneration(err); 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   584
    StopFaceDetection(err);*/
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   585
    iFileLoader->StopImageFinder();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   586
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   587
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   588
TBool CIEEngineImp::IsRunning()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   589
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   590
    //iIEBgpsController->
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   591
    return (iFileLoader->ImageFinderState() != CIEFileLoader::EImageFinderStopped);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   592
    //return ETrue;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   593
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   594
 
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   595
TBool CIEEngineImp::IsAccelerometerExists()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   596
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   597
    DP0_IMAGIC(_L("CIEEngineImp::IsAccelerometerExists"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   598
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   599
#ifdef _S60_3x_ACCELEROMETER_
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   600
#ifdef SENSOR_API_LOAD_DYNAMICALLY
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   601
    DP1_IMAGIC(_L("CIEEngineImp::IsAccelerometerExists - iSensorMonitor exists: %d"),iSensorMonitor);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   602
    return (iSensorMonitor != NULL);
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   603
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   604
#endif
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   605
    DP0_IMAGIC(_L("CIEEngineImp::IsAccelerometerExists - iSensorMonitor not exists"));
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   606
    return EFalse;
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   607
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   608
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   609
TInt CIEEngineImp::GetGleMaxRes()
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   610
    {
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   611
    return iEngineObserver.GetGleMaxRes();
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   612
    }
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   613
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   614
    
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   615
// EOF
93fff7023be8 Initial version
jkauppin
parents:
diff changeset
   616