epoc32/include/ecam/ecamdirectviewfinder.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
child 4 837f303aceeb
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
     1 // Copyright (c) 2006-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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 
    17 
    18 /**
    19  @file
    20  @publishedAll
    21  @released
    22 */
    23 #ifndef  ECAMDIRECTVIEWFINDER_H
    24 #define  ECAMDIRECTVIEWFINDER_H
    25 
    26 #include <e32base.h>
    27 #include <ecam.h>
    28 #include <ecam/ecamdirectviewfinderuids.hrh>
    29 
    30 class MCameraDirectViewFinder;
    31 
    32 /** 
    33 UID used to identify the CCameraDirectViewFinder API.
    34 
    35 @see CCamera::CCameraDirectViewFinder
    36 */
    37 static const TUid KECamDirectViewFinderUid 	= {KECamDirectViewFinderUidValue};
    38 
    39 /** 
    40 CCamera direct view finder class is used to provide support for Direct View Finder functionalities like pause/resume.
    41 
    42 @note This class is not intended for sub-classing and used to standardise existing
    43        varieties of implementations.
    44 
    45 @note   This class features are supposed to be meant for the direct viewfinder started using CCamera methods.
    46 
    47 @note   If the class methods leave, the output type parameter value is not guaranteed to be valid.
    48 
    49 @publishedAll
    50 @released
    51 */
    52 class CCamera::CCameraDirectViewFinder : public CBase
    53 	{
    54 	/* so can use internal factory functions etc. */
    55 	friend class CCamera;
    56 
    57 public:
    58    
    59 	/** Specifies direct viewfinder state. */ 
    60 	enum TViewFinderState
    61 		{
    62 		/** View Finder is activated */  
    63 		EViewFinderActive, 	 
    64 		/** View Finder has been paused */
    65 		EViewFinderPause,	 
    66 		/** View Finder has been stopped or hasn't yet started. Default state. */
    67 		EViewFinderInActive
    68 		};
    69 	
    70 public:
    71 
    72 	IMPORT_C static CCameraDirectViewFinder* NewL(CCamera& aOwner);
    73 
    74     IMPORT_C void PauseViewFinderDirectL();
    75 	IMPORT_C void ResumeViewFinderDirectL();
    76 	IMPORT_C TViewFinderState ViewFinderState() const;
    77 	
    78 	IMPORT_C ~CCameraDirectViewFinder();
    79     
    80 private:
    81 	CCameraDirectViewFinder(CCamera& aOwner);
    82 	void ConstructL();
    83 	
    84 	void SetImplHandle();
    85 	
    86 private:	
    87 	CCamera&                	iOwner;
    88 	MCameraDirectViewFinder* 	iImpl;  // not owned
    89    };		
    90     
    91 #endif // ECAMDIRECTVIEWFINDER_H