camerauis/cameraxui/cxengine/src/cxeenginedesktop.cpp
branchRCL_3
changeset 24 bac7acad7cb3
parent 23 61bc0f252b2b
child 25 2c87b2808fd7
--- a/camerauis/cameraxui/cxengine/src/cxeenginedesktop.cpp	Tue Aug 31 15:03:46 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +0,0 @@
-/*
-* Copyright (c) 2010 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:
-*
-* Description:
-*
-*/
-#include "cxeenginedesktop.h"
-#include "cxecameradevicecontroldesktop.h"
-#include "cxestillcapturecontroldesktop.h"
-#include "cxevideocapturecontroldesktop.h"
-#include "cxeviewfindercontroldesktop.h"
-#include "cxefilenamegeneratordesktop.h"
-#include "cxeautofocuscontroldesktop.h"
-#include "cxezoomcontroldesktop.h"
-#include "cxequalitypresetsdesktop.h"
-#include "cxutils.h"
-#include "cxesettingsimp.h"
-#include "cxefeaturemanagerimp.h"
-#include "cxesettingsstoredesktop.h"
-#include "cxesensoreventhandlerdesktop.h"
-#include "cxefilesavethreaddesktop.h"
-#include "cxecameradevicedesktop.h"
-#include "cxememorymonitor.h"
-#include "cxegeotaggingtrail.h"
-
-
-//  Member Functions
-
-CxeEngineDesktop::CxeEngineDesktop()
-    : mCameraDeviceControl(NULL),
-      mViewfinderControl(NULL),
-      mSnapshotControl(NULL),
-      mStillCaptureControl(NULL),
-      mVideoCaptureControl(NULL),
-      mAutoFocusControl(NULL),
-      mZoomControl(NULL),
-      mImageDataQueue(NULL),
-      mSettings(NULL),
-      mFeatureManager(NULL),
-      mFilenameGenerator(NULL),
-      mSensorEventHandler(NULL),
-      mQualityPresets(NULL),
-      mFileSaveThread(NULL),
-      mCameraDevice(NULL),
-      mDiskMonitor(NULL),
-      mMemoryMonitor(NULL),
-      mGeoTaggingTrail(NULL)
-{
-    CX_DEBUG_IN_FUNCTION();
-}
-
-
-/*!
-    Create all control classes and connect relevant signals
-*/
-void CxeEngineDesktop::construct()
-{
-    CX_DEBUG_ENTER_FUNCTION();
-
-    createControls();
-    connectSignals();
-
-    CX_DEBUG_EXIT_FUNCTION();
-}
-
-
-/*!
-    Create all control classes
-*/
-void CxeEngineDesktop::createControls()
-{
-    CX_DEBUG_ENTER_FUNCTION();
-
-    if (!mVideoCaptureControl) {
-        CxeCameraDeviceControlDesktop *deviceControl =
-                new CxeCameraDeviceControlDesktop();
-
-        mCameraDeviceControl = deviceControl;
-
-        mQualityPresets = new CxeQualityPresetsDesktop();
-        CX_DEBUG_ASSERT(mQualityPresets);
-
-        CxeSettingsStoreDesktop *settingsStore = new CxeSettingsStoreDesktop();
-
-        //ownership of settings store transferred to the settings.
-        mSettings = new CxeSettingsImp(settingsStore);
-
-        // Loading current camera mode value from settings store and updating
-        // devicecontrol
-        Cxe::CameraMode cameraMode = mSettings->get<Cxe::CameraMode>(CxeSettingIds::CAMERA_MODE, Cxe::ImageMode);
-        // set current camera mode to devicecontrol.
-        mCameraDeviceControl->setMode(cameraMode);
-
-        static_cast<CxeSettingsImp*>(mSettings)->loadSettings(mode());
-
-        mFeatureManager = new CxeFeatureManagerImp(*mSettings);
-
-        mMemoryMonitor = new CxeMemoryMonitor(*mFeatureManager);
-
-        // sensor event handler initialization
-        mSensorEventHandler = new CxeSensorEventHandlerDesktop();
-
-        mFilenameGenerator = new CxeFilenameGeneratorDesktop();
-
-        mFileSaveThread = new CxeFileSaveThreadDesktop(this);
-
-        mCameraDevice = new CxeCameraDeviceDesktop();
-
-        mViewfinderControl = new CxeViewfinderControlDesktop(*mCameraDevice);
-
-        mAutoFocusControl = new CxeAutoFocusControlDesktop();
-        
-        mStillCaptureControl = new CxeStillCaptureControlDesktop(
-            *mCameraDevice, *mViewfinderControl,
-            *mCameraDeviceControl, *mFilenameGenerator,
-            *mAutoFocusControl, *mFileSaveThread);
-
-        mZoomControl = new CxeZoomControlDesktop(*mCameraDeviceControl);
-
-        mVideoCaptureControl = new CxeVideoCaptureControlDesktop(
-            *mCameraDevice,*mViewfinderControl,
-            *mCameraDeviceControl, *mFilenameGenerator,
-            *mQualityPresets);
-   
-        mGeoTaggingTrail = new CxeGeoTaggingTrail(*mStillCaptureControl,
-                                                  *mVideoCaptureControl, *mSettings);
-    }
-
-    CX_DEBUG_EXIT_FUNCTION();
-}
-
-/*!
-    Connect internal signals for control classes
-*/
-
-void CxeEngineDesktop::connectSignals()
-{
-    CX_DEBUG_ENTER_FUNCTION();
-
-    // connecting scene setting change callbacks to ViewfinderControl
-    connect(mSettings,
-            SIGNAL(settingValueChanged(const QString&,QVariant)),
-            mViewfinderControl,
-            SLOT(handleSettingValueChanged(const QString&,QVariant)));
-
-    connect(mSettings,
-            SIGNAL(sceneChanged(CxeScene&)),
-            mViewfinderControl,
-            SLOT(handleSceneChanged(CxeScene&)));
-
-    // enabling scene setting change callbacks to Autofocus control
-    connect(mSettings,
-            SIGNAL(sceneChanged(CxeScene&)),
-            mAutoFocusControl,
-            SLOT(handleSceneChanged(CxeScene&)));
-
-    // connecting Autofocus state change callbacks to stillcapturecontrol
-    connect(mAutoFocusControl,
-            SIGNAL(stateChanged(CxeAutoFocusControl::State, CxeError::Id)),
-            mStillCaptureControl,
-            SLOT(handleAutofocusStateChanged(CxeAutoFocusControl::State,CxeError::Id)));
-
-    // Connect signals for ECam events
-    connect(mCameraDeviceControl,
-            SIGNAL(cameraEvent(int,int)),
-            mVideoCaptureControl,
-            SLOT(handleCameraEvent(int,int)));
-
-    connect(mCameraDeviceControl,
-            SIGNAL(cameraEvent(int,int)),
-            mAutoFocusControl,
-            SLOT(handleCameraEvent(int,int)));
-
-    // Connect signal for device ready events
-    connect(mCameraDeviceControl,
-            SIGNAL(deviceReady()),
-            this,
-            SLOT(doInit()));
-
-    // Connect image and video init complete signals to
-    // CameraDeviceControl initModeComplete
-    connect(mStillCaptureControl,
-            SIGNAL(imagePrepareComplete(CxeError::Id)),
-            mCameraDeviceControl,
-            SIGNAL(initModeComplete(CxeError::Id)));
-
-    connect(mVideoCaptureControl,
-            SIGNAL(videoPrepareComplete(CxeError::Id)),
-            mCameraDeviceControl,
-            SIGNAL(initModeComplete(CxeError::Id)));
-
-    // Zoom is prepared once the image/video emits prepare zoom signals
-    connect(mStillCaptureControl,
-            SIGNAL(prepareZoomForStill(int)),
-            mZoomControl,
-            SLOT(prepareZoomForStill(int)));
-    
-    connect(mVideoCaptureControl,
-            SIGNAL(prepareZoomForVideo()),
-            mZoomControl,
-            SLOT(prepareZoomForVideo()));
-
-    // connect camera device control prepare for release signal to stop location trail slot
-    connect(mCameraDevice,
-            SIGNAL(prepareForRelease()),
-            mGeoTaggingTrail,
-            SLOT(stop()), Qt::UniqueConnection);
-
-    // init camera device control. We init the camera device control
-    // when all necessary engine classes are constructed.
-    mCameraDeviceControl->init();
-
-    CX_DEBUG_EXIT_FUNCTION();
-}
-
-CxeEngineDesktop::~CxeEngineDesktop()
-{
-    CX_DEBUG_ENTER_FUNCTION();
-
-    delete mGeoTaggingTrail;
-    delete mAutoFocusControl;
-    delete mZoomControl;
-    delete mStillCaptureControl;
-    delete mVideoCaptureControl;
-    delete mViewfinderControl;
-    delete mFilenameGenerator;
-    delete mMemoryMonitor;
-    delete mFeatureManager;
-    delete mSettings;
-    delete mCameraDeviceControl;
-    delete mQualityPresets;
-    delete mCameraDevice;
-    CX_DEBUG_EXIT_FUNCTION();
-}
-
-CxeCameraDeviceControl &CxeEngineDesktop::cameraDeviceControl()
-{
-    return *mCameraDeviceControl;
-}
-
-CxeViewfinderControl &CxeEngineDesktop::viewfinderControl()
-{
-    return *mViewfinderControl;
-}
-
-CxeSnapshotControl &CxeEngineDesktop::snapshotControl()
-{
-    return *mSnapshotControl;
-}
-
-CxeStillCaptureControl &CxeEngineDesktop::stillCaptureControl()
-{
-    return *mStillCaptureControl;
-}
-
-CxeVideoCaptureControl &CxeEngineDesktop::videoCaptureControl()
-{
-    return *mVideoCaptureControl;
-}
-
-CxeAutoFocusControl &CxeEngineDesktop::autoFocusControl()
-{
-    return *mAutoFocusControl;
-}
-
-CxeZoomControl &CxeEngineDesktop::zoomControl()
-{
-    return *mZoomControl;
-}
-
-// Get the settings handle
-CxeSettings &CxeEngineDesktop::settings()
-{
-    return *mSettings;
-}
-
-CxeFeatureManager& CxeEngineDesktop::featureManager()
-{
-    return *mFeatureManager;
-}
-
-/*
-* Returns true, if the engine is ready or else false.
-*/
-bool CxeEngineDesktop::isEngineReady()
-{
-    bool ready = true;
-    return ready;
-}
-
-/*!
-* Get memory monitor utility handle.
-*/
-CxeMemoryMonitor &CxeEngineDesktop::memoryMonitor()
-{
-    return *mMemoryMonitor;
-}
-
-/*!
- * Get geotaggingtrail handle
- */
-CxeGeoTaggingTrail &CxeEngineDesktop::geoTaggingTrail()
-{
-    return *mGeoTaggingTrail;
-}
-
-Cxe::CameraMode CxeEngineDesktop::mode() const
-{
-    return mCameraDeviceControl->mode();
-}
-
-/*!
- * Set camera mode.
- */
-void CxeEngineDesktop::setMode(Cxe::CameraMode mode)
-{
-    CX_DEBUG_ENTER_FUNCTION();
-    mCameraDeviceControl->setMode(mode);
-    CX_DEBUG_EXIT_FUNCTION();
-}
-
-void CxeEngineDesktop::initMode(Cxe::CameraMode cameraMode)
-{
-    CX_DEBUG_ENTER_FUNCTION();
-
-    mCameraDeviceControl->setMode(cameraMode);
-
-    // load settings whenever we change mode or start camera or switch camera
-    CxeSettingsImp *settingsImp = qobject_cast<CxeSettingsImp*>(mSettings);
-    if (settingsImp) {
-        settingsImp->loadSettings(mode());
-    }
-
-    if (cameraMode == Cxe::ImageMode) {
-        mVideoCaptureControl->deinit();
-        mStillCaptureControl->init();
-    } else {
-        mStillCaptureControl->deinit();
-        mVideoCaptureControl->init();
-    }
-    mFilenameGenerator->init(cameraMode);
-
-    CX_DEBUG_EXIT_FUNCTION();
-}
-
-// End of file