javauis/amms_qt/module/src/cammscontrolgroup.cpp
branchRCL_3
changeset 18 9ac0a0a7da70
parent 17 0fd27995241b
child 19 71c436fe3ce0
--- a/javauis/amms_qt/module/src/cammscontrolgroup.cpp	Tue May 11 16:07:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,286 +0,0 @@
-/*
-* 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:  Base class for control groups
-*
-*/
-
-
-// INCLUDE FILES
-#include <logger.h>
-#include "cammscontrolgroup.h"
-#include <cmmaplayer.h>
-#include "cammscontrol.h"
-#include "ammsutil.h"
-#include "cammsplayerstatelistener.h"
-
-#ifdef _DEBUG
-_LIT(KAMMSNoGroupNameError, "No group name");
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAMMSControlGroup::~CAMMSControlGroup
-// Destructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-CAMMSControlGroup::~CAMMSControlGroup()
-{
-    if (iPlayerStateListeners)
-    {
-        iPlayerStateListeners->ResetAndDestroy();
-        delete iPlayerStateListeners;
-    }
-
-    iControls.Close();
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSControlGroup::PlayerStateChangedL
-// This function is called when state of a player has changed.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSControlGroup::PlayerStateChangedL(
-    CMMAPlayer* aPlayer,
-    TInt aNewState)
-{
-    CMMAControl* findControl = AMMSUtil::FindControl(
-                                   aPlayer, iName, iControlType);
-
-    // It is safe to cast CMMAControl to the subclass CAMMSControl, as only
-    // AMMS Controls are returned from FindControl method
-    CAMMSControl* control = static_cast< CAMMSControl* >(findControl);
-
-    // The player has a control belonging to this group if this function
-    // is called.
-    __ASSERT_DEBUG(control, User::Invariant());
-
-    TInt controlIndex = iControls.Find(control);
-
-    // Add the control of the player to the group if the player is prefetched
-    // or started.
-    if (controlIndex == KErrNotFound)
-    {
-        if ((aNewState == CMMAPlayer::EPrefetched) ||
-                (aNewState == CMMAPlayer::EStarted))
-        {
-            // Now it is safe to call PrepareControlL to initialize the Control
-            LOG1( EJavaAMMS, EInfo, "AMMS::CAMMSControlGroup::PlayerStateChangedL calling PrepareControl for type: %d",
-                      control->iControlType);
-            control->PrepareControlL();
-
-            // Add control to controls array
-            User::LeaveIfError(iControls.Append(control));
-
-            // Notify derived classes about new player control
-            NotifyPlayerAddedL(aPlayer, control);
-        }
-    }
-
-    // Remove the control of the player from the group if the player is
-    // deallocated or closed.
-    else
-    {
-        if ((aNewState == CMMAPlayer::ERealized) ||
-                (aNewState == CMMAPlayer::EClosed))
-        {
-            // Call DeallocateControl to delete the Control's Effect API class
-            LOG1( EJavaAMMS, EInfo, "AMMS::CAMMSControlGroup::PlayerStateChangedL calling DeallocateControl for type: %d",
-                      control->iControlType);
-            control->DeallocateControl();
-
-            NotifyPlayerRemoved(aPlayer, control);
-            iControls.Remove(controlIndex);
-        }
-    }
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSControlGroup::ConstructL
-// 2nd phase constructor.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSControlGroup::ConstructL()
-{
-    iPlayerStateListeners =
-        new(ELeave) CArrayPtrSeg< CAMMSPlayerStateListener >(1);
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSControlGroup::ControlCount
-// Returns the total count of controls in this group.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-TInt CAMMSControlGroup::ControlCount() const
-{
-    return iControls.Count();
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSControlGroup::Control
-// Gets control. Ownership is not tranferred.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-CMMAControl* CAMMSControlGroup::Control(TInt aIndex) const
-{
-    // aIndex must not be negative and must not be greater than the number
-    // of objects currently in the array,
-    // otherwise the operator raises a USER-130 panic.
-    return iControls[ aIndex ];
-}
-
-
-// -----------------------------------------------------------------------------
-// CAMMSControlGroup::NotifyPlayerRemoved
-// Called by PlayerAddedL when new player is added
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSControlGroup::NotifyPlayerAddedL(
-    CMMAPlayer* /*aPlayer*/,
-    CMMAControl* /*aControl*/)
-{
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSControlGroup::NotifyPlayerRemoved
-// Called by PlayerRemoved when a player is removed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSControlGroup::NotifyPlayerRemoved(
-    CMMAPlayer* /*aPlayer*/,
-    CMMAControl* /*aControl*/)
-{
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSControlGroup::PlayerAddedL
-// Called by the owning module when a player is added
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSControlGroup::PlayerAddedL(CMMAPlayer *aPlayer)
-{
-    // All derived classes must define name for the group
-    __ASSERT_DEBUG(iName != KNullDesC,
-                   User::Panic(KAMMSNoGroupNameError,
-                               KErrUnknown));
-
-    // Do nothing if the player does not have a control belonging to this group.
-    CMMAControl* findControl = AMMSUtil::FindControl(
-                                   aPlayer, iName, iControlType);
-    if (!findControl)
-    {
-        return;
-    }
-
-    // It is safe to cast CMMAControl to the subclass CAMMSControl, as only
-    // AMMS Controls are returned from FindControl method
-    CAMMSControl* control = static_cast< CAMMSControl* >(findControl);
-
-    CAMMSPlayerStateListener* playerListener =
-        CAMMSPlayerStateListener::NewLC(aPlayer, this);
-
-    iPlayerStateListeners->AppendL(playerListener);
-
-    CleanupStack::Pop(playerListener);
-
-    // Add the control of the player directly to the group
-    // if the player is in STARTED or PREFETCHED state.
-    // If not, the control is added later when the player changes
-    // its state to PREFETCHED.
-    TInt playerState = aPlayer->State();
-
-    if ((playerState == CMMAPlayer::EPrefetched) ||
-            (playerState == CMMAPlayer::EStarted))
-    {
-        // Now it is safe to call PrepareControlL to initialize the Control
-        LOG1( EJavaAMMS, EInfo, "AMMS::CAMMSControlGroup::PlayerAddedL calling PrepareControl for type: %d",
-                  control->iControlType);
-        control->PrepareControlL();
-
-        // Add control to controls array
-        User::LeaveIfError(iControls.Append(control));
-
-        // Notify derived classes about new player control
-        NotifyPlayerAddedL(aPlayer, control);
-    }
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSControlGroup::PlayerRemoved
-// Called by the owning module when a player is removed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-void CAMMSControlGroup::PlayerRemoved(CMMAPlayer *aPlayer)
-{
-    CMMAControl* control = AMMSUtil::FindControl(
-                               aPlayer, iName, iControlType);
-
-    // Do nothing if the player does not have a control belonging to this group.
-    if (!control)
-    {
-        return;
-    }
-
-    // Remove the control of the player if the control is in the group.
-    TInt controlIndex = iControls.Find(control);
-    if (controlIndex != KErrNotFound)
-    {
-        // It is safe to cast CMMAControl to the subclass CAMMSControl, as only
-        // AMMS Controls are returned from FindControl method
-        CAMMSControl* ammsControl = static_cast< CAMMSControl* >(control);
-
-        // Call DeallocateControl to delete the Control's Effect API class
-        LOG1( EJavaAMMS, EInfo, "AMMS::CAMMSControlGroup::PlayerRemoved calling DeallocateControl for type: %d",
-                  ammsControl->iControlType);
-        ammsControl->DeallocateControl();
-
-        NotifyPlayerRemoved(aPlayer, ammsControl);
-        iControls.Remove(controlIndex);
-    }
-
-    // Remove the state listener belonging to the given player.
-
-    TInt listenerCount = iPlayerStateListeners->Count();
-    TInt listenerIndex = KErrNotFound;
-
-    for (TInt i = 0; i < listenerCount; i++)
-    {
-        // Elements in the listener array are never null.
-        if (iPlayerStateListeners->At(i)->Player() == aPlayer)
-        {
-            listenerIndex = i;
-            break;
-        }
-    }
-
-    if (listenerIndex != KErrNotFound)
-    {
-        delete iPlayerStateListeners->At(listenerIndex);
-        iPlayerStateListeners->Delete(listenerIndex);
-    }
-}
-
-// -----------------------------------------------------------------------------
-// CAMMSControlGroup::CAMMSControlGroup
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-CAMMSControlGroup::CAMMSControlGroup(
-    const TDesC& aName,
-    TAMMSControlTypes aControlType) :
-        iName(aName),
-        iControlType(aControlType)
-{
-}
-
-//  End of File