ImagePrint/ImagePrintEngine/DeviceProtocols/upnpprotocolfw2/inc/cupnpprintingdevice.h
branchGCC_SURGE
changeset 25 59ea2209bb67
parent 23 08cc4cc059d4
parent 15 a92d00fca574
--- a/ImagePrint/ImagePrintEngine/DeviceProtocols/upnpprotocolfw2/inc/cupnpprintingdevice.h	Fri Jun 11 16:24:10 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,359 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Declares CUPnPPrintingDevice class
-*
-*/
-
-
-#ifndef CUPNPPRINTINGDEVICE_H
-#define CUPNPPRINTINGDEVICE_H
-
-#include <fbs.h>
-#include <upnpmediaserverclient.h>
-#include <upnpfilesharing.h>
-#include <data_caging_path_literals.hrh>
-
-#include "imageprint.h"
-#include "mprotprintingdevice.h"
-#include "cprintercontrolpoint.h"
-#include "printmessagecodes.h"
-#include "cupprintercontainer.h"
-#include "cuplogger.h"
-#include "upconsts.h"
-#include "cupprintingjob.h"
-
-_LIT8(KFriendlyName, "UPnPProtocol");
-
-/// @brief The timeout to wait for first devices to be discovered
-#define KPrinterDiscoveryTimeout 	TTimeIntervalMicroSeconds32(25000000)
-
-/// @brief The timeout to wait for responses during printing 60 seconds
-#define KPrinterResponseTimeout 	TTimeIntervalMicroSeconds32(60000000)
-//#define KPrinterResponseTimeout 	TTimeIntervalMicroSeconds32(30000000)
-
-/// @brief The timeout to wait for responses during printing
-#define KPrinterSubmitTimeout 		TTimeIntervalMicroSeconds32(15000000)
-
-// @brief The times the timer can expire while printing is processing
-#define KPendingLimit 5
-
-#define	KVersionMajor 0
-#define	KVersionMinor 0
-#define	KVersionBuild 1
-
-
-enum TUPnPProtocolState
-{
-	EUPnPUninitialized=0,
-	EUPnPDiscovery,
-	EUPnPReady,
-	EUPnPJobReady,
-	EUPnPSubmittingJob,
-	EUPnPPrintingStarted,
-	EUPnPPrinting,
-	EUPnPPrintingReady,
-	EUPnPCancelling,
-	EUPnPCancellingDiscovery
-};
-
-/*
-* @class 		CUPnPPrintingDevice
-* @description	Implements the MProtPrintingDevice and MPCPObserver interfaces 
-*				to integrate Image Print and UPnP stack.
-*
-*/
-class CUPnPPrintingDevice : public CBase, public MPCPObserver, public MProtPrintingDevice
-	{
-		public:
-		
-			/*
-			* @function		CUPnPPrintingDevice
-			* @description	C++ constructor
-			*/
-			CUPnPPrintingDevice();
-
-			/*
-			* @function		NewProtocolL
-			* @description	Called from Main.cpp to construct a new MProtPrintingDevice instance
-			*/
-			static MProtPrintingDevice* NewL();
-
-			/*
-			* @function		~CUPnPPrintingDevice
-			* @description	Destructor.
-			*/
-			~CUPnPPrintingDevice();
-			
-			/*
-			* @function		DiscoveryTimeoutCBL
-			* @description	This static callback function is called by iPrinterTimer when the 
-			*				discovery timer event occurs.
-			* @param		
-			* @return		
-			*/
-			static TBool DiscoveryTimeoutCBL(TAny *aWho);
-			
-			/*
-			* @function		StatusTimeoutCBL
-			* @description	This static callback function is called by iPrinterTimer when the 
-			*				status timer event occurs.
-			* @param		
-			* @return		
-			*/
-			static TBool StatusTimeoutCBL(TAny *aWho);
-
-			/*
-			* @function		SubmitTimeoutCBL
-			* @description	This static callback function is called by iPrinterTimer when the 
-			*				submit timer event occurs.
-			* @param		TAny
-			* @return		TInt
-			*/
-			static TInt SubmitTimeoutCBL(TAny *aWho);
-
-			
-			
-
-			// ===============================
-			// From MProtPrintingDevice.
-			// ===============================
-			// General
-			virtual void ConstructL(const TDesC& aDLLPath);
-			virtual TVersion Version();
-			virtual TUint SupportedProtocols();
-			// Discovery.
-			virtual void StartDiscoveryL(MProtDiscoveryObserver& aObserver, TUint aProtocols = 0);
-			virtual TInt RemoveCachedDeviceL(TInt aDeviceID);
-			virtual void CancelDiscovery(TBool aDoCallBack = ETrue);
-			// Print.
-			virtual TInt CreatePrintJobL(TInt aDeviceID, RPointerArray<TDesC>& aImages, MProtPrintEventObserver& aObserver);
-			virtual void SubmitPrintJobL();
-			virtual TInt CancelPrintJob();
-			virtual TInt ContinuePrintJobL();
-			virtual TInt GetNumPrintPages();
-			virtual TInt GetPrintJobStatus();
-			virtual TInt GetPrinterStatus(TInt aDeviceID);
-			// Capabilities.
-			virtual TInt GetDeviceCapabilityIDsL(TInt aDeviceID, RArray<TInt>& aCapabilityIDs);
-			virtual TInt GetDeviceCapabilityL(TInt aDeviceID, TInt aCapabilityID, TPrintCapability& aCapability);
-			virtual TInt GetJobSetting(TInt aCapabilityID, TInt& aValue);
-			virtual TInt SetJobSettingL(TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability);
-			// Preview.
-			virtual TInt GetNumPreviewPages();
-			virtual TInt GetJobTemplateIconL(TInt aTemplateID, TInt& aFsBitmapHandle);
-			virtual TInt CreatePreviewImage(TInt aPageNumber);
-
-			virtual void RegisterIdleObserver(MProtIdleObserver* aObserver);
-		
-			virtual void SetNumsOfCopiesL( const RArray<TInt>& aNumsOfCopies, TInt& aErr );
-
-			// ===============================
-			// From MPCPObserver
-			// ===============================
-			virtual void CreateJobResponse( CUpnpAction* aAction, TInt aErrorCode );
-			virtual void CancelJobResponse( CUpnpAction* aAction, TInt aErrorCode );
-			virtual void GetPrinterAttributesResponse( CUpnpAction* aAction, TInt aErrorCode );
-			virtual void GetJobAttributesResponse( CUpnpAction* aAction, TInt aErrorCode );
-			virtual void GetMarginsResponse( CUpnpAction* aAction, TInt aErrorCode );
-	        virtual void GetMediaListResponse( CUpnpAction* aAction, TInt aErrorCode );
-			virtual void StateUpdatedResponse( const TDesC8& aPrinterState, 
-                                           const TDesC8& aPrinterStateReasons, 
-                                           const TDesC8& aJobIdList,
-	                                       const TDesC8& aJobEndState, 
-                                           const TDesC8& aJobMediaSheetsCompleted, 
-                                           const TDesC8& aJobAbortState,
-                                           const TDesC8& aContentCompleteList );
-			virtual void DeviceDiscoveredL( CUpnpDevice* aDevice );
-			virtual void DeviceDisappeared( CUpnpDevice* aDevice );
-			// state events
-			virtual void PrinterStateUpdated( const TDesC8& aEvent );
-			virtual void PrinterStateReasonsUpdated( const TDesC8& aEvent );
-			virtual void JobIdListUpdated( const TDesC8& aEvent );
-			virtual void JobEndStateUpdated( const TDesC8& aEvent );
-			virtual void JobMediaSheetsCompletedUpdated( const TDesC8& aEvent );
-			virtual void ContentCompleteListUpdated( const TDesC8& aEvent );
-			virtual void JobAbortStateUpdated( const TDesC8& aEvent );
-
-		protected:
-		
-
-		private:
-
-			/*
-			* @function 	StartDiscoveryInternalL
-			* @description	Non-leaving interface for MProtPrintingDevice method StartDiscoveryL
-			*				for ImagePrint compliance. Informs observer about leaves by call back method.
-			* @param 		TInt protocol identifier bitmap
-			*/
-			void StartDiscoveryInternalL(TUint aProtocol);
-
-			/*
-			* @function 	RestartControlPointL
-			* @description	Restarts the printer control point
-			*/
-			void RestartControlPointL();
-
-			/*
-			* @function 	SendPrinterListL
-			* @description	Returns the device list to MProtDiscoveryObserver object
-			* @param		TBool
-			*/
-			void SendPrinterListL(TBool aSync = ETrue);
-
-			/*
-			* @function 	DoDiscoveryTimeoutL
-			* @description	Ends the first device discovery session. This function is called
-			*				by the static callback function DiscoveryTimeoutCBL.
-			* @param		TBool aDoCallBack If ETrue then protocol client is notified.
-			* @return 		TBool
-			*/
-			TBool DoDiscoveryTimeoutL(TBool aDoCallBack);
-
-			/*
-			* @function 	DoSubmitTimeoutL
-			* @description	This function is executed after submit time out expires.
-			* @return 		TInt
-			*/
-			void DoSubmitTimeoutL();
-
-			/*
-			* @function 	SubmitJobToPcpL
-			* @description	Submits the printing job to PCP
-			* @param		CDevice& Reference to the printer to be used in printing
-			* @param		TInt The ID of the printer to be used in printing
-			*/
-			void SubmitJobToPcpL(CUpnpDevice& aPrinter, TInt aPrinterID);
-
-			/*
-			* @function 	SubmitJobToPcpL
-			* @description	Submits the printing job to PCP
-			* @param		TInt The ID of the printer to be used in printing
-			*/
-			void SubmitJobToPcpL(TInt aDeviceID);
-
-			/*
-			* @function 	DoStatusTimeoutL
-			* @description	Handles time out event in printer communication.
-			* @return 		TBool
-			*/
-			TBool DoStatusTimeoutL();
-
-			/*
-			* @function 	InitJobL
-			* @description	Initializes the printing jobs to job container
-			* @param		TInt 			Printer for printing jobs
-			* @param		RPointerArray	File paths for files to be printed
-			*/
-			void InitJobL(TInt aDeviceId, RPointerArray<TDesC>& aImages);
-
-			/*
-			* @function 	StartPrintingL
-			* @description	Sends the printing jobs to the UPnP Printer Control Point
-			*/
-			void StartPrintingL();
-
-			/*
-			* @function 	DoCancelPrinting
-			* @description	Cancels the ongoing printing job. Returns KErrInvalidSequence if state is not 
-			*				EUPnPSubmittingJob, EUPnPPrintingStarted or EUPnPPrinting.
-			* @return 		TInt	System wide error code
-			*/
-			TInt DoCancelPrinting();
-			
-			/*
-			* @function 	UpdatePrintingStatus
-			* @description	Updates the status of printing jobs and informs the printing observer about progress and events
-			* @param		const TDesC8& aPrinterState
-			*/
-			void UpdatePrintingStatus(const TUPnPState aJobState);
-		
-			
-			/*
-			* @function		FinishPrinting
-			* @description	Executes the basic operations to be done when printing is done.
-			*/
-			void FinishPrinting();
-
-			/*
-			* @function		FinishPrinting
-			* @description	Overloads FinishPrinting and informs observer about occurred error.
-			* @param		TInt Symbian wide error code
-			* @param		TInt ImagePrint specific (error) message code
-			*/
-			void FinishPrinting(TInt aErrorCode, TInt aErrorMessage);
-
-			/*
-			* @function		ResetTimer
-			* @description	Resets the timer and initializes timer related flags.
-			*/
-			void ResetTimer();			
-
-			/*
-			* @function		StartTimer
-			* @description	Starts the timer and resets it first.
-			* @param		TTimeIntervalMicroSeconds32	Delay for the timer
-			* @param		TTimeIntervalMicroSeconds32 Interval for timer to expire
-			* @param		TCallBack					Call back function when timer expires
-			*/
-			void StartTimer(TTimeIntervalMicroSeconds32 aDelay,TTimeIntervalMicroSeconds32 anInterval,TCallBack aCallBack);			
-
-			/*
-			* @function		GetPrinter
-			* @description	Returns a pointer to the current printer.
-			* @return		CDevice* Current printer or NULL
-			*/
-			CUpnpDevice* GetPrinter();
-			
-		private:
-			// @var iPrinterControl		Control point to UPnP
-			CPrinterControlPoint* iPrinterControl;
-			
-			// @var iPrinterContainer	Container for printers
-			CUPPrinterContainer* iPrinterContainer;
-			
-			// @var iPrintingJob		Printing job
-			CUPPrintingJob* iPrintingJob;
-			
-			// @var iPrinterTimer		Array of discovered printers
-			CPeriodic* iPrinterTimer;
-			
-			// @var iPrintFactory		XHTML-print file factory
-			CUPPrintFactory* iPrintFactory;
-			
-			// @var iPrinterState		State information of the object
-			TUPnPProtocolState iState;
-
-			// @var iPrintersFound		Indicates if there are printers found
-			TBool iPrintersFound;
-
-			// @var iStatusTimeout		This variable is set to ETrue when a status time out occurs
-			TBool iStatusTimeout;
-
-			// @var iFbsBitmap			(Dummy) bitmap for icon template
-			CFbsBitmap* iFbsBitmap;
-			
-			// @var iPendingCount		Counter to avoid too long pending while printing
-			TInt iPendingCount;
-			
-			// @var iFriendlyName		In Home network configuration defined name for the device
-			TBuf8<256> iFriendlyName;
-			
-			// @var iTriedReadCacheAndFail   To check that never trying read cache file more than one time, if we don't have it.
-			TBool iTriedReadCacheAndFail;
-			
-	};
-
-#endif // CUPNPPRINTINGDEVICE_H
-
-//  End of File