camerauis/cameraxui/cxengine/inc/cxecameradevice.h
changeset 46 c826656d6714
parent 19 d9aefe59d544
equal deleted inserted replaced
42:feebad15db8c 46:c826656d6714
     1 /*
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    26 #include "cxeerror.h"
    26 #include "cxeerror.h"
    27 #include "cxenamespace.h"
    27 #include "cxenamespace.h"
    28 
    28 
    29 class MCameraOrientation;
    29 class MCameraOrientation;
    30 class MCameraFaceTracking;
    30 class MCameraFaceTracking;
       
    31 class MCameraUseCaseHint;
    31 
    32 
    32 //  Class Definitions
    33 //  Class Definitions
    33 class CxeCameraDevice : public QObject
    34 class CxeCameraDevice : public QObject
    34 {
    35 {
    35     Q_OBJECT
    36     Q_OBJECT
    42         CCamera::CCameraAdvancedSettings *advancedSettings();
    43         CCamera::CCameraAdvancedSettings *advancedSettings();
    43         CCamera::CCameraImageProcessing *imageProcessor();
    44         CCamera::CCameraImageProcessing *imageProcessor();
    44         MCameraOrientation *cameraOrientation();
    45         MCameraOrientation *cameraOrientation();
    45         CCamera::CCameraSnapshot *cameraSnapshot();
    46         CCamera::CCameraSnapshot *cameraSnapshot();
    46         MCameraFaceTracking *faceTracking();
    47         MCameraFaceTracking *faceTracking();
       
    48         MCameraUseCaseHint *useCaseHintApi();
    47 
    49 
    48         virtual void setCamera( CCamera *aCamera );
    50         virtual void setCamera( CCamera *aCamera );
    49         virtual void deleteCamera();
    51         virtual void deleteCamera();
    50         virtual void releaseCamera();
    52         virtual void releaseCamera();
       
    53         virtual void reserveCamera();
    51         virtual CxeError::Id newCamera(Cxe::CameraIndex cameraIndex, MCameraObserver2 *observer);
    54         virtual CxeError::Id newCamera(Cxe::CameraIndex cameraIndex, MCameraObserver2 *observer);
    52 
    55 
    53     protected:
    56     protected:
    54 
    57 
    55     signals:
    58     signals:
    56         void prepareForCameraDelete();
    59         void prepareForCameraDelete();
    57         void cameraAllocated(CxeError::Id error);
    60         void cameraAllocated(CxeError::Id error);
    58         void prepareForRelease();
    61         void prepareForRelease();
    59 
    62         void aboutToReserve();
    60 
    63 
    61     private:
    64     private:
    62         CxeError::Id initResources();
    65         CxeError::Id initResources();
    63         void releaseResources();
    66         void releaseResources();
    64 
    67 
    67         CCamera::CCameraAdvancedSettings *mAdvancedSettings;
    70         CCamera::CCameraAdvancedSettings *mAdvancedSettings;
    68         CCamera::CCameraImageProcessing  *mImageProcessor;
    71         CCamera::CCameraImageProcessing  *mImageProcessor;
    69         CCamera::CCameraSnapshot         *mCameraSnapshot;
    72         CCamera::CCameraSnapshot         *mCameraSnapshot;
    70         MCameraOrientation               *mCameraOrientation; // not owned
    73         MCameraOrientation               *mCameraOrientation; // not owned
    71         MCameraFaceTracking              *mFaceTracking;      // not owned
    74         MCameraFaceTracking              *mFaceTracking;      // not owned
       
    75         MCameraUseCaseHint               *mUseCaseHintApi;    // not owned
    72 
    76 
    73     friend class CxeCameraDeviceControlSymbian;
    77     friend class CxeCameraDeviceControlSymbian;
    74 };
    78 };
    75 
    79 
    76 
    80