vtuis/videotelui/src/commands/cvtuicommandpolicymanager.cpp
changeset 18 d9b6a8729acd
parent 4 6dc066157ed4
child 23 c378a0498b84
child 27 dcbddbbaf8fd
--- a/vtuis/videotelui/src/commands/cvtuicommandpolicymanager.cpp	Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,334 +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:  Command policy manager class.
-*
-*/
-
-
-#include <cvtlogger.h>
-
-#include "cvtuicommandpolicymanager.h"
-#include "cvtuicmdcontext.h"
-#include "cvtuicmdvalidatorbase.h"
-#include "cvtuicmdvalidationactionbase.h"
-#include "cvtuicmdcustomvalidationactionbase.h"
-#include "cvtuiprimarycmdpolicy.h"
-#include "cvtuicommandmanager.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Used in InsertInOrder() method to compare two instances of CVtUiCmdContext.
-// ---------------------------------------------------------------------------
-//
-TInt ContextTypeCmpFunc( const CVtUiCmdContext& aV1,
-    const CVtUiCmdContext& aV2 )
-    {
-    return static_cast< TInt >( aV1.ContextType() ) -
-        static_cast< TInt >( aV2.ContextType() );
-    }
-
-// ---------------------------------------------------------------------------
-// Used in FindInOrder() method to compare instances of CVtUiCmdContext versus
-// given key value.
-// ---------------------------------------------------------------------------
-//
-TInt ContextTypeCmpFuncVsKey( const TVtUiCmdContextType* aKey,
-    const CVtUiCmdContext& aValue )
-    {
-    return static_cast< TInt > ( *aKey ) -
-        static_cast< TInt >( aValue.ContextType() );
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::NewL
-// ---------------------------------------------------------------------------
-//
-CVtUiCommandPolicyManager*
-CVtUiCommandPolicyManager::NewL( const CVtUiCommandManager& aCmdManager )
-    {
-    CVtUiCommandPolicyManager* self =
-        new ( ELeave ) CVtUiCommandPolicyManager( aCmdManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(); // self
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::~CVtUiCommandPolicyManager
-// ---------------------------------------------------------------------------
-//
-CVtUiCommandPolicyManager::~CVtUiCommandPolicyManager()
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.~" )
-    iContexts.Reset();
-    iValidators.Reset();
-    delete iPrimaryCommandPolicy;
-    __VTPRINTEXIT( "CmdPolicyMgr.~" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::RegisterCommandContext
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiCommandPolicyManager::RegisterCommandContext(
-    CVtUiCmdContext& aContext )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.RegisterCommandContext" )
-    TLinearOrder< CVtUiCmdContext > cmpFunc( ::ContextTypeCmpFunc );
-    TInt result( KErrNone );
-    TInt index( iContexts.FindInOrder( &aContext, cmpFunc ) );
-    if ( index == KErrNotFound )
-        {
-        TInt error( iContexts.InsertInOrder( &aContext, cmpFunc ) );
-        if ( !error )
-            {
-            CommandContextRegistered( aContext );
-            }
-        result = error;
-        }
-    else
-        {
-        result = KErrAlreadyExists;
-        }
-    __VTPRINTEXITR( "CmdPolicyMgr.RegisterCommandContext %d", result )
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::UnregisterCommandContext
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::UnregisterCommandContext(
-    CVtUiCmdContext& aContext )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.UnregisterCommandContext" )
-    TLinearOrder< CVtUiCmdContext > cmpFunc( ::ContextTypeCmpFunc );
-    TInt index( iContexts.FindInOrder( &aContext, cmpFunc ) );
-    if ( index != KErrNotFound )
-        {
-        iContexts.Remove( index );
-        CommandContextUnregistered( aContext );
-        }
-    __VTPRINTEXIT( "CmdPolicyMgr.UnregisterCommandContext" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::AddValidator
-// ---------------------------------------------------------------------------
-//
-TInt CVtUiCommandPolicyManager::AddValidator(
-    CVtUiCmdValidatorBase& aValidator )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.AddValidator" )
-    TInt error( iValidators.Append( &aValidator ) );
-    if ( !error )
-        {
-        ValidatorAdded( aValidator );
-        }
-    __VTPRINTEXITR( "CmdPolicyMgr.AddValidator %d", error )
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::RemoveValidator
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::RemoveValidator(
-    CVtUiCmdValidatorBase& aValidator )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.RemoveValidator" )
-    TInt index( iValidators.Find( &aValidator ) );
-    if ( index != KErrNotFound )
-        {
-        iValidators.Remove( index );
-        ValidatorRemoved( aValidator );
-        }
-    __VTPRINTEXIT( "CmdPolicyMgr.RemoveValidator" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidateMenuItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidateMenuItemsL(
-    CVtUiCmdValidationActionBase& aAction )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.ValidateMenuItemsL" )
-    ValidateL( EVtUiCmdContextTypeMenu, aAction );
-    __VTPRINTEXIT( "CmdPolicyMgr.ValidateMenuItemsL" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidateSoftkeyItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidateSoftkeyItemsL(
-    CVtUiCmdValidationActionBase& aAction )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.ValidateSoftkeyItemsL" )
-    ValidateL( EVtUiCmdContextTypeSoftkey, aAction );
-    __VTPRINTEXIT( "CmdPolicyMgr.ValidateSoftkeyItemsL" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidateToolbarItemsL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidateToolbarItemsL(
-    CVtUiCmdValidationActionBase& aAction )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.ValidateToolbarItemsL" )
-    ValidateL( EVtUiCmdContextTypeToolbar, aAction );
-    __VTPRINTEXIT( "CmdPolicyMgr.ValidateToolbarItemsL" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::CustomValidateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::CustomValidateL(
-    CVtUiCmdCustomValidationActionBase& aAction )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.CustomValidateL" )
-    ValidateL( EVtUiCmdContextTypeExecution, aAction );
-    __VTPRINTEXIT( "CmdPolicyMgr.CustomValidateL" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::CVtUiCommandPolicyManager
-// ---------------------------------------------------------------------------
-//
-CVtUiCommandPolicyManager::CVtUiCommandPolicyManager(
-    const CVtUiCommandManager& aCmdManager ) : iCommandManager( aCmdManager )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.ctor" )
-    __VTPRINTEXIT( "CmdPolicyMgr.ctor" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ConstructL()
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.ConstructL" )
-    iPrimaryCommandPolicy =
-        CVtUiPrimaryCmdPolicy::NewL( iCommandManager.UiStates(),
-        iCommandManager.AppUi() );
-    User::LeaveIfError( AddValidator( *iPrimaryCommandPolicy ) );
-    __VTPRINTEXIT( "CmdPolicyMgr.ConstructL" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::CommandContextRegistered
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::CommandContextRegistered(
-    CVtUiCmdContext& aContext )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.CommandContextRegistered" )
-    for ( TInt i = iValidators.Count() - 1 ; i >= 0; i-- )
-        {
-        aContext.AddValidator( *iValidators[ i ] );
-        }
-    __VTPRINTEXIT( "CmdPolicyMgr.CommandContextRegistered" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::CommandContextUnregistered
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::CommandContextUnregistered(
-    CVtUiCmdContext& aContext )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.CommandContextUnregistered" )
-    for ( TInt i = iValidators.Count() - 1 ; i >= 0; i-- )
-        {
-        aContext.RemoveValidator( *iValidators[ i ] );
-        }
-    __VTPRINTEXIT( "CmdPolicyMgr.CommandContextUnregistered" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidatorAdded
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidatorAdded(
-    CVtUiCmdValidatorBase& aValidator )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.ValidatorAdded" )
-    for ( TInt i = iContexts.Count() - 1 ; i >= 0; i-- )
-        {
-        iContexts[ i ]->AddValidator( aValidator );
-        }
-    __VTPRINTEXIT( "CmdPolicyMgr.ValidatorAdded" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidatorRemoved
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidatorRemoved(
-    CVtUiCmdValidatorBase& aValidator )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.ValidatorRemoved" )
-    for ( TInt i = iContexts.Count() - 1 ; i >= 0; i-- )
-        {
-        iContexts[ i ]->RemoveValidator( aValidator );
-        }
-    __VTPRINTEXIT( "CmdPolicyMgr.ValidatorRemoved" )
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::FindCommandContextByType
-// ---------------------------------------------------------------------------
-//
-CVtUiCmdContext* CVtUiCommandPolicyManager::FindCommandContextByType(
-        TVtUiCmdContextType aContextType )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.FindCommandContextByType" )
-    CVtUiCmdContext* result = NULL;
-    TInt index( iContexts.FindInOrder( aContextType,
-        ::ContextTypeCmpFuncVsKey ) );
-    if ( index != KErrNotFound )
-        {
-        result = iContexts[ index ];
-        }
-    __VTPRINTEXIT( "CmdPolicyMgr.FindCommandContextByType" )
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CVtUiCommandPolicyManager::ValidateL
-// ---------------------------------------------------------------------------
-//
-void CVtUiCommandPolicyManager::ValidateL( TVtUiCmdContextType aContextType,
-    CVtUiCmdValidationActionBase& aAction )
-    {
-    __VTPRINTENTER( "CmdPolicyMgr.ValidateL" )
-    CVtUiCmdContext* context =
-        FindCommandContextByType( aContextType );
-    if ( context )
-        {
-        aAction.BeginProcess();
-        context->ValidateL( aAction );
-        aAction.EndProcess();
-        }
-    __VTPRINTEXIT( "CmdPolicyMgr.ValidateL" )
-    }
-