terminalsecurity/SCP/SCPDatabase/inc/SCPParamDBController.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 09:07:52 +0200
changeset 0 b497e44ab2fc
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* 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:
*
*/
#ifndef __CSCPARAMDBCONTROLLER_H_
#define __CSCPARAMDBCONTROLLER_H_

#include "SCPParamDB.h"

NONSHARABLE_CLASS(CSCPParamDBController) : public CBase {
public:
    ~CSCPParamDBController();
    
    IMPORT_C static CSCPParamDBController* NewL();
    
    IMPORT_C static CSCPParamDBController* NewLC();

    IMPORT_C TInt SetValueL(TInt aParamID, const TInt32 aValue, const TInt32 aApp);
    
    IMPORT_C TInt SetValuesL(TInt aParamID, const RPointerArray <HBufC>& aParamValues, const TInt32 aApp);

    IMPORT_C TInt GetValueL(TInt aParamID, TInt32& aValue, TInt32& aApp);
    
    IMPORT_C TInt GetValuesL(TInt aParamID, RPointerArray <HBufC>& aParamValues, const TInt32 aApp);
    
    IMPORT_C TInt ListApplicationsL(RArray <TUid>& aIDArray);
    
    IMPORT_C TBool IsParamValueSharedL(HBufC* aParamValue, const TInt32 aApp);
    
    IMPORT_C TInt DropValuesL(TInt aParamID, const TInt32 aApp=-1);
    
    IMPORT_C TInt DropValuesL(TInt aParamID, RPointerArray <HBufC>& aParamValues, const TInt32 aApp=-1);
    
    IMPORT_C TInt ListParamsUsedByAppL(RArray <TInt>& aParamIds, const TInt32 aApp=-1);

    IMPORT_C TInt ListEntriesL(RArray <TInt32>& aNumCols, RPointerArray <HBufC>& aDesCols, const TInt32 aApp=-1);

private:
    CSCPParamDBController() : iParamDB(NULL) { }
    void ConstructL();

private:
    CSCPParamDB* iParamDB;
};

#endif // __CSCPARAMDB_H_