sl@0: /* sl@0: * Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: Used for error concealment. sl@0: * sl@0: */ sl@0: sl@0: sl@0: #ifndef RA8CUSTOMINTERFACE_H sl@0: #define RA8CUSTOMINTERFACE_H sl@0: sl@0: // INCLUDES sl@0: #include sl@0: sl@0: // CONSTANTS sl@0: const TUid KUidRa8DecHwDeviceCI = {0x101FAF42}; sl@0: sl@0: // MACROS sl@0: sl@0: // DATA TYPES sl@0: enum TRa8DecHwDeviceCommand sl@0: { sl@0: ERa8DecHwdFrameNumber sl@0: }; sl@0: sl@0: // FUNCTION PROTOTYPES sl@0: sl@0: // FORWARD DECLARATIONS sl@0: class CMMFDevSound; sl@0: sl@0: // CLASS DECLARATION sl@0: sl@0: /** sl@0: * Interface for ra8 and sipro. sl@0: * Used for providing initialization information for dsp decoder and getting. sl@0: * information about played frames. sl@0: * This abstract class just provides the static NewL function for the creation sl@0: * of the proxy, and also defines the custom interface to be implemented by the sl@0: * proxy and the real custom interface implementation. sl@0: * sl@0: */ sl@0: class CRa8CustomInterface : public CBase sl@0: { sl@0: public: // Constructors and destructor sl@0: sl@0: /** sl@0: * Creates the interface. sl@0: */ sl@0: IMPORT_C static CRa8CustomInterface* NewL(CMMFDevSound& aDevSound); sl@0: sl@0: public: // New functions sl@0: /** sl@0: * CRa8CustomInterface::FrameNumber sl@0: * is used get the current number of audio frames played. sl@0: * @return status sl@0: */ sl@0: virtual TInt FrameNumber() = 0; sl@0: /** sl@0: * CRa8CustomInterface::SetInitString sl@0: * is used to configure the initialization parameters for task creation. sl@0: * @param aInitString contains the initialization information for the task. sl@0: * @return status sl@0: */ sl@0: virtual TInt SetInitString(TDesC8& aInitString) = 0; sl@0: sl@0: public: // Functions from base classes sl@0: protected: // New functions sl@0: protected: // Functions from base classes sl@0: private: sl@0: sl@0: public: // Data sl@0: protected: // Data sl@0: private: // Data sl@0: public: // Friend classes sl@0: protected: // Friend classes sl@0: private: // Friend classes sl@0: sl@0: }; sl@0: sl@0: #endif // RA8CUSTOMINTERFACE_H sl@0: sl@0: // End of File