audiostubs/devsoundextensions_stubs/mmfdevsoundadaptation_stub/src/DevSoundUtility.h
--- a/audiostubs/devsoundextensions_stubs/mmfdevsoundadaptation_stub/src/DevSoundUtility.h Tue Sep 07 08:19:48 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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: Audio Stubs - Class that provides API to list ECOM plugin implementation IDs
-*
-*/
-
-
-
-#ifndef MMFDEVSOUNDUTILITY_H
-#define MMFDEVSOUNDUTILITY_H
-
-// INCLUDES
-
-#include <ecom.h>
-#include <badesca.h>
-
-#include "mmfutilities.h" // For TFourCC
-
-#define KFOURCCLENGTH 4
-
-// CLASS DECLARATION
-
-/**
-* Utility class.
-*
-* @lib MmfDevSoundAdaptation.lib
-* @since S60 3.0
-*/
-class TMMFRawPackage
- {
- public:
-
- /**
- * Returns a descriptor reference.
- * @since S60 3.0
- * @return TPtr8& A descriptor reference
- */
- inline TPtr8& Package();
-
- /**
- * Returns a constant descriptor reference.
- * @since S60 3.0
- * @return TPtr8& A constant descriptor reference
- */
- inline const TPtr8& Package() const;
-
- protected:
-
- /**
- * Constructor.
- * @since S60 3.0
- * @param TInt aDerivedSize Size of the descriptor.
- */
- TMMFRawPackage(TInt aDerivedSize);
-
- /**
- * Sets the size of the descriptor.
- * @since S60 3.0
- * @param TInt aDerivedSize New descriptor size.
- * @return void
- */
- inline void SetSize(TInt aDerivedSize);
-
- protected:
- TPtr8 iThis;
- };
-
-// CLASS DECLARATION
-
-/**
-* Utlilty class used for Fixed Sequences.
-*
-* @lib MmfDevSoundAdaptation.lib
-* @since S60 3.0
-*/
-class TMMFToneFixedSequenceNames : public TMMFRawPackage
- {
- public:
-
- /**
- * Constructor.
- * @since S60 3.0
- */
- inline TMMFToneFixedSequenceNames();
-
- public:
- TInt iCount;
- };
-
-// CLASS DECLARATION
-
-/**
-* Utlilty class used for Fixed Sequences.
-*
-* @lib MmfDevSoundAdaptation.lib
-* @since S60 3.0
-*/
-class HMMFToneFixedSequenceNames : public TMMFToneFixedSequenceNames
- {
- public:
-
- /**
- * Constructor.
- * @since S60 3.0
- */
- HMMFToneFixedSequenceNames();
-
- /**
- * Adds name to this object.
- * @since S60 3.0
- * @param const TDesC& aName A descriptor containing name to be added.
- * @return HMMFToneFixedSequenceNames* A pointer to this object.
- */
- HMMFToneFixedSequenceNames* AddNameL(const TDesC& aName);
- };
-
-
-// CLASS DECLARATION
-
-/**
-* Utility class.used by DevSound.
-*
-* @lib MmfDevSoundAdaptation.lib
-* @since S60 3.0
-*/
-class CMMFDevSoundUtility : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Constructs, and returns a pointer to, a new CMMFDevSound object.
- * Leaves on failure.
- * @return CMMFDevSoundUtility* A pointer to newly created utlitly object.
- */
- static CMMFDevSoundUtility* NewL();
-
- /**
- * Constructs, leaves object on the cleanup stack, and returns a pointer
- * to, a new CMMFDevSound object.
- * Leaves on failure.
- * @return CMMFDevSoundUtility* A pointer to newly created utlitly object.
- */
- static CMMFDevSoundUtility* NewLC();
-
- /**
- * Destructor.
- */
- ~CMMFDevSoundUtility();
-
- public: // New functions
-
- /**
- * Finds the ECom plugins based on FourCC.
- * @since S60 3.0
- * @param TUid aInterfaceUid The interface Uid where to look for the plugin.
- * @param RImplInfoPtrArray& aPlugInArray The array of ECom plugins Uids
- * that will be filled in by this function.
- * @param const TFourCC& aSrcDataType The source data type.
- * @param const TFourCC& aDstDataType The destination data type.
- * @return void
- */
- void SeekUsingFourCCLC(TUid aInterfaceUid,
- RImplInfoPtrArray& aPlugInArray,
- const TFourCC& aSrcDataType,
- const TFourCC& aDstDataType,
- const TDesC& aPreferredSupplier);
-
- /**
- * local function to disable items which do not match the preferred
- * supplier. Note that at least one enabled item is returned (if there
- * was an enabled item to begin with) which may not match the preferred
- * supplier.
- * @since S60 3.0
- * @param RImplInfoPtrArray& aPlugInArray An array containing the list of
- * ECom plugin Uids.
- * @param const TDesC &aPreferredSupplier Additional resolution criteria
- * when searching for ECom plugin. If this is provided, the list
- * of matching plugins will be further searched for the latest
- * version of a plugin supplied by supplier named. Note that the
- * display name field is parsed for a match.
- * @return void
- */
- void SelectByPreference(RImplInfoPtrArray& aPlugInArray, const TDesC& aPreferredSupplier);
-
- /*
- * This method looks for hwDevicePlugins that support the state given in
- * aState which must be either EMMFStatePlaying or EMMFStateRecording for
- * each HwDevice plugin found the datatype as indicated by its FourCC
- * code from the default_data field in the resource file is added to the
- * array of aSupportedDataTypes
- * Leaves on failure.
- * @since S60 3.0
- * @param RArray<TFourCC>& aSupportedDataTypes An array of fourCC codes
- * that has a fourCC code added to for each hardware device found.
- * @param TMMFState aState EMMFStatePlaying if seeking HwDevice plugins
- * that support play and EMMFStateRecording if seeking HwDevice
- * plugins that support record *
- * @return void
- */
- void SeekHwDevicePluginsL(RArray<TFourCC>& aSupportedDataTypes, TMMFState aState);
-
- /**
- * Initializes the names of Fixed Sequences.
- * Leaves on failure.
- * @since S60 3.0
- * @param CPtrC8Array** aFixedSequences A pointer to a pointer reference
- * which will be populated with Fixed Sequence names when this
- * funtion returns.
- * @return void
- */
- void InitializeFixedSequenceL(CPtrC8Array** aFixedSequences);
-
- /**
- * Recognizes tone sequence.
- * @since S60 3.0
- * @param const TDesC8& aData A reference to descriptor containing tone
- * sequence.
- * @return ETrue of the sequence starts with 'SQNC' else EFalse.
- */
- TBool RecognizeSequence(const TDesC8& aData);
-
- /**
- * Returns a descriptor reference containing name of the fixed sequence.
- * @since S60 3.0
- * @param TInt aSequenceNumber Sequence number.
- * @return A constant reference to descriptor.
- */
- const TDesC& FixedSequenceName(TInt aSequenceNumber);
-
- private:
-
- /*
- * This method takes a given resource entry from a hardware device and
- * determines whether the hwdevice plugin is a data type match for
- * playing or recording depending on the setting of aState. The method
- * matchs the default_data field from the hw device resource entry
- * matching it with the aHwMatchFourCC code.
- * @since S60 3.0
- * @param CImplementationInformation aHwDeviceResourceEntry The hw device
- * resource entry that is to be checked whether it can be used to
- * play or record
- * @param TDesC8& aHwMatchFourCC The data type FourCC code to match to
- * that the hardware device that must convert to for playing and
- * convert from for recording - for the reference DevSound this
- * is always ' P16' ie pcm16
- * @param TMMFState aState EMMFStatePlaying for playing and
- * EMMFStateRecording for recording
- * @return ETrue if a match for play or record else EFalse.
- */
- TBool IsDataTypeMatch(CImplementationInformation* hwDeviceResourceEntry,
- const TDesC8& fourCCPtrPCM16,
- TMMFState aState);
-
-
- private:
-
- /**
- * C++ default constructor.
- */
- CMMFDevSoundUtility();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
- //data_declaration;
-
- HMMFToneFixedSequenceNames* iFixedSequenceNames;
- HBufC8* iInfo;
-
- };
-
-#endif // MMFDEVSOUNDUTILITY_H
-
-// End of File