os/mm/mmplugins/cameraplugins/source/mmcameraclientplugin/mmcameraserver/src/mmcameraservercontroller.h
Update contrib.
1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
21 #ifndef MMCAMERASERVERCONTROLLER_H
22 #define MMCAMERASERVERCONTROLLER_H
24 #include "mmcameraserver.h"
25 #include <graphics/surfaceconfiguration.h>
29 #include <mmcamerasensorcomponent.h>
30 #include <mmcameraviewfindercomponent.h>
31 #include <mmcameracapturecomponent.h>
32 #include <mmgraphicssinkcomponent.h>
35 class CMMCameraServerController : public CBase
38 static CMMCameraServerController* NewL(TInt aCameraIndex);
40 ~CMMCameraServerController();
42 TInt CameraIndex() const;
43 TInt CameraHandle() const;
47 void PrepareDirectViewFinderL(TDirectViewFinderInfo& aViewFinderInfo);
48 TInt StartDirectViewFinder();
49 void StopDirectViewFinder();
50 void ResumeDirectViewFinder();
51 void PauseDirectViewFinder();
52 CCamera::CCameraV2DirectViewFinder::TViewFinderState GetDirectViewFinderState() const;
53 TInt SetDirectViewFinderMirror(const TBool aMirror);
54 TInt GetDirectViewFinderMirror(TBool& aMirror);
55 TInt DirectViewFinderProperties(TInt& aScreenNum, TRect& aScreenRect, TRect& aClipRect);
57 TInt SetZoom(const TInt aZoom);
58 TInt SetDigitalZoom(const TInt aDigitalZoom);
59 TInt SetContrast(const TInt aContrast);
60 TInt SetBrightness(const TInt aBrightness);
61 TInt SetFlash(const CCamera::TFlash aFlash);
62 TInt SetExposure(const CCamera::TExposure aExposure);
63 TInt SetWhiteBalance(const CCamera::TWhiteBalance aWhiteBalance);
64 TInt GetZoom(TInt& aZoom);
65 TInt GetDigitalZoom(TInt& aDigitalZoom);
66 TInt GetContrast(TInt& aContrast);
67 TInt GetBrightness(TInt& aBrightness);
68 TInt GetFlash(CCamera::TFlash& aFlash);
69 TInt GetExposure(CCamera::TExposure& aExposure);
70 TInt GetWhiteBalance(CCamera::TWhiteBalance& aWhiteBalance);
73 CMMCameraServerController(TInt aCameraIndex);
78 TDblQueLink iCamCntrlLink; // Link Object for Server
81 MMClient::RMMServer iMMServer;
82 MMClient::RMMStreamContainer iMMStreamContainer;
83 MMClient::RMMStream iMMStream;
85 MMCameraComponents::RMMCameraViewFinder iCameraViewFinder;
86 MMCameraComponents::RMMCameraSensor iCameraSensor;
87 MMCameraComponents::RMMCameraCapture iCameraCapture;
88 MMVideoComponents::RMMVideoGraphicsSink iGraphicsSink;
95 CCamera::CCameraV2DirectViewFinder::TViewFinderState iViewFinderState;
97 TRect iClipRect; // To store the screen clipping area specified by the client during StartViewFinderDirectL()
98 // Unless this is passed to RMM classes in which case this can be retrieved through Get() Methods?
103 CCamera::TFlash iFlash;
104 CCamera::TExposure iExposure;
105 CCamera::TWhiteBalance iWhiteBalance;
110 class CMMCameraServerControllerQuery : public CBase
113 static CMMCameraServerControllerQuery* NewL();
114 ~CMMCameraServerControllerQuery();
116 TInt GetCamerasAvailable();
120 CMMCameraServerControllerQuery();
123 MMClient::RMMServer iServer;
126 #endif // MMCAMERASERVERCONTROLLER_H