usbuis/imageprintui/inc/imageprintuiappui.h
changeset 0 1e05558e2206
child 3 47c263f7e521
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/imageprintui/inc/imageprintuiappui.h	Thu Dec 17 09:14:30 2009 +0200
@@ -0,0 +1,336 @@
+/*
+* 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 imageprintuiappui
+*
+*/
+
+
+#ifndef C_CIMAGEPRINTUIAPPUI_H
+#define C_CIMAGEPRINTUIAPPUI_H
+
+#include <aknviewappui.h>
+#include <AknProgressDialog.h>
+#include <AknWaitDialog.h>
+#include <badesca.h>
+#include "connectionmanager.h"
+#include "capabilitymanager.h"
+#include "eventmanager.h"
+#include "requestmanager.h"
+
+#include <AiwServiceIfMenu.h>
+#include <GenericParamConsumer.h>
+#include <eikenv.h>
+
+#include <pictbridge.h>
+
+class CNotes;
+class CNoteTimer;
+class CAknNavigationDecorator; 
+class DRMCommon;
+ 
+ 
+const TInt KNumberOfUnsupportedFiles = 1; 
+const TInt KPrintFinishValue = 100; 
+const TInt KMaxPrinterName = 64; 
+const TInt KRetryInterval = 1 * 1000 * 1000; // 1 s
+const TInt KRetryClose = 1 * 1000 * 1000; // 1 s
+const TInt KImageDefaultArray = 2;
+const TInt KRemoveValue = 5;
+const TInt KImageNumber = 1;
+
+// CONSTANTS
+_LIT( KConfigInfoFile, "config.DPS");
+_LIT( KParamFile, "system\\data\\T_AIW_PRINT.DAT");
+_LIT( KUnSuppFile, "system\\data\\T_AIW_UNSUPP.DAT");
+const TInt KResource = 40;
+const TInt KDriver = 3;
+const TInt KConfigLength = 16;
+
+ 
+/**
+ *  S60 application UI class
+ */
+class CImagePrintUiAppUi : public CAknViewAppUi                                           
+    {
+
+public:
+
+   /**
+    *   Destructor
+    */	 
+    virtual ~CImagePrintUiAppUi();
+
+
+   /**
+    *   Second phase constructor. Operations which might leave should 
+    *   be called here
+    */ 
+    void ConstructL();
+    
+    /**
+     * Returns instance of Capability Manager. 
+     * @return CCapabilityManager.
+     */
+    CCapabilityManager* CapabilityManager();
+    
+    
+    /**
+     * Returns instance of Notes
+     * @return CNotes.
+     */
+    CNotes* Notes();
+    
+
+public:	// Methods derived from CAknViewAppUi base class
+
+    void HandleCommandL( TInt aCommand );
+
+    
+public: //own methods
+
+
+    /**
+     * Starts printing process when user select print
+     * @return none
+     */
+    void StartPrinting();
+    
+    /**
+     * Cancel print when user select cancel
+     * @return none
+     */
+    void CancelPrinting();
+    
+    /**
+     * Returns print state to other instances
+     * @return print state
+     */
+    TBool PrintActive();
+	
+	/**
+     * Provide array of images to be printed
+     * @return CDesCArrayFlat
+     */
+    CDesCArrayFlat* ImagesToPrint();
+    
+    /**
+     * Tells if cable is connected or not
+     * @return TBool .
+     */
+    TBool IsCableConnected();
+    
+    /**
+     * Shows note if there is unsupported files
+     * @return none.
+     */
+    void ShowNoteL();
+    
+    /**
+     * Closes application after showing error  note
+     * @return none.
+     */
+    void CloseAfterNoteL();
+     
+
+    /**
+     * Request Manager notifies result of DoDps Request 
+     * @return none.
+     */ 
+    void NotifyRequestL( TInt aNotifyType);
+    
+    /**
+     * Request Manager informs about number of images to be printed
+     * @return none.
+     */ 
+    void NumberOfImages(TInt aNumberOfImages);
+    
+
+    /**
+     * Event Manager notifies DpsEvent 
+     * @return none.
+     */  
+    void NotifyEventL(TInt aEventNotifyType);
+    
+    /**
+     * Event Manager notifies about Print Progress 
+     * @return none.
+     */ 
+    void NotifyPrintProgress(TInt aNumberOfImages, TInt aProgress);
+    
+    /**
+     * Event Manager notifies about Print Status
+     * @return none.
+     */ 
+    void NotifyPrintStatus(TInt aStatus);
+
+
+    /**
+     * Connection Manager closes application if cable is disconnect
+     * or personaluty changes different as PTP
+     * @return none.
+     */ 
+    void CloseApplication(TBool aDisconnect);
+
+    /**
+     * Connection Manager informs PTP printer is found
+     * @return none.
+     */ 
+    void CableConnectedL(); 
+    
+    /**
+     * Connection Manager informs about cable disconnection
+     * @return none.
+     */ 
+    void CableDisConnected();
+
+
+    /**
+     * Capability Manager informs about capabilities has
+     * retrieved from printer
+     * @return none.
+     */ 
+    void CapabilitiesReady(); 
+    
+    /**
+     * Capability Manager informs about error when retrieving
+     * capabilities from printer
+     * @return none.
+     */ 
+    void NotifyError();
+    
+    /**
+     * Handles situation after timer timeout
+     * @return none.
+     */ 
+    void HandleTimeOutL();
+    
+    /**
+     * Handles requesting DPS request again
+     * @return none.
+     */ 
+    void HandleRequestTime(TInt aTime);
+    
+    /**
+     * Handles requsting capabilities again
+     * @return none.
+     */ 
+	void HandleCapabilityTime(TInt aTime);
+	
+	
+	/**
+     * Handles situation after RunError in timer
+     * @return none.
+     */ 
+	void HandleTimeErrorL(TInt aError);
+    
+
+private: //own methods
+
+
+    /**
+     * Set printer and vendor info to navipane
+     * @return none.
+     */
+    void SetNavipaneTextL();
+    
+    /**
+     * Read images to be printed to array
+     * @return none.
+     */
+    void LoadImagesL();
+    
+    /**
+     * Reads number of unsupported files
+     * @return none.
+     */
+    void ReadNumberOfUnSuppL();
+    
+public:
+
+	/**
+     * Show all notes
+     * Own this pointer
+     */
+    CNotes*  iNotes;   
+    
+
+private: // data
+
+
+    /** A singleton DPS engine object */
+    CDpsEngine* iEngine; 
+
+    /**
+     * Connection manager to check connection status
+     * Owns this pointer 
+     */
+    CConnectionManager* iConnectionManager;
+
+    /**
+     * Retrieve, restore and change capabilities if needed 
+     * Own this pointer
+     */
+    CCapabilityManager* iCapabilityManager;
+    
+        
+    /**
+     * Needed when creating navipane text
+     * Own this pointer
+     */
+    CAknNavigationDecorator* iNaviDecorator; 
+    
+    
+    /**
+     * Performs DPS request towards PictBridge engine
+     * Own this pointer
+     */
+    CRequestManager* iRequestManager;
+    
+    
+    /**
+     * Notifies Device- and JobEvent coming from PictBridge engine
+     * Own this pointer
+     */
+    CEventManager* iEventManager;
+    
+    
+    // images to be printed
+    CDesCArrayFlat* iImageFiles;
+    
+    // timer for unsupported file note
+    CNoteTimer* iNoteTimer;
+    
+    HBufC* iCongFileName;
+    
+    TBool iPrintActive;
+    TBool iCableConnected;
+    TBool iActiveNote;
+    TBool iCapabilityChanged;
+    TBool iUnsupportedFiles;
+    TBool iNoteShowed;
+    TInt  iNumberOfImages;
+    TInt  iNumberOfUnSuppFiles;
+    TBool iErrorState;
+    TBool iStartJobOK;
+    TBool iPaperEmpty;
+    TBool iNoteTimeOut;
+    TBool iCloseTimeOut;
+    TBool iCapabilityTimeOut;
+    TBool iRequestTimeOut;
+    
+    TFileName     iLogFilePath; 
+
+    };
+
+#endif // C_CIMAGEPRINTUIAPPUI_H