mtpdataproviders/mtppictbridgedp/pictbridgeengine/inc/dpsdefs.h
branchRCL_3
changeset 19 0aa8cc770c8a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mtpdataproviders/mtppictbridgedp/pictbridgeengine/inc/dpsdefs.h	Tue Aug 31 16:03:15 2010 +0300
@@ -0,0 +1,483 @@
+/*
+* Copyright (c) 2006, 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:  This class defines the dps definations. 
+*
+*/
+
+
+#ifndef DPSDEFS_H
+#define DPSDEFS_H
+
+#include <e32base.h>
+
+const TInt KMaxArgLen = 256;
+const TInt KDateLen = 32;
+
+// special element which has sub-elements, only startJob and 
+// getCapability have this field
+enum TDpsElement
+    {
+    EDpsEleEmpty = 0,
+    EDpsCapability,
+    EDpsJobConfig,
+    EDpsPrintInfo,
+    KDpsEleMax
+    };
+    
+enum TDpsEvent
+    {
+    EDpsEvtEmpty = 0,
+    EDpsEvtNotifyJobStatus,
+    EDpsEvtNotifyDeviceStatus,
+    KDpsEvtMax
+    };
+	
+enum TDpsArgument
+    {
+    EDpsArgDpsVersions = 0,
+    EDpsArgVendorName,
+    EDpsArgVendorSpecificVersion,
+    EDpsArgProductName,
+    EDpsArgSerialNo,
+    EDpsArgPrintServiceAvailable,
+    EDpsArgQualities,
+    EDpsArgPaperSizes,
+    EDpsArgPaperTypes,
+    EDpsArgFileTypes,
+    EDpsArgDatePrints,
+    EDpsArgFileNamePrints,
+    EDpsArgImageOptimizes,
+    EDpsArgLayouts,
+    EDpsArgFixedSizes,
+    EDpsArgChroppings,
+    EDpsArgPrtPID,
+    EDpsArgFilePath,
+    EDpsArgCopyID,
+    EDpsArgProgress,
+    EDpsArgImagePrinted,
+    EDpsArgDpsPrintServiceStatus,
+    EDpsArgJobEndReason,
+    EDpsArgErrorStatus,
+    EDpsArgErrorReason,
+    EDpsArgDisconnectEnable,
+    EDpsArgCapabilityChanged,
+    EDpsArgNewJobOk,
+    EDpsArgQuality,
+    EDpsArgPaperSize,
+    EDpsArgPaperType,
+    EDpsArgFileType,
+    EDpsArgDatePrint,
+    EDpsArgFileNamePrint,
+    EDpsArgImageOptimize,
+    EDpsArgLayout,
+    EDpsArgFixedSize,
+    EDpsArgCropping,
+    EDpsArgCroppingArea,
+    EDpsArgFileID,
+    EDpsArgFileName,
+    EDpsArgDate,
+    EDpsArgCopies,
+    EDpsArgAbortStyle,
+    EDpsArgImagesPrinted,
+    EDpsArgBasePathID,
+    EDpsArgFileSize,
+    EDpsArgThumbFormat,
+    EDpsArgThumbSize,
+    EDpsArgBytesRead,
+    EDpsArgOffset,
+    EDpsArgMaxSize,
+    EDpsArgParentFileID,
+    EDpsArgMaxNumIDs,
+    EDpsArgFileIDs,
+    EDpsArgNumIDs,
+    EDpsArgMax
+    };
+
+// define the DPS action result
+// ref: DPS spec page 52
+// high bits
+enum TDpsResultMajorCode
+    {
+    EDpsResultOk = 0x1000,
+    EDpsResultNotExecuted = 0x1001,
+    EDpsResultNotSupported = 0x1002,
+    EDpsResultNotRecognized = 0x1003
+    };
+	
+// define the DPS action result minor code
+// ref: DPS spec page 52
+// low bits
+enum TDpsResultMinorCode
+    {
+    EDpsResultNone = 0x0000,
+    EDpsResultUnrecognizedParam = 0x0001,
+    EDpsResultillegalParam = 		0x0002,
+    EDpsResultMissingParam = 		0x0003,
+    EDpsResultBufferOverflow = 	0x0004	
+    };
+
+// define the DPS service availability
+// ref: DPS spec page 53
+// only high bits are useful
+enum TDpsServiceAvailability
+    {
+    EDpsPrintServiceAvailableFalse = 0x3000,
+    EDpsPrintServiceAvailableTrue = 0x3001	
+    };
+
+// define printing qualities
+// ref: DPS spec page 54
+// only high bits are useful
+enum TDpsPrintQuality
+    {
+    EDpsPrintQualityDefault = 0x5000,
+    EDpsPrintQualityNormal = 	0x5001,
+    EDpsPrintQualityDraft = 	0x5002,
+    EDpsPrintQualityFine = 	0x5003	
+    };
+
+// define paper sizes
+// ref: DPS spec page 54
+// only high bits are useful
+enum TDpsPaperSizes
+    {
+    EDpsPaperSizeDefault = 	0x5100,
+    EDpsPaperSizeL = 		0x5101,
+    EDpsPaperSize2L = 		0x5102,
+    EDpsPaperSizePostcard = 0x5103,
+    EDpsPaperSizeCard = 	0x5104,
+    EDpsPaperSize100x150 = 	0x5105,
+    EDpsPaperSize4x6 = 		0x5106,
+    EDpsPaperSize8x10 = 	0x5107,
+    EDpsPaperSizeLetter = 	0x5108,
+    EDpsPaperSize11x17 = 	0x510A,
+    EDpsPaperSizeA0 = 		0x5110,
+    EDpsPaperSizeA1 = 		0x5111,
+    EDpsPaperSizeA2 = 		0x5112,
+    EDpsPaperSizeA3 = 		0x5113,
+    EDpsPaperSizeA4 = 		0x5114,
+    EDpsPaperSizeA5 = 		0x5115,
+    EDpsPaperSizeA6 = 		0x5116,
+    EDpsPaperSizeA7 = 		0x5117,
+    EDpsPaperSizeA8 = 		0x5118,
+    EDpsPaperSizeA9 = 		0x5119,
+    EDpsPaperSizeB0 = 		0x5120,
+    EDpsPaperSizeB1 = 		0x5121,
+    EDpsPaperSizeB2 = 		0x5122,
+    EDpsPaperSizeB3 = 		0x5123,
+    EDpsPaperSizeB4 = 		0x5124,
+    EDpsPaperSizeB5 = 		0x5125,
+    EDpsPaperSizeB6 = 		0x5126,
+    EDpsPaperSizeB7 = 		0x5127,
+    EDpsPaperSizeB8 = 		0x5128,
+    EDpsPaperSizeB9 = 		0x5129,
+    EDpsPaperSize89 = 		0x5181,
+    EDpsPaperSize127 = 		0x5182,
+    EDpsPaperSize100 = 		0x5186,
+    EDpsPaperSize210 = 		0x5194
+    };
+// define paper types
+// ref: DPS spec page 54
+// only high bits are useful
+enum TDpsPaperTypeMajor
+    {
+    EDpsPaperTypeDefault = 		0x5200,
+    EDpsPaperTypePlainPaper = 	0x5201,
+    EDpsPaperTypePhotoPaper = 	0x5202,
+    EDpsPaperTypeFastPhotopaper = 	0x5203	
+    };
+
+enum TDpsPaperTypeMinor
+    {
+    EDpsPaperTypeStationery = 1,
+    EDpsPaperTypeStationeryCoated,
+    EDpsPaperTypeStationeryInkjet,
+    EDpsPaperTypeStationeryPreprinted,
+    EDpsPaperTypeStationeryLetterhead,
+    EDpsPaperTypeStationeryPrepunched,
+    EDpsPaperTypeStationeryFine,
+    EDpsPaperTypeStationeryHeavyweight,
+    EDpsPaperTypeStationeryLightweight,
+    EDpsPaperTypeTransparency,
+    EDpsPaperTypeEnvelope,
+    EDpsPaperTypeEnvelopePlain,
+    EDpsPaperTypeEnvelopeWindow,
+    EDpsPaperTypeContinuous,
+    EDpsPaperTypeContinuousLong,
+    EDpsPaperTypeContinuousShort,
+    EDpsPaperTypeTabStock,
+    EDpsPaperTypePreCutTabs,
+    EDpsPaperTypeFullCutTabs,
+    EDpsPaperTypeMultiPartForm,
+    EDpsPaperTypeLabels,
+    EDpsPaperTypeMultiLayer,
+    EDpsPaperTypeScreen,
+    EDpsPaperTypeScreenPaged,
+    EDpsPaperTypePhotographic,
+    EDpsPaperTypePhotographicGlossy,
+    EDpsPaperTypePhotographicHighGloss,
+    EDpsPaperTypePhotographicSemiGloss,
+    EDpsPaperTypePhotographicSatin,
+    EDpsPaperTypePhotographicMatte,
+    EDpsPaperTypePhotographicFilm,
+    EDpsPaperTypeBackPrintFilm,
+    EDpsPaperTypeCardStock
+    };
+    
+struct TDpsPaperType
+    {
+    TDpsPaperTypeMajor iMajor;
+    TDpsPaperTypeMinor iMinor;
+    };
+
+// define file types
+// ref: DPS sepc page 55
+// only high bits are useful
+enum TDpsFileType
+    {
+    EDpsFileTypeDefault =   0x5300,
+    EDpsFileTypeEXIF =      0x5301,
+    EDpsFileTypeJPEG =      0x5303	
+    };
+
+// define date print
+// ref: DPS sepc page 55
+// only high bits are useful
+enum TDpsDatePrint
+    {
+    EDpsDatePrintDefault = 0x5400,
+    EDpsDatePrintOff = 0x5401,
+    EDpsDatePrintOn = 0x5402
+    };
+
+// define fle name print
+// ref: DPS sepc page 56
+// only high bits are useful
+enum TDpsFileNamePrint
+    {
+    EDpsFileNamePrintDefault = 	0x5500,
+    EDpsFileNamePrintOff = 		0x5501,
+    EDpsFileNamePrintOn = 		0x5503	
+    };
+
+// define image optimization
+// ref: DPS sepc page 56
+// only high bits are useful
+enum TDpsImageOptimize
+    {
+    EDpsImageOptimizeDefault = 	0x5600,
+    EDpsImageOptimizeOff = 		0x5601,
+    EDpsImageOptimizeOn = 		0x5603	
+    };
+
+// define layouts
+// ref: DPS sepc page 56
+// only high bits are useful
+enum TDpsLayout
+    {
+    EDpsLayoutDefault = 	0x5700,
+    EDpsLayout1Up = 		0x5701,
+    EDpsLayout2Up = 		0x5702,
+    EDpsLayout3Up = 		0x5703,
+    EDpsLayout4Up = 		0x5704,
+    EDpsLayout5Up = 		0x5705,
+    EDpsLayout6Up = 		0x5706,
+    EDpsLayout7Up = 		0x5707,
+    EDpsLayout8Up = 		0x5708,
+    EDpsLayout9Up = 		0x5709,
+    EDpsLayoutIndex = 		0x57FE,
+    EDpsLayoutBorderless =  0x57FF	
+    };
+
+// define fixed sizes
+// ref: DPS sepc page 57
+// only high bits are useful
+enum TDpsFixedSizes
+    {
+    EDpsFixedSizeDefault =  0x5800,
+    EDpsFixedSize4x6 =      0x5803,
+    EDpsFixedSize5x7 =      0x5804,
+    EDpsFixedSizeA4 =       0x5811,
+    EDpsFixedSizeLetter =   0x5812
+    };
+
+// define croppings
+// ref: DPS sepc page 57
+// only high bits are useful
+enum TDpsCropping
+    {
+    EDpsCroppingDefault = 	0x5900,
+    EDpsCroppingOff = 		0x5901,
+    EDpsCroppingOn = 		0x5902	
+    };
+
+// define Device status
+// ref: DPS sepc page 61
+// only high bits are useful
+// 1. Print service status
+enum TDpsPrintServiceStatus
+    {
+    EDpsPrintServiceStatusInit = 0,
+    EDpsPrintServiceStatusPrinting = 	0x7000,
+    EDpsPrintServiceStatusIdle = 		0x7001,
+    EDpsPrintServiceStatusPaused = 		0x7002
+    };
+    
+enum TDpsJobStatus
+    {
+    // 2. Job end reasons
+    EDpsJobStatusNotEnded = 					0x7100,
+    EDpsJobStatusEndedOk = 						0x7101,
+    EDpsJobStatusEndedAbortImmediately = 		0x7102,
+    EDpsJobStatusEndedAbortCompleteCurrent = 	0x7103,
+    EDpsJobStatusEndedOther = 					0x7104    
+    };	
+	
+	// 3. Error status
+enum TDpsErrorStatus
+    {
+    EDpsErrorStatusOk =         0x7200,
+    EDpsErrorStatusWarning = 	0x7201,
+    EDpsErrorStatusFatal = 	    0x7202
+    };
+         
+enum TDpsJobEndReasonMajor
+    {
+    // 4. Job end reasons
+    EDpsJobErrorNone = 		0x7300,
+    EDpsJobErrorPaper = 	0x7301,
+    EDpsJobErrorInk = 		0x7302,
+    EDpsJobErrorHardware = 	0x7303,
+    EDpsJobErrorFile = 		0x7304    
+    };
+
+enum TDpsJobEndReasonPaper
+    {
+    EDpsPaperDefault = 0,
+    EDpsPaperEmpty = 0x0100,
+    EDpsPaperLoad = 0x200,
+    EDpsPaperEject = 0x300,
+    EDpsPaperMedia = 0x400,
+    EDpsPaperJam = 0x500,
+    EDpsPaperNearlyEmpty = 0x600,
+    EDpsPaperTypeSizeNoMatch = 0x700
+    };
+ 
+enum TDpsJobEndReasonInk
+    {
+    EDpsInkDefault = 0,
+    EDpsInkEmpty = 0x100,
+    EDpsInkLow = 0x200,
+    EDpsInkWaste = 0x300   
+    };
+   
+enum TDpsJobEndReasonHard
+    {
+    EDpsHardDefault = 0,
+    EDpsHardFatal = 0x0100,
+    EDpsHardServiceCall = 0x0200,
+    EDpsHardNotAvailable = 0x0300,
+    EDpsHardBusy = 0x0400,
+    EDpsHardLever = 0x0500,
+    EDpsHardCoverOpen = 0x0600,
+    EDpsHardNoMarkingHead = 0x0700,
+    EDpsHardInkCoverOpen = 0x0800,
+    EDpsHardNoInkCartridge = 0x0900
+    };
+    
+enum TDpsJobEndReasonFile
+    {
+    EDpsFileDefault = 0,
+    EDpsFilePrintInfo = 0x0100,
+    EDpsFileDecode = 0x0200
+    };
+    
+struct TDpsJobEndReason 
+    {
+    TDpsJobEndReasonMajor iMajor;
+    TDpsJobEndReasonPaper iPaperMinor;
+    TDpsJobEndReasonInk iInkMinor;
+    TDpsJobEndReasonHard iHardMinor;
+    TDpsJobEndReasonFile iFileMinor;
+    };
+    
+enum TDpsDisconnectEnable
+    {
+    // 5. Disconnect Enable
+    EDpsDisconnectEnableFalse = 0x7400,
+    EDpsDisconnectEnableTrue = 	0x7401    
+    };
+    
+enum TDpsCapabilityChanged
+    {
+	// 6. Capability changes
+    EDpsCapabilityChangedFalse = 	0x7500,
+    EDpsCapabilityChangedTrue = 	0x7501
+    };
+    
+enum TDpsNewJobOk
+    {
+    // 7. New Job Ok
+    EDpsNewJobOkFalse = 	0x7600,
+    EDpsNewJobOkTrue = 		0x7601	
+    };
+
+
+// define error reason minor codes
+// ref: DPS sepc page 62
+enum TDpsErrorMinorCode
+    {
+    EDpsErrorPaperEmpty =       0x0100,
+    EDpsErrorPaperJam =         0x0500,
+    EDpsErrorPaperUnsupport =   0x0700,
+    EDpsErrorInkEmpty =         0x0100
+    };
+
+// define About style
+// ref: DPS spec page 68
+// only high bits are useful
+enum TDpsAbortStyle
+    {
+    EDpsAbortStyleImmediately = 		0x9000,
+    EDpsAbortStyleCompleteCurrent = 	0x9001	
+    };
+
+typedef TUint TDpsAttribute;
+
+struct TDpsEle
+    {
+    TDpsElement iElement;
+    // number of arguments included in this element
+    TInt		iNum;
+    };
+    
+typedef RArray<TDpsEle> TDpsEleArray;
+
+struct TDpsArg
+    {
+    TDpsArgument 	iElement;
+    TBuf8<KMaxArgLen>		iContent;
+    };
+	 
+// used for get DPS respond	
+typedef RArray<TDpsArg> TDpsArgArray;
+
+struct TDpsResult
+    {
+    TDpsResultMajorCode iMajorCode;
+    TDpsResultMinorCode iMinorCode;	
+    };
+	
+#endif
+