diff -r 000000000000 -r a2952bb97e68 mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/inc/cmediamtpdataprovidergetformatcapabilities.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/inc/cmediamtpdataprovidergetformatcapabilities.h Thu Dec 17 08:55:47 2009 +0200 @@ -0,0 +1,163 @@ +/* +* 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: +* +*/ +#ifndef CMEDIAMTPDATAPROVIDERGETFORMATCAPABILITIES_H +#define CMEDIAMTPDATAPROVIDERGETFORMATCAPABILITIES_H + +#include "cgetformatcapabilities.h" + +class CMTPTypeObjectPropDesc; +/** +* Defines media data provider GetFormatCapabilities +*/ +class CMediaMtpDataProviderGetFormatCapabilities : public CGetFormatCapabilities + { +public: + + /** + * @param aFramework, The data provider framework + * @param aConnection, The connection from which the request comes + * @param aWrapper Medadata access + * @return A pointer to the created request processor object + */ + static MMmRequestProcessor* NewL( MMTPDataProviderFramework& aFramework, + MMTPConnection& aConnection, + MMmMtpDpConfig& aDpConfig ); + + /** + * Destructor + */ + ~CMediaMtpDataProviderGetFormatCapabilities(); + +protected: + // from CGetFormatCapabilities, override from baseclass + /** + * Service interdepent propdesc + */ + void ServiceInterdepentPropDescL(); + + /** + * Service specific object property + * @param aPropCode, The prop code + * @return MTPType object propdesc + */ + CMTPTypeObjectPropDesc* ServiceSpecificPropertyDescL( TUint16 aPropCode ); + +private: + /** + * Standard C++ Constructor + * @param aFramework, The data provider framework + * @param aConnection, The connection from which the request comes + * @param aWrapper Medadata access + */ + CMediaMtpDataProviderGetFormatCapabilities( MMTPDataProviderFramework& aFramework, + MMTPConnection& aConnection, + MMmMtpDpConfig& aDpConfig ); + + /** + * two-phase construction + */ + void ConstructL(); + + //functions used by ServiceInterdepentPropDesc + /** + * Service AudioWaveCodec + * @param aFormatCode, The format code + * @return MTPTypeInterdependentProperties + */ + CMTPTypeObjectPropDesc* ServiceAudioWaveCodecL(); + + /** + * Service AudioBitrate + * @param aFormatCode, The format code + * @return MTPTypeInterdependentProperties + */ + CMTPTypeObjectPropDesc* ServiceAudioBitrateL(); + + /** + * Service videoFourCCCodec + * @param aFormatCode, The format code + * @return MTPTypeInterdependentProperties + */ + CMTPTypeObjectPropDesc* ServiceVideoFourCCCodecL(); + + /** + * Service VideoBitrate + * @param aFormatCode, The format code + * @return MTPTypeInterdependentProperties + */ + CMTPTypeObjectPropDesc* ServiceVideoBitrateL(); + + /** + * Service RangeForm Description + * @param aMinValue The minimal value + * @param aMaxValue The maximal value + * @param aStepValue The step value + * @return MTPTypeObjectPropDescRangeForm + */ + CMTPTypeObjectPropDesc* ServiceRangeFormDescriptionL( TUint16 aPropCode, + TUint32 aMinValue, + TUint32 aMaxValue, + TUint32 aStepValue, + TBool aIsReadOnly = EFalse ); + + //functions used by ServiceSpecificObjectPropertyL + /** + * Service number of channels + * @return MTPTypeObjectPropDesc + */ + CMTPTypeObjectPropDesc* ServiceNumberOfChannelsL(); + + /** + * Service code sample rate + * @return MTPTypeObjectPropDesc + */ + CMTPTypeObjectPropDesc* ServiceCodeSampleRateL(); + + /** + * Service description + * @return MTPTypeObjectPropDesc + */ + CMTPTypeObjectPropDesc* ServiceDescriptionL(); + + /** + * Service scan type description + * @return MTPTypeObjectPropDesc + */ + CMTPTypeObjectPropDesc* ServiceScanTypeDescriptionL(); + + /** + * Service encoding profile description + * @return MTPTypeObjectPropDesc + */ + CMTPTypeObjectPropDesc* ServiceEncodingProfileDescriptionL(); + + /** + * Service DRM status + * @return MTPTypeObjectPropDesc + */ + CMTPTypeObjectPropDesc* ServiceDRMStatusL(); + + /** + * Service OMADRM status + * @return MTPTypeObjectPropDesc + */ + CMTPTypeObjectPropDesc* ServiceOMADRMStatusL(); + + + }; + +#endif // CMEDIAMTPDATAPROVIDERGETFORMATCAPABILITIES_H