mmapitest/devsoundexthaitest/inc/T_CAudioOutputData.h
author hgs
Mon, 23 Aug 2010 19:17:14 +0100
changeset 42 11bd6e33415a
parent 26 c36d67f77f75
permissions -rw-r--r--
2010wk27_05
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     1
/*
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     2
* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     3
* All rights reserved.
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     8
*
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
     9
* Initial Contributors:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    11
*
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    12
* Contributors:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    13
*
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    14
* Description: 
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    15
*
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    16
*/
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    17
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    18
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    19
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    20
#ifndef T_CAUDIO_OUTPUT_H
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    21
#define T_CAUDIO_OUTPUT_H
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    22
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    23
//User Includes
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    24
#include "datawrapperbase.h"
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    25
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    26
//Epoc Includes
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    27
#include <audiooutput.h>//CAudioOutput
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    28
#include <audiooutputmessagetypes.h>
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    29
#include <maudiooutputobserver.h>
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    30
#include <sounddevice.h>//CMMFDevSound
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    31
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    32
class CT_CAudioOutputData : public CDataWrapperBase, public MAudioOutputObserver
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    33
	{
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    34
public:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    35
	static	CT_CAudioOutputData* NewL();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    36
	virtual TAny* GetObject();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    37
	virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    38
	CT_CAudioOutputData();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    39
	
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    40
private:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    41
	void DestroyData();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    42
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    43
protected:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    44
	void DoCmdNewL(const TTEFSectionName& aSection);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    45
	void DoCmdDestructor();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    46
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    47
	void DoCmdAudioOutput();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    48
	void DoCmdDefaultAudioOutput();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    49
	void DoCmdRegisterObserverL();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    50
	void DoCmdSecureOutput();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    51
	void DoCmdSetAudioOutputL(const TTEFSectionName& aSection);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    52
	void DoCmdSetSecureOutputL(const TTEFSectionName& aSection);
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    53
	void DoCmdUnregisterObserver();
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    54
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    55
public:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    56
	/**
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    57
     * From MAudioOutputObserver.
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    58
     */                
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    59
     void DefaultAudioOutputChanged( CAudioOutput& aAudioOutput, CAudioOutput::TAudioOutputPreference aNewDefault );
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    60
	
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    61
private:
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    62
	/**
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    63
	 * Wrapped object
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    64
	 */
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    65
    CAudioOutput* iAudioOutput; 
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    66
    /**
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    67
     * Pref of audio output
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    68
     */
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    69
    CAudioOutput::TAudioOutputPreference audioOutputPref;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    70
    /**
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    71
     * Secure Output(DoCmdSecureOutput)
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    72
     */
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    73
    TBool iSecureOutput;
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    74
    /**
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    75
     * Enum for output options
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    76
     */
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    77
    static const TEnumEntryTable iEnumOutputOptions[];
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    78
	};
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    79
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    80
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    81
#endif //T_CAUDIO_OUTPUT_H
c36d67f77f75 2010wk21_04
hgs
parents:
diff changeset
    82