--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usbclasses/pictbridgeengine/inc/dpsdefs.h Thu Dec 17 09:14:30 2009 +0200
@@ -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
+