diff -r 2a9601315dfc -r 98ccebc37403 javauis/amms_qt/ammscontrol/audio3D/src/cammscommitcontrolgroup.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javauis/amms_qt/ammscontrol/audio3D/src/cammscommitcontrolgroup.cpp Fri May 14 15:47:24 2010 +0300 @@ -0,0 +1,155 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Group for commit controls +* +*/ + + +// INCLUDE FILES + +#include +#include "cammscommitcontrolgroup.h" +#include "cammsmodule.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CAMMSCommitControlGroup::NewLC +// Two-phased constructor. +// ----------------------------------------------------------------------------- +CAMMSCommitControlGroup* CAMMSCommitControlGroup::NewLC( + CAMMSModule& aSpectator, + CAMMSModuleContainer& aSoundSource3Ds) +{ + CAMMSCommitControlGroup* self = new(ELeave) CAMMSCommitControlGroup( + aSpectator, + aSoundSource3Ds); + + CleanupStack::PushL(self); + // calls base class ConstructL + self->ConstructL(); + + return self; +} + +// Destructor +CAMMSCommitControlGroup::~CAMMSCommitControlGroup() +{ +} + +// ----------------------------------------------------------------------------- +// CAMMSCommitControlGroup::CommitAllControlsL +// Transfers all the pending parameters to the audio processing system +// for all ControlGroups in this controllable +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +void CAMMSCommitControlGroup::CommitAllControlsL() +{ + TInt groupAmount = 0; + + // Go through every module in SoundSource3D + TInt moduleAmount = iSoundSource3Ds.Count(); + for (TInt i = 0; i < moduleAmount; i++) + { + CAMMSModule* module = iSoundSource3Ds.At(i); + + // Go through every ControlGroup in Module + groupAmount = module->Count(); + for (TInt j = 0; j < groupAmount; j++) + { + MAMMSControlGroup* group = module->At(j); + group->CommitGroupL(); + } + } + + // And finally go through every ControlGroup in Spectator + groupAmount = iSpectator.Count(); + for (TInt i = 0; i < groupAmount; i++) + { + MAMMSControlGroup* group = iSpectator.At(i); + group->CommitGroupL(); + } +} + +// ----------------------------------------------------------------------------- +// CAMMSCommitControlGroup::SetDeferredL +// Sets the mode of the CommitControl +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +void CAMMSCommitControlGroup::SetDeferredL(TBool aDeferred) +{ + TInt groupAmount = 0; + TCommitMode mode = (aDeferred ? EDeferred : EImmediate); + + // Go through every module in SoundSource3D + TInt moduleAmount = iSoundSource3Ds.Count(); + for (TInt i = 0; i < moduleAmount; i++) + { + CAMMSModule* module = iSoundSource3Ds.At(i); + + // Go through every ControlGroup in Module + groupAmount = module->Count(); + for (TInt j = 0; j < groupAmount; j++) + { + MAMMSControlGroup* group = module->At(j); + group->SetModeL(mode); + } + } + + // And finally go through every ControlGroup in Spectator + groupAmount = iSpectator.Count(); + for (TInt i = 0; i < groupAmount; i++) + { + MAMMSControlGroup* group = iSpectator.At(i); + group->SetModeL(mode); + } +} + +// ----------------------------------------------------------------------------- +// CAMMSCommitControlGroup::ClassName +// Returns class name that identifies this control group. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +const TDesC16& CAMMSCommitControlGroup::ClassName() +{ + return KAMMSCommitControlClassName; +} + +// ----------------------------------------------------------------------------- +// CAMMSCommitControlGroup::CommitL +// Transfers all the pending parameters to the audio processing system. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +void CAMMSCommitControlGroup::CommitL(TInt /*aCommit*/) +{ +} + +// ----------------------------------------------------------------------------- +// CAMMSCommitControlGroup::CAMMSCommitControlGroup +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +CAMMSCommitControlGroup::CAMMSCommitControlGroup( + CAMMSModule& aSpectator, + CAMMSModuleContainer& aSoundSource3Ds): +// CommitControlGroup has no associated amms controls therefore +// the name passed as a parameter to the constructor is KNullDesC +// CHANGED for now, passing actual name here even no associated Controls. + CAMMSAudio3DControlGroup(KAMMSCommitControl), + iSpectator(aSpectator), + iSoundSource3Ds(aSoundSource3Ds) +{ +} + +