diff -r 3592750162a5 -r 2dc695882abd usbuis/imageprintui/inc/capabilitymanager.h --- a/usbuis/imageprintui/inc/capabilitymanager.h Wed Oct 13 13:08:34 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,276 +0,0 @@ -/* -* Copyright (c) 2006,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: Header file for capabilitymanager -* -*/ - - -#ifndef CAPABILITYMANAGER_H -#define CAPABILITYMANAGER_H - -#include -#include -#include -#include -#include - - -const TInt KPhoneCapabilityVersion = 0; -const TInt KRetryAsk = 2 * 100 * 1000; // 200 ms -const TInt KDefaultArray = 5; -_LIT(KPhoneCapability, "private\\1020e470\\phonecapability.rsc"); - -class CImagePrintUiAppUi; - -/** -* CCapabilityManager is an active object that sends an asynchronous request -* to retrieve capabilities -*/ -class CCapabilityManager : public CActive - { - -public: - - /** - * Factory method NewL - * @param aOwner The observer to be notified on the change. - * @param aEngine the pointer to the PictBridge engine - * @return instance of capability manager - */ - static CCapabilityManager* NewL(CImagePrintUiAppUi* aAppUi, CDpsEngine* aEngine); - - - /** - * Destructor. - */ - virtual ~CCapabilityManager(); - - - /** - * Gives current qualities for doDpsRequest - * - */ - TUint Quality(); - - - /** - * Gives current paper size for doDpsRequest - * - */ - TUint PaperSize(); - - /** - * Gives current paper layout for doDpsRequest - * - */ - TUint Layout(); - - /** - * Gives current print setting to UI - * - */ - TUint CurrentPrintSettings(TInt aDpsArg); - - /** - * All qualities asked by UI engine - * @param aReason the answer for request complete to UI capability query - */ - void QualitiesAsked(TInt aReason); - - - /** - * Return certain type list of Capabilities - * @param aCapability the Capabilities type requested - */ - RArray& GetCapabilitiesL(TInt aCapability); - - /** - * Stores value choosed by user - */ - void SetValue(TInt aCapability, TUint aValue); - - /** - * Ask capabilities when needed - * - */ - void AskCapabilitiesL(TBool aChanged); - - - /** - * Ask layout when user has selected certain papersize - * - */ - void AskLayoutForPaperSizeL(TUint aPaperSize); - - - - /** - * Check if capabilities differ when user start print - * - */ - void CheckIfNewCapabilityDiffer(); - - -private: //from CActive - /** - * Implements CActive - * If this is not a one-shot CR watcher, the listening is restarted. - * @param none - * @return none - */ - void RunL(); - - /** - * Implements CActive - * @param aError the error returned - * @return error - */ - TInt RunError(TInt aError); - - /** - * Implements CActive - * @param none - * @return none - */ - void DoCancel(); - - - /** - * Stores current qualities - * - */ - void StoreQualitiesL(RArray& aCurrQualities); - - /** - * Stores current paper size - * - */ - void StorePaperSizeL(RArray& aSuppPaperSize); - - /** - * Stores current first paper layout - * - */ - void StoreLayouts(RArray& aSuppLayouts); - - /** - * Ask quality from printer - */ - void AskQualityL(); - - /** - * Ask paper size from printer - */ - void AskPaperSizeL(); - - /** - * Ask layout from printer - */ - void AskLayoutL(); - - -private: //own methods - - enum TCapabilityType - { - EQualities, - EPaperSize, - ELayouts - }; - - /** - * Second phase constructor. Operations which might leave should - * be called here - */ - void ConstructL(); - - - /** - * Handles capabilities after RunL - * - */ - void HandleCapabilitiesL(TCapabilityType aType); - - /** - * Read phone supported capabilities - * - */ - void GetPhoneConfigL(); - - /** - * C++ default constructor - * @param aAppUi the pointer to the AppUi instance - * @param aEngine the pointer to the PictBridge engine - */ - CCapabilityManager( CImagePrintUiAppUi* aAppUi, - CDpsEngine* aEngine); - - - - /** - * Handles result of asking layout for certain papersize - * - */ - void HandleLayoutForPaperSize(); - - -private: //data - - CImagePrintUiAppUi* iAppUi; - - /** - * Instance to PictBridge Engine to get capabilities - * Not own - */ - CDpsEngine* iDpsEngine; - - TBool iCapabilityAskFailed; - TBool iCapabilityNotChanged; - TBool iIsCapabilityEmpty; - TBool iLayoutForPaperSize; - - TCapabilityType iCapabilityType; - - // types for DoDpsRequest - TDpsGetCapability iCap; - - - //Arrays for storing and maintaining capabilities data after - //comparing printer and phone supported capabilities - RArray iCurrentQualities; - RArray iCurrentPaperSizes; - RArray iCurrentLayouts; - - - TUint iCurrentQuality; - TUint iCurrentPaperSize; - TUint iCurrentLayout; - - TUint iUserSelectedQuality; - TUint iUserSelectedPaperSize; - TUint iUserSelectedLayout; - - //phone supported capabilities - RArray iPhoneSuppLayout; - RArray iPhoneSuppPaperSize; - RArray iPhoneSuppQuality; - - RArray iReturnArray; - - }; - - -#endif // CAPABILITYMANAGER_H - -// End of File