/*
* Copyright (c) 2005 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: AMMS player builder for adding AMMS audio player controls.
*
*/
// INCLUDE FILES
#include <cmmavolumecontrol.h>
#include <cmmaaudioplayer.h>
#include <logger.h>
#include "cammsvolumecontrolbuilder.h"
#include "cammsvolumecontrol.h"
#include "ammsconstants.h"
#include "ammsutil.h"
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
// CAMMSVolumeControlBuilder::NewL
// Two-phased constructor.
// -----------------------------------------------------------------------------
CAMMSVolumeControlBuilder* CAMMSVolumeControlBuilder::NewLC()
{
CAMMSVolumeControlBuilder* self = new(ELeave) CAMMSVolumeControlBuilder();
CleanupStack::PushL(self);
return self;
}
// Destructor
CAMMSVolumeControlBuilder::~CAMMSVolumeControlBuilder()
{
}
// -----------------------------------------------------------------------------
// CAMMSVolumeControlBuilder::PreparePlayerL
// -----------------------------------------------------------------------------
//
void CAMMSVolumeControlBuilder::PreparePlayerL(CMMAPlayer* aPlayer)
{
LOG1( EJavaAMMS, EInfo, "AMMS::CAMMSVolumeControlBuilder::PreparePlayerL type %S",
aPlayer->Type().Ptr());
CMMAControl* control = AMMSUtil::FindControl(aPlayer,
KMMAVolumeControlName);
if (control)
{
CMMAVolumeControl* mmaControl =
reinterpret_cast< CMMAVolumeControl* >(control);
CAMMSVolumeControl* ammsControl = CAMMSVolumeControl::NewLC(
KAMMSGlobalVolume,
mmaControl,
aPlayer);
aPlayer->AddControlL(ammsControl);
CleanupStack::Pop(ammsControl);
LOG( EJavaAMMS, EInfo, "AMMS::CAMMSVolumeControlBuilder::PreparePlayerL add OK");
}
// else volume control need not to be added, for example camera player.
}
// -----------------------------------------------------------------------------
// CAMMSVolumeControlBuilder::CAMMSVolumeControlBuilder
// C++ default constructor can NOT contain any code, that
// might leave.
// -----------------------------------------------------------------------------
CAMMSVolumeControlBuilder::CAMMSVolumeControlBuilder()
{
}
// End of File