mmlibs/mmfw/Effect/src/MmfGlblAudioEffectPlugin.cpp
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
// MmfGlblAudioEffectPlugin.cpp
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
// All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
// This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
// under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
// which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
// Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
// Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
// Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
// Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
#include <mmf/common/mmfglblaudioeffect.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
#include <mmf/plugin/mmfglblaudioeffectplugin.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
#include <mmf/plugin/mmfglblaudioeffect.hrh>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
#include <ecom/ecom.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
#include <mm/mmpluginutils.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
#include <mmf/common/mmfcontroller.h> //needed for CleanupResetAndDestroyPushL()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
// construct implementation of global plugin
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
MMmfGlobalAudioImpl* MMmfGlobalAudioImpl::NewL(TUid aImplementationUid, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
							   CMmfGlobalAudioEffect* aParent,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
	                           MMmfGlobalAudioEffectObserver* aObserver)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
	// The Uid of the plugin will be the match string
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
	TInt uidAsInteger = aImplementationUid.iUid;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
	TBuf8<20> tempBuffer;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
	tempBuffer.Num(uidAsInteger, EHex); // has value
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
	TUid interfaceUid = {KUidGlobalAudioEffectInterface};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
	TUid destructorKey;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
	MMmfGlobalAudioImpl* self = 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
		static_cast<MMmfGlobalAudioImpl*>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
			(MmPluginUtils::CreateImplementationL(interfaceUid, destructorKey, tempBuffer, KRomOnlyResolverUid));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
	self->PassDestructorKey(destructorKey);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
	CleanupReleasePushL(*self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
	self->CompleteConstructL(aParent, aObserver);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
	CleanupStack::Pop(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
	}