diff -r 159fc2f68139 -r d59c248c9d36 ImagePrint/ImagePrintEngine/ImagePrintLibrary/inc/imageprint.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ImagePrint/ImagePrintEngine/ImagePrintLibrary/inc/imageprint.h Wed Sep 01 12:30:38 2010 +0100 @@ -0,0 +1,149 @@ +/* +* 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: Client include file for the ImagePrint server. Contains the +* CImagePrint class definition, and the following interfaces: +* MIdleObserver, MPrinterDiscoveryObserver and MPrintEventObserver +* +*/ + + +#ifndef IMAGEPRINT_H +#define IMAGEPRINT_H + +#include + +class TPrinter; +class TEvent; + +_LIT( KTabChar, "\t" ); +_LIT( KParamFile, "\\system\\data\\T_AIW_TEMP.DAT"); + +/// Error constant defined to indicate Invalid Sequence. +const TInt KErrInvalidSequence = -50; +/// Error constant defined to indicate Invalid Data. +const TInt KErrInvalidData = -51; +/// Error constant defined to indicate that a printer has been connected +const TInt KErrConnected = -500; + +/// BPP Protocol Identifier. +const TUint KImagePrint_PrinterProtocol_BPP = 1; +/// BIP Protocol Identifier. +const TUint KImagePrint_PrinterProtocol_BIP = 2; +/// OPP Protocol Identifier (Printer). +const TUint KImagePrint_PrinterProtocol_OPP_Printer = 4; +/// DPOF Protocol Identifier. +const TUint KImagePrint_PrinterProtocol_DPOF = 8; +/// PictBridge Protocol Identifier. +const TUint KImagePrint_PrinterProtocol_PictBridge = 16; +/// OPP Protocol Identifier (PC). +const TUint KImagePrint_PrinterProtocol_OPP_PC = 32; +/// UPnP Protocol Identifier +const TUint KImagePrint_PrinterProtocol_UPnP = 64; + +/// Enums used to specify the current state in the DiscoveryStatusL callback. +enum TDiscoveryStatus + { + EDiscoverying = 0, + EDiscoveryFinished = 1, + EDiscoveryCancelling = 2 + }; + +/// Enums used to specify the current state in the PrintJobProgressEvent callback. +enum TPrintJobProgressEventStatus + { + EActive = 0, + EDone = 1 + }; + +/** + * @brief Interface to be implemented by the class using CImagePrint. It is used by CImagePrint to report anything related + * to the discovery process. + */ +class MPrinterDiscoveryObserver + { + public: + /** + * Called by Image Printer Server to notify the client application that a printer was discovered. + * @param aPrinterInfo Contains printer information of the discovered device. + */ + virtual void FoundPrinterL( const TPrinter& aPrinterInfo ) = 0; + /** + * Called by Image Printer Server to notify the client application that an operation + * has completed, either successfully or with an error. + * @param aStatus Indicate the status of the discovery process. One of the values of \c ::TDiscoveryStatus + * @param aErrorCode \c KErrNone if there was no error, otherwise another of the system-wide error codes. + * @param aErrorStringCode StringCode - Descriptive text that can be used to further explain error. + */ + virtual void DiscoveryStatusL( TInt aStatus, + TInt aErrorCode, + TInt aErrorStringCode ) = 0; + /** + * Called by Image Printer Server to notify the client application that a printer + * returned from the cache was not discovered during the discovery phase, + * and should be removed from the UI. If this call is needed, it will be made + * after all BPP printers have been returned, but before the discovery completes. + * @param aPrinterInfo Contains printer information of the printer that was not found during discovery + */ + virtual void RemovePrinterL( const TPrinter& aPrinterInfo ) = 0; + }; + +/** + * @brief Interface to be implemented by the class using CImagePrint. It is used by CImagePrint to report anything related + * to the printing process, once it is started. + */ +class MPrintEventObserver + { + public: + virtual void PrintJobProgressEvent( TInt aStatus, + TInt aPercentCompletion, + TInt aJobStateCode ) = 0; + + virtual void PrintJobErrorEvent( TInt aError, + TInt aErrorStringCode ) = 0; + + virtual void PrinterStatusEvent( TInt aError, + TInt aErrorStringCode ) = 0; + + virtual void PreviewImageEvent( TInt aFsBitmapHandle ) = 0; + + virtual void ShowMessageL( TInt aMsgLine1Code, + TInt aMsgLine2Code ) = 0; + + virtual TBool AskYesNoQuestionL( TInt aMsgLine1Code, + TInt aMsgLine2Code ) = 0; + + virtual const TDesC& AskForInputL( TInt aMsgLine1Code, + TInt aMsgLine2Code ) = 0; + }; + +/** + * @brief Interface to be implemented by the class using CImagePrint. It is used by CImagePrint to report + * anything related to status changes in the handling protocol. + * @sa CImagePrint::RegisterIdleObserver + */ +class MIdleObserver + { + public: + /** Called by CImagePrint to notify of events. The meaning of the event and associated error and mesage codes + * is protocol dependant. + */ + virtual void StatusEvent( const TEvent &aEvent, + TInt aError, + TInt aMsgCode ) = 0; + }; + + +#endif // IMAGEPRINT_H + +// End of File