javauis/mmapi_qt/volumekeys/src/cmmaglobalvolume.cpp
branchRCL_3
changeset 18 9ac0a0a7da70
parent 17 0fd27995241b
child 19 71c436fe3ce0
--- a/javauis/mmapi_qt/volumekeys/src/cmmaglobalvolume.cpp	Tue May 11 16:07:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
-* Copyright (c) 2006 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:  This class is used for global volume
-*
-*/
-
-
-// CLASS HEADER
-#include "cmmaglobalvolume.h"
-
-// INTERNAL INCLUDES
-#include "cmmaplayer.h"
-#include "cmmaforeground.h"
-#include "cmmavolumekeyslistener.h"
-#include "mmaprivatecrkeys.h"
-
-// EXTERNAL INCLUDES
-#include <centralrepository.h>
-#include <logger.h>
-
-// UNNAMED LOCAL NAMESPACE
-namespace
-{
-// Volume level step size
-const TInt KMMAVolumeLevelStep = 10;
-// Error when setting new volume level for a control
-_LIT(KMMAGlobalVolumeSetError, "Can't set volume level");
-}
-
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// CMMAGlobalVolume::NewL
-// ---------------------------------------------------------------------------
-//
-CMMAGlobalVolume* CMMAGlobalVolume::NewL(CMMAForeground* aForeground)
-{
-    CMMAGlobalVolume* self = new(ELeave) CMMAGlobalVolume(aForeground);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-}
-
-// ---------------------------------------------------------------------------
-// CMMAGlobalVolume::~CMMAGlobalVolume
-// ---------------------------------------------------------------------------
-//
-CMMAGlobalVolume::~CMMAGlobalVolume()
-{
-    delete iVolumeKeysListener;
-    //delete iSettingsStore;
-    delete iForeground;
-    iControlList.Close();
-}
-
-// ---------------------------------------------------------------------------
-// CMMAGlobalVolume::AddPlayerL
-// ---------------------------------------------------------------------------
-//
-void CMMAGlobalVolume::AddPlayerL(CMMAPlayer* aPlayer)
-{
-    // Find if the player has a volume control
-    CMMAVolumeControl* control = FindVolumeControl(aPlayer);
-
-    // Ignore adding new player if it does not support volume control
-    if (control)
-    {
-        TMMAPlayerHolder playerHolder;
-        // Create new volume control and level index pair
-        playerHolder.iVolumeControl = control;
-        playerHolder.iVolumeIndex = control->AddLevelL();
-        playerHolder.iPlayer = aPlayer;
-        // Set current volume level for the control
-        control->SetVolumeLevelL(playerHolder.iVolumeIndex, iLevel);
-        // Add created pair to the control list
-        iControlList.AppendL(playerHolder);
-    }
-}
-
-// ---------------------------------------------------------------------------
-// CMMAGlobalVolume::RemovePlayer
-// ---------------------------------------------------------------------------
-//
-void CMMAGlobalVolume::RemovePlayer(CMMAPlayer* aPlayer)
-{
-    // Find if the player has a volume control
-    CMMAVolumeControl* control = FindVolumeControl(aPlayer);
-
-    // Ignore adding new player if it does not support volume control
-    if (control)
-    {
-        // Check that if this type of volume control can be found from
-        // the control list and remove it
-        TInt count(iControlList.Count());
-        for (TInt i(0); i < count; i++)
-        {
-            const TMMAPlayerHolder& holder = iControlList[ i ];
-            if (control == holder.iVolumeControl)
-            {
-                iControlList.Remove(i);
-                break;
-            }
-        }
-    }
-}
-
-// ---------------------------------------------------------------------------
-// CMMAGlobalVolume::VolumeUp
-// ---------------------------------------------------------------------------
-//
-void CMMAGlobalVolume::VolumeUp()
-{
-    LOG1( EJavaMMAPI, EInfo, "THREADID = %d : CMMAGlobalVolume: VolumeUp: +", RThread().Id().Id());
-    // Adjust volume if midlet is in foreground and the volume level value
-    // is not too high, in this case it cannot be set over KMMAVolumeMaxLevel
-    if (iForeground->IsForeground() && (iLevel < KMMAVolumeMaxLevel))
-    {
-        LOG( EJavaMMAPI, EInfo, "CMMAGlobalVolume: VolumeUp: Volume up");
-        // Check that the current volume level is not increased too much
-        TInt level =
-            iLevel > (KMMAVolumeMaxLevel - KMMAVolumeLevelStep) ?
-            KMMAVolumeMaxLevel - iLevel : iLevel + KMMAVolumeLevelStep;
-        // Increase level by new value
-        SetControlVolumeLevels(level);
-    }
-    LOG( EJavaMMAPI, EInfo, "CMMAGlobalVolume: VolumeUp: -");
-}
-
-// ---------------------------------------------------------------------------
-// CMMAGlobalVolume::VolumeDown
-// ---------------------------------------------------------------------------
-//
-void CMMAGlobalVolume::VolumeDown()
-{
-    LOG1( EJavaMMAPI, EInfo, "THREADID = %d : CMMAGlobalVolume: VolumeDown: +", RThread().Id().Id());
-    // Adjust volume if midlet is in foreground and the volume value
-    // is not too low, in this case it cannot be set under zero
-    if (iForeground->IsForeground() && (iLevel > 0))
-    {
-        LOG( EJavaMMAPI, EInfo, "CMMAGlobalVolume: VolumeDown: Volume down");
-        // Check that the currnet volume level is not decreased too much
-        TInt level =
-            iLevel < KMMAVolumeLevelStep ?
-            0 : iLevel - KMMAVolumeLevelStep;
-        // Decrease level by new value
-        SetControlVolumeLevels(level);
-    }
-    LOG( EJavaMMAPI, EInfo, "CMMAGlobalVolume: VolumeDown: -");
-}
-
-// ---------------------------------------------------------------------------
-// CMMAGlobalVolume::FindVolumeControl
-// ---------------------------------------------------------------------------
-//
-CMMAVolumeControl* CMMAGlobalVolume::FindVolumeControl(CMMAPlayer* aPlayer)
-{
-    TInt count(aPlayer->ControlCount());
-    for (TInt i(0); i < count; i++)
-    {
-        CMMAControl* control = aPlayer->Control(i);
-        // Check that if this control supports volume control
-        if (control->ClassName() == KMMAVolumeControlName)
-        {
-            return static_cast< CMMAVolumeControl* >(control);
-        }
-    }
-    // Does not support volume control
-    return NULL;
-}
-
-// ---------------------------------------------------------------------------
-// CMMAGlobalVolume::SetControlVolumeLevels
-// ---------------------------------------------------------------------------
-//
-void CMMAGlobalVolume::SetControlVolumeLevels(TInt aLevel)
-{
-    TInt count(iControlList.Count());
-    // Adjust volume for all current volume controls associated
-    for (TInt i(0); i < count; i++)
-    {
-        const TMMAPlayerHolder& hdr = iControlList[ i ];
-        // Set new volume level for this control
-        TRAPD(error,
-              hdr.iVolumeControl->SetVolumeLevelL(hdr.iVolumeIndex, aLevel));
-        if (error != KErrNone)
-        {
-            hdr.iPlayer->PostStringEvent(
-                CMMAPlayerEvent::EError,
-                KMMAGlobalVolumeSetError());
-        }
-    }
-
-    iLevel = aLevel;
-    LOG1( EJavaMMAPI, EInfo, 
-        "CMMAGlobalVolume::SetControlVolumeLevels - iLevel = %d", iLevel);
-
-    // Store new volume to MMA global settings. Error cannot be reported
-    // in any sophisticated way so we just have to ignore it. Debug builds
-    // may panic in this case
-    TInt error = iSettingsStore->Set(KMobileMediaVolumeLevel, aLevel);
-    __ASSERT_DEBUG(error == KErrNone, User::Invariant());
-}
-
-// ---------------------------------------------------------------------------
-// CMMAGlobalVolume::CMMAGlobalVolume
-// ---------------------------------------------------------------------------
-//
-CMMAGlobalVolume::CMMAGlobalVolume(CMMAForeground* aForeground) :
-        iLevel(KMMAVolumeMaxLevel),
-        iForeground(aForeground)
-{
-}
-
-// ---------------------------------------------------------------------------
-// CMMAGlobalVolume::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CMMAGlobalVolume::ConstructL()
-{
-    iVolumeKeysListener = CMMAVolumeKeysListener::NewL(this);
-    // TO-DO remove TRAP_IGNORE
-   // TRAP_IGNORE(err,iSettingsStore = CRepository::NewL(KCRUidMobileMedia));
-
-    // Get level from the settings store
-    //User::LeaveIfError(iSettingsStore->Get(KMobileMediaVolumeLevel, iLevel));
-}
-
-// End of file