diff -r 000000000000 -r d0791faffa3f mtpdataproviders/mtpimagedp/inc/mtpimagedpconst.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mtpdataproviders/mtpimagedp/inc/mtpimagedpconst.h Tue Feb 02 01:11:40 2010 +0200 @@ -0,0 +1,195 @@ +// Copyright (c) 2009 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: +// + +/** + @file + @internalTechnology +*/ + +#ifndef MTPIMAGEDPCONST_H +#define MTPIMAGEDPCONST_H + +#include + +#include +#include // for __FLOG debugging + +// for thumb creation +const TUint32 KThumbWidht=160; +const TUint32 KThumbHeigth=120; +const TUint32 KThumbCompressedSize=KThumbWidht * KThumbHeigth * 4; // from TNM +const TUint32 KThumbFormatCode = 0x3801; +const TUint32 KFileSizeMax = 10 * 1000 * 1000; + +_LIT(KJpegMimeType, "image/jpeg"); +_LIT8(KPtpMimeJPEG, "image/jpeg"); + +/** +Define all the operations that are supported by the picture data provider +*/ +static const TUint16 KMTPImageDpSupportedOperations[] = + { + EMTPOpCodeGetObjectInfo, + EMTPOpCodeGetObject, + EMTPOpCodeGetPartialObject, + EMTPOpCodeGetThumb, + EMTPOpCodeDeleteObject, + EMTPOpCodeSendObjectInfo, + EMTPOpCodeSendObject, + EMTPOpCodeMoveObject, + EMTPOpCodeCopyObject, + EMTPOpCodeGetObjectReferences, + + //MTP op codes + EMTPOpCodeGetObjectPropsSupported, + EMTPOpCodeGetObjectPropDesc, + EMTPOpCodeGetObjectPropValue, + EMTPOpCodeSetObjectPropValue, + EMTPOpCodeSetObjectReferences, + + //MTP enhanced operation codes + EMTPOpCodeGetObjectPropList, + EMTPOpCodeSetObjectPropList, + EMTPOpCodeSendObjectPropList, + + EMTPOpCodeGetFormatCapabilities, + + //Deprecated operation + EMTPOpCodeSetObjectProtection + }; + +/** +Define all the object properties that are supported by the picture data provider +*/ +static const TUint16 KMTPImageDpSupportedProperties[] = + { + //Stored in MTP MetaData Object + EMTPObjectPropCodeStorageID, + EMTPObjectPropCodeObjectFormat, + EMTPObjectPropCodeProtectionStatus, + EMTPObjectPropCodeObjectFileName, + EMTPObjectPropCodeParentObject, + EMTPObjectPropCodePersistentUniqueObjectIdentifier, + + //Stored in MDE object + EMTPObjectPropCodeName, + EMTPObjectPropCodeObjectSize, + EMTPObjectPropCodeDateCreated, + EMTPObjectPropCodeDateModified, + EMTPObjectPropCodeWidth, + EMTPObjectPropCodeHeight, + EMTPObjectPropCodeImageBitDepth, + EMTPObjectPropCodeRepresentativeSampleFormat, + EMTPObjectPropCodeRepresentativeSampleSize, + EMTPObjectPropCodeRepresentativeSampleHeight, + EMTPObjectPropCodeRepresentativeSampleWidth, + EMTPObjectPropCodeNonConsumable + }; + +/** +Define the supported property group number . +*/ +static const TUint16 KMTPImageDpPropertyGroupOneNumber = 1; + +/** +Define the group one supported properties. +The properties in group one are same as all properties which image dp supported, +It can avoid PC get all properties and group one properties twice while sendobjectproplist/sendobject +*/ +static const TUint16 KMTPImageDpGroupOneProperties[] = + { + //Stored in MTP MetaData Object + EMTPObjectPropCodeStorageID, + EMTPObjectPropCodeObjectFormat, + EMTPObjectPropCodeProtectionStatus, + EMTPObjectPropCodeObjectFileName, + EMTPObjectPropCodeParentObject, + EMTPObjectPropCodePersistentUniqueObjectIdentifier, + + //Stored in MDE object + EMTPObjectPropCodeName, + EMTPObjectPropCodeNonConsumable, + EMTPObjectPropCodeObjectSize, + EMTPObjectPropCodeDateCreated, + EMTPObjectPropCodeDateModified, + EMTPObjectPropCodeWidth, + EMTPObjectPropCodeHeight, + EMTPObjectPropCodeImageBitDepth, + EMTPObjectPropCodeRepresentativeSampleFormat, + EMTPObjectPropCodeRepresentativeSampleSize, + EMTPObjectPropCodeRepresentativeSampleHeight, + EMTPObjectPropCodeRepresentativeSampleWidth + }; + +/** +Define the group one supported property number. +*/ +static const TUint16 KMTPImageDpGroupOneSize = sizeof(KMTPImageDpGroupOneProperties)/sizeof(KMTPImageDpGroupOneProperties[0]); + +/** +Define all events that are supported by the picture data provider +*/ +static const TUint16 KMTPImageDpSupportedEvents[] = + { + EMTPEventCodeObjectAdded, + EMTPEventCodeObjectRemoved, + EMTPEventCodeObjectInfoChanged + }; + +static const TUint32 KPtpNoValue = 0xFFFFFF00; + +static const TInt KExtensionBufferSize=5; //related to the size of strings in SMTPValidCodeExtensionMapping +typedef TBufC TMTPImageFileExtension; + +// extensions of image files that are shared via MTP Picture Data Provider +struct SMTPValidCodeExtensionMapping + { + public: + TMTPFormatCode iFormatCode; + const TText* iExtension; + }; + +// Note when adding extensions: +// same value for iExtension can be in the file only once, +// values for iFormatCode code can be multiple times + +#if defined(_UNICODE) +#define CASTING(a) ((const TText*)L ## a) +#else +#define CASTING(a) ((const TText*)(a)) +#endif + +static const SMTPValidCodeExtensionMapping KMTPValidCodeExtensionMappings[] = + { + {EMTPFormatCodeEXIFJPEG, CASTING("jpg")}, // jpeg + {EMTPFormatCodeEXIFJPEG, CASTING("jpe")}, // jpeg + {EMTPFormatCodeEXIFJPEG, CASTING("jpeg")} // jpeg + }; + +/** +Defines the image dp parameters. +*/ +enum TImageDpParameter + { + /** + This parameter defines the new images property value. + + This parameter value can be retrieved as an @see TInt value. + */ + ENewImagesCount = 0x00000000, + }; + +#endif // MTPIMAGEDPCONST_H +