--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/imageprintui/inc/requestmanager.h Thu Dec 17 09:14:30 2009 +0200
@@ -0,0 +1,237 @@
+/*
+* 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 requestmanager
+*
+*/
+
+
+#ifndef C_REQUESTMANAGER_H
+#define C_REQUESTMANAGER_H
+
+#include <dpsoperation.h>
+#include <dpsparam.h>
+#include <badesca.h>
+
+class CDpsEngine;
+class CCapabilityManager;
+class CImagePrintUiAppUi;
+
+const TInt KDefaultSize = 64;
+
+
+/**
+* Class for requesting DPS request
+*/
+class CRequestManager : public CActive
+ {
+
+public:
+
+ enum TRequestType
+ {
+ EConfigurePrintService = 0,
+ EGetCapability,
+ EGetJobStatus,
+ EGetDeviceStatus,
+ EStartJob,
+ EAbortJob,
+ EContinueJob,
+ ESetPrintMode
+ };
+
+ enum TNotifyType
+ {
+ EConfigurePrintServiceOK = 1,
+ EConfigurePrintServiceNOK,
+ EGetCapabilityOK,
+ EGetJobStatusOK,
+ EGetJobStatusNOK,
+ EGetDeviceStatusOK,
+ EGetDeviceStatusNOK,
+ EStartJobOK,
+ EStartJobNOK,
+ EAbortJobOK,
+ EAbortJobNOK,
+ EContinueJobOK,
+ EPicturesNotFound
+ };
+
+ /**
+ * Two-phase constructors
+ * @param aDpsEngine the pointer to the PictBridge engine
+ * @param aCapabilityManager the pointer to the Capability Manager
+ * @param aAppUi the pointer to the AppUi class
+ * @return Initialized instance of CRequestManager
+ */
+ static CRequestManager* NewL( CDpsEngine* aDpsEngine,
+ CCapabilityManager* aCapabilityManager, CImagePrintUiAppUi* aAppUi);
+
+ /**
+ * Two-phase constructors
+ * @param aDpsEngine the pointer to the PictBridge engine
+ * @param aCapabilityManager the pointer to the Capability Manager
+ * @param aAppUi the pointer to the AppUi class
+ * @return Initialized instance of CRequestManager
+ */
+ static CRequestManager* NewLC( CDpsEngine* aDpsEngine,
+ CCapabilityManager* aCapabilityManager, CImagePrintUiAppUi* aAppUi);
+
+
+ /**
+ * Default destructor.
+ * @since S60 v3.2
+ */
+ virtual ~CRequestManager();
+
+
+ /**
+ * Chooses DoDpsRequest type
+ * @param aType type of request
+ * @return none
+ */
+ void ChooseDpsRequestTypeL( TRequestType aType );
+
+ /**
+ * Give printer and vendor names to UI
+ * @param aVendorName the vendor name
+ * @param aProductName the product name
+ * @return none
+ */
+ void GetPrinterName(TDes8& aVendorName, TDes8& aProductName);
+
+ /**
+ * Issues again DoDpsRequest if iStatus indicates timeout or PictBridge is in use
+ */
+ void ReIssueDoDpsRequestL();
+
+protected:
+
+ /**
+ * @see CActive
+ */
+ void RunL();
+
+ /**
+ * @see CActive
+ */
+ void DoCancel();
+
+ /**
+ * @see CActive
+ */
+ TInt RunError(TInt aError);
+
+ /**
+ * Externalixe value when save those into config file
+ */
+ void ExternalizeL(RWriteStream& aStream) const;
+
+
+private:
+
+ /**
+ * Default constructor
+ * @param aDpsEngine the pointer to the PictBridge engine
+ * @param aCapabilityManager the pointer to the Capability Manager
+ * @param aAppUi the pointer to the AppUi class
+ */
+ CRequestManager( CDpsEngine* aDpsEngine,
+ CCapabilityManager* aCapabilityManager, CImagePrintUiAppUi* aAppUi);
+
+
+ /**
+ * 2nd phase construction
+ */
+ void ConstructL();
+
+ /**
+ * Handles return situation after requesting DPS request GetDeviceStatus
+ */
+ void HandleDeviceStatusL();
+
+ /**
+ * Handles return situation after requesting DPS request AbortJob
+ */
+ void HandleAbortL();
+
+
+ /**
+ * Handles return situation after requesting DPS request StartJob
+ */
+ void HandleStartJobL();
+
+
+ /**
+ * Handles return situation after requesting DPS request GetJobStatus
+ */
+
+ void HandleGetJobStatusL();
+
+ /**
+ * Handles return situation after requesting DPS request GetConfigure
+ */
+ void HandleConfigureL();
+
+ /**
+ * Saves configure info to file
+ */
+ void SaveConfigInfoL();
+
+
+ /**
+ * Read configure info from file
+ */
+ void ReadConfigInfoL();
+
+ /**
+ * Performs start job request
+ */
+ void ExecuteStartJobRequestL();
+
+
+
+private:
+
+ // owned by AppUi
+ CDpsEngine* iDpsEngine;
+ CCapabilityManager* iCapabilityManager;
+ CImagePrintUiAppUi* iAppUi;
+
+ // types for DoDpsRequest
+ TDpsGetCapability iCap;
+ TDpsStartJob iStart;
+ TDpsAbortJob iAbort;
+ TDpsContinueJob iContinue;
+ TDpsGetPrinterStatus iPrinter;
+ TDpsGetJobStatus iJob;
+ TDpsConfigPrintService iConfig;
+
+ TRequestType iRequestType;
+
+ TInt iNumberOfImages;
+
+ TBool iJobFinished;
+ TBool iFileExist;
+
+ CDesCArrayFlat* iImageArrayFlat;
+
+ TBuf8<KDefaultSize> iVendorName;
+ TBuf8<KDefaultSize> iProductName;
+
+ HBufC* iCongFileName;
+
+ };
+
+
+#endif // C_REQUESTMANAGER_H