sl@0: /* sl@0: * Copyright (c) 2006 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: AudioInput API header sl@0: * sl@0: */ sl@0: sl@0: sl@0: #ifndef CAUDIOINPUT_H sl@0: #define CAUDIOINPUT_H sl@0: sl@0: // INCLUDES sl@0: #include <e32base.h> sl@0: #include <midiclientutility.h> sl@0: sl@0: // FORWARD DECLARATIONS sl@0: class CMdaAudioRecorderUtility; sl@0: class CMMFDevSound; sl@0: class MCustomInterface; sl@0: class MCustomCommand; sl@0: class CMdaAudioInputStream; sl@0: class CVideoRecorderUtility; sl@0: sl@0: // CLASS DECLARATION sl@0: sl@0: /** sl@0: * ?one_line_short_description. sl@0: * ?other_description_lines sl@0: */ sl@0: class CAudioInput : public CBase sl@0: { sl@0: public: // Data Types sl@0: sl@0: enum TAudioInputPreference sl@0: { sl@0: EDefaultMic, sl@0: EOutputToSpeaker, sl@0: EFMRadio, sl@0: EVoiceCall, sl@0: ELineIn sl@0: }; sl@0: sl@0: typedef TArray<TAudioInputPreference> TAudioInputArray; sl@0: sl@0: public: // Constructors and destructor sl@0: sl@0: /** sl@0: * Two-phased constructor. sl@0: */ sl@0: IMPORT_C static CAudioInput* NewL(CMdaAudioRecorderUtility& aUtility); sl@0: // IMPORT_C static CAudioInput* NewL(CMidiClientUtility& aUtility); sl@0: IMPORT_C static CAudioInput* NewL(CMMFDevSound& aDevSound); sl@0: IMPORT_C static CAudioInput* NewL(MCustomInterface& aUtility); sl@0: IMPORT_C static CAudioInput* NewL(MCustomCommand& aUtility); sl@0: IMPORT_C static CAudioInput* NewL(CMdaAudioInputStream& aUtility); sl@0: IMPORT_C static CAudioInput* NewL(CVideoRecorderUtility& aUtility); sl@0: sl@0: /** sl@0: * ?member_description. sl@0: * @param ?arg1 ?description sl@0: * @return ?description sl@0: */ sl@0: virtual TAudioInputArray AudioInput() = 0; sl@0: sl@0: /** sl@0: * ?member_description. sl@0: * @param ?arg1 ?description sl@0: * @return ?description sl@0: */ sl@0: virtual void SetAudioInputL(TAudioInputArray aAudioInputs) = 0; sl@0: sl@0: }; sl@0: sl@0: #endif // CAUDIOINPUT_H sl@0: sl@0: // End of File