diff -r 159fc2f68139 -r d59c248c9d36 ImagePrint/ImagePrintUI/imgpprintdll/inc/cimgpprintutils.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ImagePrint/ImagePrintUI/imgpprintdll/inc/cimgpprintutils.h Wed Sep 01 12:30:38 2010 +0100 @@ -0,0 +1,161 @@ +/* +* Copyright (c) 2004-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: +* +*/ + + +#ifndef CIMGPPRINTUTILS_H +#define CIMGPPRINTUTILS_H + +#include +#include +#include +#include + +#include "midleprinteventobserver.h" +#include "rimageprintclient.h" +#include "maiwobserver.h" +#include "mprotocolobserver.h" +#include "mprintjobstatus.h" + +class CAknNavigationDecorator; +class CImagePrintDoc; +class CIMGPPrintDlgManager; +class MPrintSettings; +class CImagePrintEngine; +class MIdlePrintEventObserver; +class CUIProtocolController; + +/** + * + * AppUi class + * + */ +class CIMGPPrintUtils + : public CBase, + public MProtocolObserver, + public MPrintJobStatus + { + + public: // Constructors and destructors + + + /** + * Second phase constructor + */ + IMPORT_C static CIMGPPrintUtils* NewL( MAiwObserver* aAiwObserver ); + static CIMGPPrintUtils* NewLC( MAiwObserver* aAiwObserver ); + void ConstructL( MAiwObserver* aAiwObserver ); + virtual ~CIMGPPrintUtils(); + + void DialogDismissedL(TInt /*aButtonId*/); + +public: // from MPrintJobStatus + void PrintJobProgress( TInt aStatus, + TInt aPercentCompletion, + TInt aJobStateCode ); + void PrintJobError( TInt aError, TInt aErrorStringCode ); + void PrinterStatus( TInt aError, TInt aErrorStringCode ); + + public: // New methods + + + /** + * Starts printing process + */ + IMPORT_C void StartPrintingL( CDesCArrayFlat* aImages ); + + /** + * Starts the BrowserEngine for selecting images + */ + void StartBrowser(); + + /** + * Method is used to forward the selected images to engine. + * + * @param aFileArray, array that contains the selected images. + */ + void SetImageArrayL( CDesCArrayFlat* aFileArray ); + + /** + * Method is used to set the printer UID value in the UI side. + * + * @param aPrinterUID printer uid. + */ + void SetPrinterUID( TInt aPrinterUID ); + + /** + * Method is used to get the printer UID value in the UI side. + * + * @return printer uid. + */ + TInt GetPrinterUID(); + + CImagePrintEngine& Engine() const; + + /** + * Called in aiw printing when printing is completed + */ + void JobFinished(); + + /** + * Called when initial printing didn't succeed because default + * printer was not available. Does printing after full discovery + */ + void RestartPrintingL(); + + public: // static helpers + IMPORT_C static TBool CheckMIMEType( const TDesC8& aMimeType, + const TFileName& aFileName ); + + IMPORT_C static void GetDataFilePathL( TFileName& aFileName ); + + public: // Methods derived from MProtocolObserver + void UsbCableDisconnected(); + + private: // New methods + + /** + * Print + */ + void PrintL(); + + static TInt IdleCallbackL( TAny* aObj ); + + private: // Data + + CIMGPPrintDlgManager* iPrintDlgManager; // use + + // UID of the selected printer + TInt iPrinterUID; + // Application engine + CImagePrintEngine* iEngine; + + TInt iResourceOffset; + TInt iResourceOffset2; + + // Used in aiw printing + MAiwObserver* iAiwObserver; + // Interface for settings + MPrintSettings* iSettings; + // Protocol controller + CUIProtocolController* iProtocolController; + + CIdle* iIdle; + }; + +#endif // CIMGPPRINTUTILS_H + +// End of File