camerauis/cameraxui/cxui/tsrc/cxuifakestillcapturecontrol.h
changeset 19 d9aefe59d544
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraxui/cxui/tsrc/cxuifakestillcapturecontrol.h	Fri Apr 16 14:51:30 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* 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:
+*
+* Description:
+*
+*/
+#ifndef CXUIFAKESTILLCAPTURECONTROL_H
+#define CXUIFAKESTILLCAPTURECONTROL_H
+
+#include <QList>
+#include <ecam/camerasnapshot.h>
+
+#include "cxestillcapturecontrol.h"
+#include "cxestillcapturecontrolsymbian.h"
+#include "cxenamespace.h"
+
+class CxeSoundPlayerSymbian;
+class CxeFilenameGenerator;
+class CxeCameraDevice;
+class CxeStillImageSymbian;
+class CxeImageDataQueue;
+class CxeImageDataQueueSymbian;
+class CxeViewfinderControl;
+class CxeCameraDeviceControl;
+
+class CxuiFakeStillCaptureControl : public CxeStillCaptureControlSymbian
+
+{
+    Q_OBJECT
+
+public:  // constructors
+    CxuiFakeStillCaptureControl(
+        CxeCameraDevice &cameraDevice,
+        CxeViewfinderControl &viewfinderControl,
+        CxeCameraDeviceControl &cameraDeviceControl,
+        CxeSoundPlayerSymbian &soundPlayer,
+        CxeFilenameGenerator &nameGenerator);
+
+    virtual ~CxuiFakeStillCaptureControl();
+
+public:  // from CxeStillCaptureControl
+    int prepare();
+    void capture();
+
+public:  // public member functions, not in client API
+    //void handleSnapshotEvent();
+    void setFakeState(CxeStillCaptureControl::State aState);
+
+signals:
+    void imagePrepareComplete(int error);
+
+signals:
+    void capturedCalled();
+
+public slots:
+    //! Notification for when camera device is ready and we're entering still image mode
+    void init();
+
+    //! Notification for when we're exiting still image mode
+    void deinit();
+
+protected slots:
+    // notifications when camera reference is changed
+    void prepareForCameraDelete();
+    void handleCameraAllocated(CxeError::Id error);
+
+    // notification for when camera is released
+    void prepareForRelease();
+
+    // settings call back
+    void handleSceneChanged(CxeScene* scene);
+
+private:
+    CCamera::CCameraSnapshot *iCameraSnapshot; // own
+    CxeImageDataQueueSymbian *mImageDataQueue;  // own
+
+    CxeCameraDevice &mCameraDevice;
+    CxeViewfinderControl &mViewfinderControl;
+    CxeCameraDeviceControlSymbian &mCameraDeviceControl;
+
+
+    CxeSoundPlayerSymbian &mSoundPlayer;
+    CxeFilenameGenerator &mFilenameGenerator;
+
+    CaptureMode mMode;
+    QList<CxeStillImageSymbian*> mImages;
+    int mNextSnapshotIndex;
+    int mNextImageDataIndex;
+};
+
+#endif // CXESTILLCAPTURECONTROLSYMBIAN_H