--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DirectPrint/ImagePrintLibrary/inc/imageprint.h Wed Mar 31 00:04:55 2010 +0900
@@ -0,0 +1,153 @@
+/*
+* 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 the License "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
+*
+*/
+
+
+// Protection against nested includes
+#ifndef IMAGEPRINT_H
+#define IMAGEPRINT_H
+
+// System includes
+#include <e32base.h>
+
+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;
+/// LPR Protocol Identifier
+const TUint KImagePrint_PrinterProtocol_LPR = 128;
+
+/// 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