enable dual camera
[platform/framework/native/media.git] / src / FMedia_CameraImpl.h
index cf90dd2..cb64cb4 100755 (executable)
@@ -47,6 +47,7 @@ namespace Tizen { namespace Media
 {
 class Camera;
 class ICameraEventListener;
+class _CameraRef;
 class _CameraEvent;
 class _CameraCoordinator;
 class _CameraCapability;
@@ -968,6 +969,17 @@ public:
        result SetExifOrientation(CameraExifOrientation orientation);
 
        /**
+       * Sets the orientation of the camera.
+       *
+       * @return               An error code
+       * @param[in]    orientation                     The orientation of the camera
+       * @exception    E_SUCCESS                       The method is successful.
+       * @exception    E_INVALID_STATE         This method is invalid for the current state of this instance.
+       * @exception    E_INVALID_ARG           The specified @c rotation is not supported.
+       */
+       result SetExifOrientationAttr(CameraExifOrientation orientation);
+
+       /**
        * Sets the GPS coordinates in the Exchangeable Image File Format (EXIF) field for the captured data.
        *
        * @return               An error code
@@ -1320,13 +1332,6 @@ public:
        static void FocusStateChangedCb(camera_focus_state_e state, void *pUserData);
 
        /**
-        *      Function check fo this object is alive.
-        *
-        * @return              true if the object is alive, otherwise false.
-        */
-       static bool IsAlive(void);
-
-       /**
         * Gets the Impl instance.
         *
         * @return              The pointer to %_CameraImpl
@@ -1397,7 +1402,7 @@ private:
        * @param[in]    reload                            reload configuration field
        * @exception    E_SUCCESS                               The method is successful.
        * @exception    E_SYSTEM                                A system error has occurred.
-       * @remarks      Multiple configuration field can be set using reloadConf parameter appending.
+       * @remarks      Multiple configuration field can be set using reload parameter appending.
        */
        result ReloadConfiguration(int reload);
 
@@ -1415,12 +1420,11 @@ private:
        * Change the focus state.
        *
        * @return       An error code
-       * @param[in]    currentMode             focus' current mode
-       * @param[in]    destMode             focus' destinationed mode
+       * @param[in]    focusMode             focus' destinationed mode
        * @exception    E_SUCCESS                               The method is successful.
        * @exception    E_SYSTEM                                A system error has occurred.
        */
-       result ChangeFocusModeTo(CameraFocusMode currentMode, CameraFocusMode destMode);
+       result ChangeFocusModeTo(CameraFocusMode focusMode);
 
        /**
        * Handle the auto focus operations.
@@ -1433,15 +1437,15 @@ private:
        result HandleAutoFocus(CameraFocusMode currentMode);
 
        /**
-        * Sets the scene mode of the camera internally.
+        * Sets the scene mode off.
         *
         * @return             An error code
-        * @param[in]       sceneMode                                                  The scene mode
+        * @param[in]       reload                                                  The reload flag
         * @exception       E_SUCCESS                                                               The method is successful.
         * @exception       E_DEVICE_FAILED                                         The device operation has failed.
         * @exception   E_SYSTEM                                A system error has occurred.
         */
-       result SetSceneModeAttr(CameraSceneMode sceneMode);
+       result SetSceneModeOff(int reload);
 
        _CameraImpl(const _CameraImpl& camera);
        _CameraImpl& operator =(const _CameraImpl& camera);
@@ -1453,6 +1457,7 @@ private:
        CameraState __state;
        _CameraHandle __handle;
 
+       std::unique_ptr <_CameraRef> __pCameraRef;
        std::unique_ptr <_CameraEvent> __pCameraEvent;
        std::unique_ptr <_VideoStreamCoordinator> __pVideoStreamCoordinator;
        ICameraEventListener* __pCameraEventListener;
@@ -1499,6 +1504,7 @@ private:
        CameraRotation __previewRotation;
        int __fps;
        CameraFocusMode __focusMode;
+       CameraFocusMode __currentFocusMode;
 
        int __previewProcessing;
        Tizen::Graphics::Rectangle __previewRegionRect;
@@ -1511,7 +1517,6 @@ private:
        int __focusPoints[2][MAX_FOCUS_POINT];
        int __supportedFocusPointCount;
 
-       static bool __isUsed;
        static const int MAX_CAMERA_PLANE_COUNT = 4;
 };