os/mm/mmhais/a3fdevsoundcustomisation/src/devsoundadaptationinfo/devsoundadaptationinfoimplbody.h
Update contrib.
1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef DEVSOUNDADAPTATIONINFOIMPLBODY_H
17 #define DEVSOUNDADAPTATIONINFOIMPLBODY_H
20 #include <ecom/ecom.h>
21 #include <a3f/a3f_trace_utils.h>
22 #include <a3f/a3ffourcclookup.h>
23 #include <mmf/common/mmfutilities.h> // For TFourCC
24 #include "devsoundadaptationinfoimpl.h"
26 #define KFOURCCLENGTH 4
28 class MA3FDevSoundAdaptationInfoObserver;
31 The real implementation of CA3FDevsoundAdaptationInfo.
33 NONSHARABLE_CLASS(CA3FDevSoundAdaptationInfoImpl::CBody) : public CActive, public MTruePauseCustomInterface
40 static CBody* NewL(MA3FDevSoundAdaptationInfoObserver& aObserver, CFourCCConvertor& aFourCcConvertor);
47 TInt RequestMaxGain(TUid aCodecType);
48 TInt RequestSupportedFormats(TUid aCodecType, RArray<TUid>& aSupportedFormats);
51 TInt Extension_(TUint aExtensionId, TAny*& aExtPtr, TAny*);
53 // from MTruePauseCustomInterface
54 TBool IsResumeSupported(TUid aCodecType, TUid aFormat);
58 static TBool IsDataTypeMatch(TFourCC aFourCCPCM16,TFourCC aFourCC);
60 void SeekHwDevicePluginsL(RArray<TFourCC>& aSupportedDataTypes, TUid aCodecType);
62 void ReadSupportedFormatsL(TUid aCodecType, RArray<TUid>& aSupportedFormats);
64 TBool FourCCExists(RArray<TFourCC>& aSupportedDataTypes,TFourCC aFourCCEntry);
66 void ReadFourCC(CImplementationInformation* aHwDeviceResourceEntry, TFourCC& aFourCCLeft, TFourCC& aFourCCRight);
69 void ConstructL(MA3FDevSoundAdaptationInfoObserver& aAdaptationInfoObserver, CFourCCConvertor& aFourCcConvertor);
75 TInt RunError(TInt aError);
79 MA3FDevSoundAdaptationInfoObserver* iAdaptationInfoObserver;
81 // Pointer to fourcc convertor
83 CFourCCConvertor* iFourCcConvertor;
85 TBool iMaxGainRequested;
86 TBool iFormatsRequested;
92 #endif // DEVSOUNDADAPTATIONINFOIMPLBODY_H