remotestoragefw/mountstore/src/rsfwconfig.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 09:07:59 +0200
changeset 0 3ad9d5175a89
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2002-2004 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:  Rsfw operational parameter config using central repository
 *
*/


// INCLUDE FILES
#include <centralrepository.h>

#include "rsfwconfig.h"


// =========================== MEMBER FUNCTIONS ===============================
// ----------------------------------------------------------------------------
// CRsfwConfig::ConstructL
// Symbian 2nd phase constructor can leave.
// ----------------------------------------------------------------------------
//
void CRsfwConfig::ConstructL(TUid aRepositoryUid)
    {
    TRAPD(err, iRepository = CRepository::NewL(aRepositoryUid));
    if (err) 
        {
        iRepository = NULL;
        }
    }

// ----------------------------------------------------------------------------
// RsfwConfig::NewL
// Two-phased constructor.
// ----------------------------------------------------------------------------
//
EXPORT_C CRsfwConfig* CRsfwConfig::NewL(TUid aRepositoryUid)
    {
    CRsfwConfig* self = new (ELeave) CRsfwConfig();
    CleanupStack::PushL(self);
    self->ConstructL(aRepositoryUid);
    CleanupStack::Pop(self);
    return self;
    }

// Destructor
CRsfwConfig::~CRsfwConfig()
    {
    delete iRepository;
    }

// ----------------------------------------------------------------------------
// CRsfwConfig::Set
// See RsfwConfig.h
// ----------------------------------------------------------------------------
//
EXPORT_C TInt CRsfwConfig::Set(TUint aId, TInt& aValue)
    {
    if (iRepository) 
        {
        return iRepository->Set(aId, aValue);
        }
    else 
        {
        return KErrNotFound;
        }
    }

// ----------------------------------------------------------------------------
// CRsfwConfig::Set
// See RsfwConfig.h
// ----------------------------------------------------------------------------
//
EXPORT_C TInt CRsfwConfig::Set(TUint aId, TDes& aValue)
    {
    if (iRepository) 
        {
        return iRepository->Set(aId, aValue);
        }
    else 
        {
        return KErrNotFound;
        }
    }

// ----------------------------------------------------------------------------
// CRsfwConfig::Get
// See RsfwConfig.h
// ----------------------------------------------------------------------------
//
EXPORT_C TInt CRsfwConfig::Get(TUint aId, TInt& aValue)
    {
    if (iRepository) 
        {
        return iRepository->Get(aId, aValue);
        }
    else 
        {
        return KErrNotFound;
        }
    }

// ----------------------------------------------------------------------------
// CRsfwConfig::Get
// See RsfwConfig.h
// ---------------------------------------------------------------------------
//
EXPORT_C TInt CRsfwConfig::Get(TUint aId, TDes& aValue)
    {
    if (iRepository) 
        {
        return iRepository->Get(aId, aValue);
        }
    else 
        {
        return KErrNotFound;
        }
    }

// ----------------------------------------------------------------------------
// CRsfwConfig::IsTrue
// See RsfwConfig.h
// ----------------------------------------------------------------------------
//
EXPORT_C TBool CRsfwConfig::IsTrue(TUint aId)
    {
    if (iRepository) 
        {
        TBuf<KMaxRsfwConfItemLength> value;
        TInt err = iRepository->Get(aId, value);
        if (err == KErrNone)
            {
            TChar c = value[0];
            c.UpperCase();
            if ((c == '1') || (c == 'Y') || (c == 'T'))
                {
                return ETrue;
                }
            }   
        }
    return EFalse;
    }

// ----------------------------------------------------------------------------
// CRsfwConfig::IsFalse
// See RsfwConfig.h
// ----------------------------------------------------------------------------
//
EXPORT_C TBool CRsfwConfig::IsFalse(TUint aId)
    {
    if (iRepository) 
        {
        TBuf<KMaxRsfwConfItemLength> value;
        TInt err = iRepository->Get(aId, value);
        if (err == KErrNone)
            {
            TChar c = value[0];
            c.UpperCase();
            if ((c == '0') || (c == 'N') || (c == 'F'))
                {
                return ETrue;
                }
            }   
        }
    return EFalse;
    }

// End of File