mmlibs/mmfw/tsrc/mmfunittest/GEF/Plugin/TestGlobalEffectPlugin.h
author hgs
Tue, 02 Nov 2010 12:28:51 +0000
changeset 6 fe9d1bf55678
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk46_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
// All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
// This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
// under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
// which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
// Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
// Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
// Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
// Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
#ifndef TESTGLOBALEFFECTPLUGIN_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
#define TESTGLOBALEFFECTPLUGIN_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
#include <mmf/plugin/mmfglblaudioeffectplugin.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
#include "../src/TestEffectCustom.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
#include "PresetList.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
// Test global audio effect - does nothing but supports setting, getting etc
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
class CTestEffect : public CBase, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
                    public MMmfGlobalAudioImpl,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
                    public MTestEffectCustomIf
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
	static MMmfGlobalAudioImpl* NewL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
	~CTestEffect();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
	enum TValueState
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
		ESetByUnknown,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
		ESetByUid,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
		ESetByDes,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
		ESetByValue
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
		};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
protected:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
	// from MMmfGlobalAudioImpl
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
	void Release();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
	TUint Capability(TBool aCurrentOnly);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
	void RequestNotificationL(TUid aEventUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
	TBool IsEnabled() const;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
	TBool IsActive() const;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
	void SetEnabledL(TBool aBool);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
	TUid SettingsByUidL() const;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
	void SetSettingsByUidL(TUid aPresetUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
	HBufC8* SettingsByDesL() const;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
	void SetSettingsByDesL(const TDesC8& aParam);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
	MMmfGlobalAudioPresetList* KnownPresetsL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
	void ExtractValuesL(TDes8& aPackageBuf);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
	void SetByValuesL(const TDesC8& aPackageBuf);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
	TInt CreateCustomInterface(TUid aInterfaceUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
	TAny* CustomInterface(TUid aInterfaceUid);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
	void PassDestructorKey(TUid aDestructorKey);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
	void CompleteConstructL(CMmfGlobalAudioEffect* aParent, MMmfGlobalAudioEffectObserver* aObserver);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
	// from MTestEffectCustomIf
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
	void SetActive(TBool aValue);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
	void GenCallbackL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
	CTestEffect();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
private:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
	TUid iDestructorKey;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
	CMmfGlobalAudioEffect* iParent;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
	MMmfGlobalAudioEffectObserver* iObserver;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
	TUid iSettingsUid;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
	HBufC8* iSettingsDes;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
	TInt iSettingsValue;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
	TValueState iValueState;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
	TBool iEnabled;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
	TBool iIsActive;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
	CPresetList* iPresetList;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
	TUid iNotifyUid;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
#endif