diff -r 08cc4cc059d4 -r 59ea2209bb67 ImagePrint/ImagePrintEngine/DeviceProtocols/upnpprotocolfw2/inc/cupprintingjob.h --- a/ImagePrint/ImagePrintEngine/DeviceProtocols/upnpprotocolfw2/inc/cupprintingjob.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 CUPPrintingJob class -* -*/ - - -#ifndef CUPPRINTINGJOB_H -#define CUPPRINTINGJOB_H - -#include -#include -#include - -#include "upconsts.h" -#include "tprintcapability.h" -#include "cupprintfactory.h" -#include "cupjobstate.h" - -class CUPPrinter; -class CUPFileSharingActive; - -enum TUpnpContainerType -{ - EImageAndVideo = 0 -}; - - -#define KMaxIdLength 10 - -/* -* @class CUPPrintingJob -* @description This class contains the necessary printing -* job information between UPnPStack and MProtPrintingDevice -*/ -NONSHARABLE_CLASS(CUPPrintingJob) : public CBase - { - public: - /* - * @function NewL - * @description Constructs the CUPPrintingJob object. - * NOTE: The ownership of aFileFactory does not change here! - * @param aPrinter Selected printer for the job - * @param aImages Array of images to be printed - * @param aFileFactory Pointer to XHTML-print file factory - * @param aUserName User name got from central repository - */ - static CUPPrintingJob* NewL(CUPPrinter* aPrinter, RArray& aImages, CUPPrintFactory* aFileFactory, const TDesC8& aUserName); - - /* - * @function Destructor - * @description Destroys the object and frees the memory allocated by this object - */ - ~CUPPrintingJob(); - - /* - * @function SetSessionId - * @description Initializes the session id used for printer communication with this job - * @param TInt aId - */ - void SetSessionId(TInt aId); - - /* - * @function SessionId - * @description Returns the session id - * @return TInt - */ - TInt SessionId(); - - /* - * @function SetJobId - * @description Initializes the job id - * @param TDesC& aId - */ - void SetJobId(const TDesC8& aId); - - /* - * @function GetJobId - * @description Returns the job id as const TDes8& - * @param const TDes8& - */ - void GetJobId(TDes8& aId); - - /* - * @function GetJobName - * @description Returns the file path - * @param TDes8& - */ - void GetJobName(TDes8& aJobName); - - /* - * @function ImageCount - * @description Returns the number of images in job. - * @return TInt - */ - TInt ImageCount(); - - /* - * @function Images - * @description Returns job's images as CImageInfo - * @param RArray Output parameter - */ - void Images(RArray& aImages); - - /* - * @function PrinterId - * @description Returns the printer id - * @param TInt - */ - TInt PrinterId(); - - /* - * @function ShareFileL - * @description Shares the images via UPnP Media Server and destroys object CUPnPItem. - * @param CUPnPItem* UPnP Item to share - */ - void ShareFileL(CUpnpItem* aItemToShare); - - /* - * @function ShareImagesL - * @description Shares the images via UPnP Media Server - */ - void ShareImagesL(); - - /* - * @function UnShareImages - * @description Removes the sharing of all images from UPnP Media Server - * @return TInt System wide error code - */ - TInt UnShareImages(); - - /* - * @function UnShareImages - * @description Removes the sharing of file from UPnP Media Server - * @param TInt UPnP item ID - * @return TInt System wide error code - */ - TInt UnShareFile(TInt aItemId); - - /* - * @function GetUserName - * @description Returns the user name - * @param TPtrC8& - */ - void GetUserName(TPtrC8& aDocFormat); - - /* - * @function SetNumsOfCopies - * @description Sets the number of copies for certain image. - * @param TInt aCapabilityId - * @param TInt aValue - * @return TInt System wide error code - */ - TInt SetNumsOfCopies( const RArray& aNumsOfCopies); - - /* - * @function XhtmlPrintFile - * @description Returns the file path of generated XHTML-Print file - * @param TDes8& - */ - void GetPrintFileL(TDes8& aPrintFile); - - /* - * @function Sheets - * @description Returns the total number of sheets the job requires - * @return TInt - */ - TInt Sheets(); - - /* - * @function Progress - * @description Returns the progress percentage of the job - * @return TInt - */ - TInt Progress(); - - /* - * @function JobState - * @description Returns the pointer to the job state maintainer - * @return CUPJobState - */ - CUPJobState* JobState(); - - /* - * @function JobStateReason - * @description Returns the reason for the job's state - * @return TInt - */ - TInt JobStateReason(); - - /** - * StateUpdatedResponse callback function DEPRECATED - * @since Series60 3.1 - * @param TDesC8& New printer state - * @param TDesC8& Reason for the printer state - * @param TDesC8& List of job ids pending at the printer queue - * @param TDesC8& Current job ID - * @param TDesC8& Number of the printed sheets - */ - TUPnPState UpdateJobState(const TDesC8& aPrinterState, - const TDesC8& aReason, - const TDesC8& aJobList, - const TDesC8& aJobId, - const TDesC8& aJobMediaSheetsCompleted); - - /* - * @function PrinterStateUpdated - * @description Returns the state of the job after printer state updated - * @param TDesC8& New printer state - * @return TUPnPState - */ - TUPnPState PrinterStateUpdated( const TDesC8& aEvent ); - - /* - * @function PrinterStateReasonsUpdated - * @description Returns the state of the job after printer state reason updated - * @param TDesC8& Reason for the printer state - * @return TUPnPState - */ - TUPnPState PrinterStateReasonsUpdated( const TDesC8& aEvent ); - - /* - * @function JobIdListUpdated - * @description Returns the state of the job after job ID list updated - * @param TDesC8& List of job ids pending at the printer queue - * @return TUPnPState - */ - TUPnPState JobIdListUpdated( const TDesC8& aEvent ); - - /* - * @function JobEndStateUpdatedL - * @description Returns the state of the job after job end state updated - * @param TDesC8& The end state of last printed job. Format: - * ,,,, - * @return TUPnPState - */ - TUPnPState JobEndStateUpdatedL( const TDesC8& aEvent ); - - /* - * @function JobMediaSheetsCompletedUpdated - * @description Returns the state of the job after media sheets completed list updated - * @param TDesC8& Number of the printed sheets - * @return TUPnPState - */ - TUPnPState JobMediaSheetsCompletedUpdated( const TDesC8& aEvent ); - - /* - * @function JobMediaSheetsCompletedUpdated - * @description Returns the state of the job after media sheets completed list updated - * @param TDesC8& ID of the current job - * @param TDesC8& Number of the printed sheets - * @return TUPnPState - */ - TUPnPState JobMediaSheetsCompletedUpdated(const TDesC8& aId, const TDesC8& aEvent ); - - /* - * @function JobAbortStateUpdatedL - * @description Returns the state of the job after job abort state updated - * @param TDesC8& The abort state of last aborted job. Format: - * ,,,,aborted, - * @return TUPnPState - */ - TUPnPState JobAbortStateUpdatedL( const TDesC8& aEvent ); - - /* - * @function ContentCompleteListUpdated - * @description Returns the state of the job after content completed list updated - * @param TDesC8& Number of the sheets completedly received in printer - * @return TUPnPState - */ - TUPnPState ContentCompleteListUpdated( const TDesC8& aEvent ); - - - - protected: - /* - * @function ConstructL - * @description Construction's second phase - * @param aPriner Selected printer for the job - * @param aImages Array of images to be printed - */ - void ConstructL(CUPPrinter* aPrinter, RArray& aImages, const TDesC8& aUserName); - - private: - - /* - * @function CUPPrintingJob - * @description C++ constructor - * @param aPrinterId Id of the printer to be used for this job. - * - */ - CUPPrintingJob(CUPPrintFactory* aFileFactory); - - /* - * @function UPnPItemLC - * @description Returns the image's UPnP item for file sharing - * @param TInt Index of the image, which UPnP item is requested - * @param TDesC8& Name of the file used as base for UPnPItem - * @param TInt On return contains the UPnP item ID - * @return CUPnPItem* - */ - CUpnpItem* UPnPItemLC(TInt aItemId, const TDesC8& aFileName, const TDesC8& aObjectType, const TDesC8& aMimeType); - - private: - - //@var iSessionId Session id used in sending this job to printer - TInt iSessionId; - - //@var iJobId Id for printing job received from printer control point - TBuf8 iJobId; - - //@var iPrinterId Defines the printer to be used. Has to be a valid index of CUAPrinterContainer. - TInt iPrinterId; - - //@var iUserName Name of the user (phone model) - TPtrC8 iUserName; - - //@var iImages Job's images - RArray iImages; - - //@var iPrintFactory Object for creating XHTML-Print file - CUPPrintFactory* iPrintFactory; - - //@var iJobState Object to maintain job's state - CUPJobState* iJobState; - - //@var iSheets Number of sheets to print - TInt iSheets; - - //@var iXhtmlFileShareId ID for sharing xhtml file - TInt iXhtmlFileShareId; - - //@var iFileSharing File sharing resource - CUPFileSharingActive* iFileSharing; - - //@var iMediaServerClient Media server to map the file sharing resource - RUpnpMediaServerClient iMediaServerClient; - - //@var iiMediaServerAddress media server's ip and port address. - TFileName8 iMediaServerAddress; - - //@var iOrgMediaServerStatus mediaserver's running status before we use it. - TInt iOrgMediaServerStatus; - }; - -#endif // CUPPRINTINGJOB_H - -// End of File