applicationmanagement/server/inc/AMAppHideUtil.h
author hgs
Fri, 06 Aug 2010 18:56:37 +0530
changeset 52 6e38e48ee756
parent 47 d316aecb87fd
permissions -rw-r--r--
201031
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     1
/*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     8
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    11
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    12
 * Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    13
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    14
 * Description: Implementation of applicationmanagement components
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    15
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    16
 */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    17
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    18
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    19
#ifndef __AMAPPHIDEUTIL_H__
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    20
#define __AMAPPHIDEUTIL_H__
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    21
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    22
#include <e32base.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    23
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    24
namespace NApplicationManagement
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    25
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    26
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    27
    typedef RArray<TUid> RUidArray;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    28
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    29
    class CAMAppHideUtil : public CBase
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    30
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    31
        RUidArray iHiddenUids; // The hidden uid list
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    32
        TBool iChanged;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    33
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    34
         * Constructor
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    35
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    36
        CAMAppHideUtil();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    37
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    38
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    39
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    40
         * Second phase constructor. Loads the uid list from centrep.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    41
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    42
        void ConstructL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    43
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    44
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    45
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    46
        void ParseUids( RUidArray &aUid, const TDesC8& aUidList );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    48
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    49
         * Loads uids from centrep
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    50
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    51
        void LoadUidsL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    52
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    53
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    54
         * Parses uid, returning KErrNone if successful
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    55
         */ 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    56
        TInt ParseUid( TLex &aLex, TUid &aUid ) const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    57
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    58
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    59
         * Skips delimiter, returning ETrue if delimiter is expected one.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    60
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    61
        TBool SkipDelim( TLex &aLex ) const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    62
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    63
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    64
         * Puts aUid to aBuf and if aHasMore also adds delimiter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    65
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    66
        void PersistUid( const TUid &aUid, TDes &aBuf, TBool aHasMore ) const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    67
    public:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    68
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    69
         * Destructor
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    70
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    71
        virtual ~CAMAppHideUtil();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    72
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    73
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    74
         * Creates new CAMAppHideUtil instance
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    75
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    76
        static CAMAppHideUtil* CAMAppHideUtil::NewL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    77
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    78
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    79
         * Adds uid to list, and updates the repository if needed
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    80
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    81
        void AddUidL(const TUid& aUid, TBool aPersist = EFalse );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    82
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    83
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    84
         * Removed uid from list, and updates the repository if needed
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    85
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    86
        void RemoveUidL( const TUid& aUid, TBool aPersist = EFalse );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    87
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    88
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    89
         * Writes uids to centrep
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    90
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    91
        void PersistUidsL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    92
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    93
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    94
         * Resets the hidden uid array
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    95
         */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    96
        void Reset();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    97
        };
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    98
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    99
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   100
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   101
#endif // #ifdef __AMAPPHIDEUTIL_H__
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   102
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   103
//  End of File