diff -r 000000000000 -r 1ddebce53859 camerauis/cameraapp/generic/inc/cameracontroller/mcamsettingpreviewhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/camerauis/cameraapp/generic/inc/cameracontroller/mcamsettingpreviewhandler.h Thu Jan 07 16:18:56 2010 +0200 @@ -0,0 +1,105 @@ +/* +* Copyright (c) 2007 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: Camera setting preview handler interface. +* +*/ + + +#ifndef CAM_MCAMSETTINGPREVIEWHANDLER_H +#define CAM_MCAMSETTINGPREVIEWHANDLER_H + +#include "CamSettingsInternal.hrh" + +/** + * MCamSettingPreviewHandler mixin. + */ +class MCamSettingPreviewHandler + { + public: + + /** + * Activates preview for one setting. + * Returns the preview value as setting value in ProvideCameraSettingL + * until Commit or Cancel is called. + * @param aSettingId The setting for which preview is set + * @param aSettingValue The setting value used for preview + * @leave Any system error code. + */ + virtual void ActivatePreviewL( const TCamSettingItemIds& aSettingId, + TInt aSettingValue ) = 0; + + /** + * Cancels the preview for one setting. + * After this call ProvideCameraSettingL returns the actual setting value. + * If the setting does not have active preview, such error is ignored. + * @param aSettingId Id of the setting for which the preview is cancelled. + */ + virtual void CancelPreview( const TCamSettingItemIds& aSettingId ) = 0; + + + /** + * Cancels the preview for a set of settings. + * If some of the settings do not have active preview, such error is ignored. + */ + virtual void CancelPreviews( const RArray aSettingIds ) = 0; + + /** + * Cancels all previews. + * No error reported, if no previews active. + */ + virtual void CancelAllPreviews() = 0; + + /** + * Commits the preview value for the given set of settings. + * After this call completes, the preview is no more active for the setting. + * If the call completes successfully, the preview is stored as the + * actual setting value. If leave occurs, the preview is not stored. + * @param aSettingId Id of the setting for which the preview is committed. + * @leave KErrArgument There was no preview value for the given setting. + * @leave Any system error code. + */ + virtual void CommitPreviewL( const TCamSettingItemIds& aSettingId ) = 0; + + /** + * Commits the preview for a set of settings. + * If some of the settings do not have active preview, such error is ignored. + */ + virtual void CommitPreviewsL( const RArray& aSettingIds ) = 0; + + /** + * Commit previews for all settings with active preview. + * @leave Any system error code. + */ + virtual void CommitAllPreviewsL() = 0; + + /** + * Get the set of settings with active preview. + * Preview is active if it has been set with ActivatePreviewL + * but not cancelled or committed after that. + * @param aSettingIds Return the ids of the active settings in this array. + */ + virtual void ActivePreviewsL( RArray& aSettingIds ) const = 0; + + /** + * Virtual destructor. + * Need to be defined in order to be able to gracefully delete + * inherited class entities through MCamCameraPreviewHandler pointer. + * If not declared here, User-42 panic occurs on delete. + */ + virtual ~MCamSettingPreviewHandler() {}; + }; + +#endif // CAM_MCAMSETTINGPREVIEWHANDLER_H + +// end of file