securitydialogs/SecUi/GSSimSecPlugin/Src/GSSimSecPluginModel.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:19:59 +0100
branchRCL_3
changeset 22 03674e5abf46
parent 0 164170e6151a
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* Copyright (c) 2005 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:  Model for Device & SIM security plug-in.
*
*/


// INCLUDES
#include "GSSimSecPluginModel.h"

#include <settingsinternalcrkeys.h>

// EXTERNAL DATA STRUCTURES

// EXTERNAL FUNCTION PROTOTYPES  

// CONSTANTS

// MACROS

// LOCAL CONSTANTS AND MACROS
const TInt KGSSettingOff = 0;
// default value for autolock period
const TInt KGSDefaultAutoLockTime = 0;

// MODULE DATA STRUCTURES

// LOCAL FUNCTION PROTOTYPES

// ============================= LOCAL FUNCTIONS ==============================

// ========================= MEMBER FUNCTIONS =================================

// ----------------------------------------------------------------------------
// CGSSimSecPluginModel::NewL
// 
// Symbian OS two-phased constructor
// ----------------------------------------------------------------------------
//
CGSSimSecPluginModel* CGSSimSecPluginModel::NewL()
    {
    CGSSimSecPluginModel* self = new( ELeave ) CGSSimSecPluginModel;
    CleanupStack::PushL( self );
    self->ConstructL();

    CleanupStack::Pop( self );
    return self;
    }


// ----------------------------------------------------------------------------
// CGSSimSecPluginModel::CGSSimSecPluginModel
// 
// 
// C++ default constructor can NOT contain any code, that might leave.
// ----------------------------------------------------------------------------
//
CGSSimSecPluginModel::CGSSimSecPluginModel()
    {
    
    }


// ----------------------------------------------------------------------------
// CGSSimSecPluginModel::ConstructL
// 
// Symbian OS default constructor can leave.
// ----------------------------------------------------------------------------
//
void CGSSimSecPluginModel::ConstructL()
    {
    iSecurityRepository = CRepository::NewL( KCRUidSecuritySettings );
    iPersonalizationRepository = 
        CRepository::NewL( KCRUidPersonalizationSettings );
    }


// ----------------------------------------------------------------------------
// CGSSimSecPluginModel::~CGSSimSecPluginModel
// 
// Destructor
// ----------------------------------------------------------------------------
//
CGSSimSecPluginModel::~CGSSimSecPluginModel()
    {
    delete iSecurityRepository;
    iSecurityRepository = NULL;

    delete iPersonalizationRepository;
    iPersonalizationRepository = NULL;
    }


// ----------------------------------------------------------------------------
// CGSSimSecPluginModel::AutoLockPeriod()
// 
// Reads Autolock period from .ini file and returns it
// ----------------------------------------------------------------------------
//
TInt CGSSimSecPluginModel::AutoLockPeriod()
    {
    TInt period = KGSSettingOff;
    
    if ( iSecurityRepository->
         Get( KSettingsAutoLockTime, period ) != KErrNone )
            {
            period = KGSDefaultAutoLockTime;
            iSecurityRepository->Set( KSettingsAutoLockTime, period );
            }
    
    return period;
    }
            
// ----------------------------------------------------------------------------
// CGSSimSecPluginModel::SetAutoLockPeriod
// 
// Writes Autolock period time to Cenrep
// ----------------------------------------------------------------------------
//
TBool CGSSimSecPluginModel::SetAutoLockPeriod( TInt aLockTime )
    {
    TInt ret = iSecurityRepository->Set( KSettingsAutoLockTime, aLockTime );
    
    return ret;
    }

// ----------------------------------------------------------------------------
// CGSSimSecPluginModel::SatOperations()
// 
// Reads SatOperations value from .ini file and returns it
// ----------------------------------------------------------------------------
//
TInt CGSSimSecPluginModel::SatOperations()
    {
    TInt value = KGSSettingOff;
    
    iPersonalizationRepository->Get( KSettingsConfirmSatOperations, value );
    
    return value;
    }


// ----------------------------------------------------------------------------
// CGSSimSecPluginModel::SetSatOperations
// 
// Write user changes to the .ini file
// ----------------------------------------------------------------------------
//
TBool CGSSimSecPluginModel::SetSatOperations( TInt aValue )
    {
    TInt ret = iPersonalizationRepository->
            Set( KSettingsConfirmSatOperations, aValue );
    
    return ret;
    }


// ----------------------------------------------------------------------------
// CGSSimSecPluginModel::ConfirmSatOperationsSupport
// 
// Get Confirm Sat Operations supported value
// ----------------------------------------------------------------------------
//
TInt CGSSimSecPluginModel::ConfirmSatOperationsSupport()
    {
    TInt ret = 0;
    iPersonalizationRepository->
        Get( KSettingsConfirmSatOperationsSupported, ret );
    
    return ret;
    }
  
// End of File