sl@0: /* sl@0: * Copyright (c) 2006-2009 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: sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: sl@0: /** sl@0: @file sl@0: @publishedPartner sl@0: @released sl@0: */ sl@0: sl@0: sl@0: #ifndef MAUDIOPROCESSINGUNITOBSERVER_H__ sl@0: #define MAUDIOPROCESSINGUNITOBSERVER_H__ sl@0: sl@0: #include sl@0: sl@0: #include sl@0: sl@0: class MAudioProcessingUnit; sl@0: sl@0: /** sl@0: * An interface to a set of audio processing unit callback functions. sl@0: * sl@0: * this serves as the method of communication between the client and the audio processing unit. sl@0: * sl@0: * The class is a mixin and is intended to be inherited by the client class that is sl@0: * interested in observing the audio processing unit operation. The functions sl@0: * encapsulated by this class are called when specific events occur while sl@0: * processing audio. sl@0: * sl@0: * this interface is mainly usable for advanced audio clients, that are interested in detailed sl@0: * operation of the processing chain. Most audio clients should be fine with only observing the audio stream. sl@0: * sl@0: */ sl@0: class MAudioProcessingUnitObserver sl@0: { sl@0: public: sl@0: /** sl@0: * Handles processing unit error event. sl@0: * sl@0: * @param aInstance A pointer to the processing unit instance. sl@0: * @param aError. Propagated error. sl@0: */ sl@0: virtual void ProcessingUnitError(MAudioProcessingUnit* aInstance, TInt aError)=0; sl@0: }; sl@0: sl@0: #endif // MAUDIOPROCESSINGUNITOBSERVER_H__