diff -r 000000000000 -r d0791faffa3f mtpfws/mtpfw/dataproviders/dataproviderapi/interface/mtpdataproviderapitypes.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mtpfws/mtpfw/dataproviders/dataproviderapi/interface/mtpdataproviderapitypes.h Tue Feb 02 01:11:40 2010 +0200 @@ -0,0 +1,316 @@ +// Copyright (c) 2007-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 + @publishedPartner + @released +*/ + +#ifndef MTPDATAPROVIDERAPITYPES_H +#define MTPDATAPROVIDERAPITYPES_H + +#include + +class MMTPConnection; + +/** +Defines the various data provider type categories. +@publishedPartner +@released +*/ +enum TMTPDataProviderTypes + { + /** + ECOM plug-in. + */ + EEcom = KMTPDataProviderTypeECOM + }; + +/** +Defines the MTP framework operational modes. +@publishedPartner +@released +*/ +enum TMTPOperationalMode + { + /** + Undefined mode. + */ + EModeUnknown = KMTPModeUnknown, + + /** + MTP Mode. + */ + EModeMTP = KMTPModeMTP, + + /** + PTP Mode. + */ + EModePTP = KMTPModePTP, + + /** + PictBridge Mode. + */ + EModePictBridge = KMTPModePictBridge, + + }; + +/** +Defines the MTP framework event notification types. +@publishedPartner +@released +*/ +enum TMTPNotification + { + /** + This notification indicates that the operational mode of the MTP data + provider framework has changed. Details of the mode change are provided in + the accompanying @see TMTPNotificationParamsSessionChange notification + parameter block. + */ + EMTPModeChanged, + + /** + This notification indicates that an active MTP session has become inactive. + Details of the session are provided in the accompanying + @see TMTPNotificationParamsSessionChange notification parameter block. + */ + EMTPSessionClosed, + + /** + This notification indicates that a new MTP session has become active. + Details of the session are provided in the accompanying + @see TMTPNotificationParamsSessionChange notification parameter block. + */ + EMTPSessionOpened, + + /** + This notification indicates that a new MTP storage has become available as + a result of the insertion of removable storage media. + Details of the storage are provided in the accompanying + @see TMTPNotificationParamsStorageChange notification parameter block. + */ + EMTPStorageAdded, + + /** + This notification indicates that an MTP storage has become unavailable as + a result of the removal of removable storage media. + Details of the storage are provided in the accompanying + @see TMTPNotificationParamsStorageChange notification parameter block. + */ + EMTPStorageRemoved, + + /** + This notification indicates that an MTP storage has become unavailable as + a result of the usb cable removed. + Details of the storage are provided in the accompanying + */ + EMTPDisconnected, + + /** + This notification indicates that an MTP Object has been Renamed. + */ + EMTPRenameObject, + + EMTPObjectAdded + }; + +/** +Defines the notification parameter block which accompanies @see EMTPModeChanged +notifications. +*/ +class TMTPNotificationParamsModeChange + { +public: + + /** + The new MTP operational mode TO which the MTP framework is + transitioning. + */ + TMTPOperationalMode iNewMode; + + /** + The previous MTP operational mode FROM which the MTP framework is + transitioning. + */ + TMTPOperationalMode iPreviousMode; + }; + +/** +Defines the notification parameter block which accompanies @see ESessionOpened +and @see ESessionClosed notifications. +*/ +class TMTPNotificationParamsSessionChange + { +public: + + /** + The MTP connection assigned identifier of the session. + */ + TUint iMTPId; + + /** + The MTP connection on which the exists. + */ + MMTPConnection& iConnection; + }; + +/** +Defines the notification parameter block which accompanies @see EStorageAdded +and @see EStorageRemoved notifications. +*/ +class TMTPNotificationParamsStorageChange + { +public: + + /** + The MTP StorageID assigned to the storage. + */ + TUint32 iStorageId; + }; + +/** +Defines the various data provider MTP feature support categories. +@publishedPartner +@released +*/ +enum TMTPSupportCategory + { + /** + MTP association type datacodes. + */ + EAssociationTypes = 0, + + /** + MTP device property identifier datacodes. + */ + EDeviceProperties = 1, + + /** + MTP event identifier datacodes. + */ + EEvents = 2, + + /** + Produced MTP object format identifier datacodes. + */ + EObjectCaptureFormats = 3, + + /** + Consumed MTP object format identifier datacodes. + */ + EObjectPlaybackFormats = 4, + + /** + MTP object property identifier datacodes. + */ + EObjectProperties = 5, + + /** + MTP operation identifier datacodes. + */ + EOperations = 6, + + /** + Supported storage systems (@see CMTPStorageMetaData::TStorageSystemType). + */ + EStorageSystemTypes = 7, + + /** + MTP extension set identifier strings. + */ + EVendorExtensionSets = 8, + + /** + Folder exclusion list strings + */ + EFolderExclusionSets = 9, + + /** + Format code and file extension mapping strings + */ + EFormatExtensionSets = 10, + + /** + MTP Device Service Extension service identifier strings. + */ + EServiceIDs = 11, + + /** + The number of supported categories. + */ + ENumCategories + }; + +/** +Defines the MTP operation transaction processing phases. +@publishedPartner +@released +*/ +enum TMTPTransactionPhase +{ + /** + Transaction phase unspecified. + */ + EUndefined = 0x00000000, + + /** + No MTP transaction is in-progress. + */ + EIdlePhase = 0x00000001, + + /** + MTP request phase. + */ + ERequestPhase = 0x00000002, + + /** + MTP data phase (data flow direction is MTP initiator to MTP responder). + */ + EDataIToRPhase = 0x00000004, + + /** + MTP data phase (data flow direction is MTP responder to MTP initiator). + */ + EDataRToIPhase = 0x00000008, + + /** + MTP response phase. + */ + EResponsePhase = 0x00000010, + + /** + Transaction conmpleting phase. + */ + ECompletingPhase = 0x00000020 +}; + +class TMTPNotificationParamsHandle +{ +public: + +/** +The MTP framework assigned Object Handle in the session. +*/ +TUint32 iHandleId; +/** +The MTP framework assigned Object FileName in the session. +*/ +TFileName iFileName; + +}; + +#endif // MTPDATAPROVIDERAPITYPES_H