menucontentsrv/engsrc/menuengflags.cpp
changeset 85 7feec50967db
parent 4 1a2a00e78665
child 86 e492551a0d54
--- a/menucontentsrv/engsrc/menuengflags.cpp	Tue Feb 02 00:23:10 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* Copyright (c) 2009 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:
-*
-*/
-
-// INCLUDE FILES
-
-#include "menuengflags.h"
-#include "mcsmenuitem.h"
-
-// CLASS DECLARATION
-
-NONSHARABLE_STRUCT( TMenuFlagEntry )
-    {
-    TUint32 iFlag; // Flag bit value (one bit only).
-    const TText* iString; // Flag string name.
-    };
-
-// CONSTANTS
-
-/// Flag name table. Concatenated names (with spaces between) should fit into
-// KMenuMaxAttrValueLen!
-LOCAL_D const TMenuFlagEntry KTable[] =
-    {
-        { TMenuItem::ELockDelete,   _S("lock_delete") },
-        { TMenuItem::ELockName,     _S("lock_name") },
-        { TMenuItem::ELockIcon,     _S("lock_icon") },
-        { TMenuItem::ELockMoveInto, _S("lock_moveinto") },
-        { TMenuItem::ELockItem,     _S("lock_item") },
-        { TMenuItem::EHidden,       _S("hidden") },
-        { TMenuItem::EMissing,      _S("missing") },
-        { 0 }
-    };
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// MenuEngFlags::AsInt
-// ---------------------------------------------------------
-//
-TUint32 MenuEngFlags::AsInt( const TDesC& aStringValue )
-    {
-    TUint32 flags = 0;
-    TLex lex( aStringValue );
-    TPtrC token( lex.NextToken() );
-    while ( token.Length() )
-        {
-        flags |= FlagValue( token );
-        token.Set( lex.NextToken() );
-        }
-    return flags;
-    }
-
-// ---------------------------------------------------------
-// MenuEngFlags::AsString
-// ---------------------------------------------------------
-//
-void MenuEngFlags::AsString( TUint32 aIntValue, TDes& aStringValue )
-    {
-    // Note, we assume that the result fits in aStringValue.
-    // It is expected to be of length KMenuMaxAttrValueLen.
-    // If new flags are added, we should check that their concatenated
-    // names (with spaces between) still fit in one attribute. If not,
-    // then we should use more than one "flags" attribute; but this is
-    // easy to avoid if flag names are kept short. (32 flags should normally
-    // fit in 512 characters!)
-    __ASSERT_DEBUG( aStringValue.MaxLength() >= KMenuMaxAttrValueLen, \
-        User::Invariant() );
-    aStringValue.SetLength( 0 );
-    TUint32 mask;
-    TPtrC ptr;
-    TBool leadingSpace = EFalse;
-    for ( mask = 0x1; mask; mask = mask << 1 )
-        {
-        ptr.Set( StringValue( mask & aIntValue ) );
-        if ( ptr.Length() )
-            {
-            if ( leadingSpace )
-                {
-                aStringValue.Append( TChar(' ') );
-                }
-            aStringValue.Append( ptr );
-            leadingSpace = ETrue; // Need a leading space from the 2nd onwards.
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// MenuEngFlags::FlagValue
-// ---------------------------------------------------------
-//
-TUint32 MenuEngFlags::FlagValue( const TDesC& aString )
-    {
-    // Note: This could be optimized
-    const TMenuFlagEntry* entry;
-    for ( entry = &KTable[0]; entry->iFlag; entry++ )
-        {
-        if ( aString == TPtrC( entry->iString ) )
-            {
-            return entry->iFlag;
-            }
-        }
-    return 0;
-    }
-
-// ---------------------------------------------------------
-// MenuEngFlags::StringValue
-// ---------------------------------------------------------
-//
-TPtrC MenuEngFlags::StringValue( TUint32 aFlag )
-    {
-    // It is expected that aFlag has exactly one bit set -> first
-    // match is accepted.
-    const TMenuFlagEntry* entry;
-    for ( entry = &KTable[0]; entry->iFlag; entry++ )
-        {
-        if ( aFlag & entry->iFlag )
-            {
-            return TPtrC( entry->iString );
-            }
-        }
-    return KNullDesC();
-    }
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// MenuEngId::AsInt
-// ---------------------------------------------------------
-//
-TInt MenuEngId::AsInt( const TDesC& aStringValue )
-    {
-    TInt position( aStringValue.Find(KHexPrefix) );
-	TPtrC string( aStringValue );
-	TRadix radix( EDecimal );
-	if ( position == 0 )
-		{
-		// is hex
-		radix = EHex;
-		string.Set( aStringValue.Mid( KHexPrefix().Length() ) );
-		}
-    
-    TUint id = 0;
-    if ( KErrNone != TLex( string ).Val( id, radix ) )
-    	{
-    	return 0;
-    	}
-    return id;
-    }
-
-// ---------------------------------------------------------
-// MenuEngId::AsString
-// ---------------------------------------------------------
-//
-void MenuEngId::AsString( TInt aIntValue, TDes& aStringValue )
-    {
-    // Note, we assume that the result fits in aStringValue.
-    // It is expected to be of length KMenuMaxAttrValueLen.
-    __ASSERT_DEBUG( aStringValue.MaxLength() >= KMenuMaxAttrValueLen, \
-        User::Invariant() );
-    aStringValue.SetLength( 0 );
-    aStringValue.AppendNum( aIntValue );
-    }
-
-//  End of File