eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcDbUtils.cpp
author hgs
Mon, 24 May 2010 20:32:47 +0300
changeset 26 9abfd4f00d37
parent 2 1c7bc153c08e
child 34 ad1f037f1ac2
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies).
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:  EAP and WLAN authentication protocols.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
2
1c7bc153c08e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    18
/*
26
hgs
parents: 2
diff changeset
    19
* %version: 38 %
2
1c7bc153c08e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    20
*/
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
// This is enumeration of EAPOL source code.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
	#undef EAP_FILE_NUMBER_ENUM
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
	#define EAP_FILE_NUMBER_ENUM 337 
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
	#undef EAP_FILE_NUMBER_DATE 
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
	#define EAP_FILE_NUMBER_DATE 1127594498 
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
// INCLUDE FILES
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include "EapGtcDbUtils.h"
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include "EapGtcDbDefaults.h"
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include "EapGtcDbParameterNames.h"
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
#include "EapSecurIDDbParameterNames.h"
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
26
hgs
parents: 2
diff changeset
    38
#include <EapTraceSymbian.h>
hgs
parents: 2
diff changeset
    39
#include <EapPluginTools.h>
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
const TUint KMaxSqlQueryLength = 512;
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
// ================= MEMBER FUNCTIONS =======================
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
26
hgs
parents: 2
diff changeset
    46
void EapGtcDbUtils::OpenDatabaseL(
hgs
parents: 2
diff changeset
    47
	RDbNamedDatabase& aDatabase,
hgs
parents: 2
diff changeset
    48
	RFs& aFileServerSession,
hgs
parents: 2
diff changeset
    49
	const TIndexType aIndexType,
hgs
parents: 2
diff changeset
    50
	const TInt aIndex,
hgs
parents: 2
diff changeset
    51
	const eap_type_value_e aTunnelingType)
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
{
26
hgs
parents: 2
diff changeset
    53
	EAP_TRACE_DEBUG_SYMBIAN(
hgs
parents: 2
diff changeset
    54
		(_L("EapGtcDbUtils::OpenDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
hgs
parents: 2
diff changeset
    55
		aIndexType,
hgs
parents: 2
diff changeset
    56
		aIndex,
hgs
parents: 2
diff changeset
    57
		aTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
    58
		aTunnelingType.get_vendor_type()));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
26
hgs
parents: 2
diff changeset
    60
    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::OpenDatabaseL()\n"));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
	// 1. Open/create a database	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
	
26
hgs
parents: 2
diff changeset
    64
	TInt error(KErrNone);
hgs
parents: 2
diff changeset
    65
	TFileName aPrivateDatabasePathName;
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
26
hgs
parents: 2
diff changeset
    67
	EapPluginTools::CreateDatabaseLC(
hgs
parents: 2
diff changeset
    68
		aDatabase,
hgs
parents: 2
diff changeset
    69
		aFileServerSession,
hgs
parents: 2
diff changeset
    70
		error,
hgs
parents: 2
diff changeset
    71
		KEapGtcDatabaseName,
hgs
parents: 2
diff changeset
    72
		aPrivateDatabasePathName);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
26
hgs
parents: 2
diff changeset
    74
	if(error == KErrNone)
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
	{
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
		aDatabase.Close();
26
hgs
parents: 2
diff changeset
    77
	}
hgs
parents: 2
diff changeset
    78
	else if (error != KErrAlreadyExists) 
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
	{
26
hgs
parents: 2
diff changeset
    80
		User::LeaveIfError(error);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
	}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
	
26
hgs
parents: 2
diff changeset
    83
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): - calls aDatabase.Open()\n")));
hgs
parents: 2
diff changeset
    84
hgs
parents: 2
diff changeset
    85
	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
hgs
parents: 2
diff changeset
    86
hgs
parents: 2
diff changeset
    87
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): - Opened private DB for EAP-AKA. error=%d\n"), error));
hgs
parents: 2
diff changeset
    88
hgs
parents: 2
diff changeset
    89
	User::LeaveIfError(error);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
	// 2. Create the eap-securid table to database (ignore error if exists)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
	
26
hgs
parents: 2
diff changeset
    93
	// Table columns:
hgs
parents: 2
diff changeset
    94
	//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant /////////
hgs
parents: 2
diff changeset
    95
	//| ServiceType								| UNSIGNED INTEGER 	| KServiceType      |//
hgs
parents: 2
diff changeset
    96
	//| ServiceIndex							| UNSIGNED INTEGER 	| KServiceIndex     |//
hgs
parents: 2
diff changeset
    97
	//| TunnelingTypeVendorId                   | UNSIGNED INTEGER  | KTunnelingTypeVendorId    |//
hgs
parents: 2
diff changeset
    98
	//| TunnelingType							| UNSIGNED INTEGER 	| KTunnelingType    |//
hgs
parents: 2
diff changeset
    99
	//| EAP_GTC_identity				    	| VARCHAR(255)     	| cf_str_EAP_GTC_identity_literal	|//
hgs
parents: 2
diff changeset
   100
	//| EAP_GTC_max_session_validity_time	    | BIGINT		   	| cf_str_EAP_GTC_max_session_validity_time_literal   |//
hgs
parents: 2
diff changeset
   101
	//| EAP_GTC_last_full_authentication_time	| BIGINT		   	| KGTCLastFullAuthTime	|//
hgs
parents: 2
diff changeset
   102
	//| EAP_GTC_password_prompt                        | UNSIGNED INTEGER  | cf_str_EAP_GTC_passcode_prompt_literal   |//
hgs
parents: 2
diff changeset
   103
	//| EAP_GTC_password                               | VARCHAR(255)      | cf_str_EAP_GTC_passcode_literal         |//
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
	//////////////////////////////////////////////////////////////////////////////////////////////////
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
26
hgs
parents: 2
diff changeset
   106
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls HBufC::NewLC()\n")));
hgs
parents: 2
diff changeset
   107
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
	TPtr sqlStatement = buf->Des();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
	
26
hgs
parents: 2
diff changeset
   111
	_LIT(KSQLCreateTable1, "CREATE TABLE %S \
hgs
parents: 2
diff changeset
   112
		(%S UNSIGNED INTEGER, \
hgs
parents: 2
diff changeset
   113
		 %S UNSIGNED INTEGER, \
hgs
parents: 2
diff changeset
   114
		 %S UNSIGNED INTEGER, \
hgs
parents: 2
diff changeset
   115
		 %S UNSIGNED INTEGER, \
hgs
parents: 2
diff changeset
   116
		 %S VARCHAR(255), \
hgs
parents: 2
diff changeset
   117
		 %S BIGINT, \
hgs
parents: 2
diff changeset
   118
		 %S BIGINT, \
hgs
parents: 2
diff changeset
   119
		 %S UNSIGNED INTEGER, \
hgs
parents: 2
diff changeset
   120
		 %S VARCHAR(255))");
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
											 
26
hgs
parents: 2
diff changeset
   122
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls sqlStatement.Format()\n")));
hgs
parents: 2
diff changeset
   123
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
	sqlStatement.Format(KSQLCreateTable1, 
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
						&KGtcTableName, 
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
						&KServiceType, 
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
						&KServiceIndex, 
26
hgs
parents: 2
diff changeset
   128
						&KTunnelingTypeVendorId,
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
						&KTunnelingType, 
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
						&cf_str_EAP_GTC_identity_literal,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
						&cf_str_EAP_GTC_max_session_validity_time_literal, 
26
hgs
parents: 2
diff changeset
   132
						&KGTCLastFullAuthTime,
hgs
parents: 2
diff changeset
   133
						&cf_str_EAP_GTC_passcode_prompt_literal,
hgs
parents: 2
diff changeset
   134
						&cf_str_EAP_GTC_passcode_literal);
hgs
parents: 2
diff changeset
   135
hgs
parents: 2
diff changeset
   136
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls aDatabase.Execute()\n")));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
26
hgs
parents: 2
diff changeset
   138
	error = aDatabase.Execute(sqlStatement);
hgs
parents: 2
diff changeset
   139
	if (error != KErrNone && error != KErrAlreadyExists)
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
	{
26
hgs
parents: 2
diff changeset
   141
		EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::OpenDatabaseL(): aDatabase.Execute() error=%d\n"),
hgs
parents: 2
diff changeset
   142
			error));
hgs
parents: 2
diff changeset
   143
hgs
parents: 2
diff changeset
   144
		User::Leave(error);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
	}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
	// 4. Check if database table contains a row for this service type and id  
26
hgs
parents: 2
diff changeset
   148
hgs
parents: 2
diff changeset
   149
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls sqlStatement.Format()\n")));
hgs
parents: 2
diff changeset
   150
hgs
parents: 2
diff changeset
   151
	_LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
hgs
parents: 2
diff changeset
   152
hgs
parents: 2
diff changeset
   153
	sqlStatement.Format(KSQLQueryRow,
hgs
parents: 2
diff changeset
   154
		&cf_str_EAP_GTC_identity_literal,
hgs
parents: 2
diff changeset
   155
		&KGtcTableName, 
hgs
parents: 2
diff changeset
   156
		&KServiceType,
hgs
parents: 2
diff changeset
   157
		aIndexType,
hgs
parents: 2
diff changeset
   158
		&KServiceIndex,
hgs
parents: 2
diff changeset
   159
		aIndex,
hgs
parents: 2
diff changeset
   160
		&KTunnelingTypeVendorId,
hgs
parents: 2
diff changeset
   161
		aTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   162
		&KTunnelingType, 
hgs
parents: 2
diff changeset
   163
		aTunnelingType.get_vendor_type());
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
			
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
	RDbView view;
26
hgs
parents: 2
diff changeset
   166
hgs
parents: 2
diff changeset
   167
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.Prepare()\n")));
hgs
parents: 2
diff changeset
   168
hgs
parents: 2
diff changeset
   169
	error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited);
hgs
parents: 2
diff changeset
   170
hgs
parents: 2
diff changeset
   171
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.Prepare() error=%d\n"),
hgs
parents: 2
diff changeset
   172
		error));
hgs
parents: 2
diff changeset
   173
hgs
parents: 2
diff changeset
   174
	User::LeaveIfError(error);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
	// View must be closed when no longer needed
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
	CleanupClosePushL(view);
26
hgs
parents: 2
diff changeset
   177
hgs
parents: 2
diff changeset
   178
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.EvaluateAll()\n")));
hgs
parents: 2
diff changeset
   179
hgs
parents: 2
diff changeset
   180
	error = view.EvaluateAll();
hgs
parents: 2
diff changeset
   181
hgs
parents: 2
diff changeset
   182
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.EvaluateAll() error=%d\n"),
hgs
parents: 2
diff changeset
   183
		error));
hgs
parents: 2
diff changeset
   184
hgs
parents: 2
diff changeset
   185
	User::LeaveIfError(error);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
	// 5. If row is not found then add it
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
	
26
hgs
parents: 2
diff changeset
   189
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.CountL()\n")));
hgs
parents: 2
diff changeset
   190
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
	TInt rows = view.CountL();
26
hgs
parents: 2
diff changeset
   192
hgs
parents: 2
diff changeset
   193
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.CountL() rows=%d\n"),
hgs
parents: 2
diff changeset
   194
		rows));
hgs
parents: 2
diff changeset
   195
hgs
parents: 2
diff changeset
   196
	CleanupStack::PopAndDestroy(&view);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
	if (rows == 0)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
	{		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
		_LIT(KSQLInsert, "SELECT * FROM %S");
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
		sqlStatement.Format(KSQLInsert, &KGtcTableName);		
26
hgs
parents: 2
diff changeset
   201
hgs
parents: 2
diff changeset
   202
		EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.Prepare()\n")));
hgs
parents: 2
diff changeset
   203
hgs
parents: 2
diff changeset
   204
		error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly);
hgs
parents: 2
diff changeset
   205
hgs
parents: 2
diff changeset
   206
		EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.Prepare() error=%d\n"),
hgs
parents: 2
diff changeset
   207
			error));
hgs
parents: 2
diff changeset
   208
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
		CleanupClosePushL(view);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
		// Get column set so we get the correct column numbers
26
hgs
parents: 2
diff changeset
   212
		EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.ColSetL()\n")));
hgs
parents: 2
diff changeset
   213
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
		CDbColSet* colSet = view.ColSetL();		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
		CleanupStack::PushL(colSet);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
		
26
hgs
parents: 2
diff changeset
   217
		EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.InsertL()\n")));
hgs
parents: 2
diff changeset
   218
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
		view.InsertL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
		view.SetColL(colSet->ColNo(KServiceType), static_cast<TInt> (aIndexType));
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
		view.SetColL(colSet->ColNo(KServiceIndex), aIndex);
26
hgs
parents: 2
diff changeset
   222
		view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id());
hgs
parents: 2
diff changeset
   223
		view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type());
hgs
parents: 2
diff changeset
   224
		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_identity_literal), default_EAP_identity);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_max_session_validity_time_literal), default_MaxSessionTime);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
		view.SetColL(colSet->ColNo(KGTCLastFullAuthTime), default_FullAuthTime);		
26
hgs
parents: 2
diff changeset
   229
		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal), default_EAP_password_prompt);
hgs
parents: 2
diff changeset
   230
		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal), default_EAP_password);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
				
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
		view.PutL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
26
hgs
parents: 2
diff changeset
   234
		CleanupStack::PopAndDestroy( colSet );
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
		
26
hgs
parents: 2
diff changeset
   236
		CleanupStack::PopAndDestroy( &view );
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
	}
26
hgs
parents: 2
diff changeset
   239
hgs
parents: 2
diff changeset
   240
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls aDatabase.Compact()\n")));
hgs
parents: 2
diff changeset
   241
hgs
parents: 2
diff changeset
   242
	aDatabase.Compact();
hgs
parents: 2
diff changeset
   243
hgs
parents: 2
diff changeset
   244
	CleanupStack::PopAndDestroy( buf );
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
	CleanupStack::Pop( &aDatabase );	
26
hgs
parents: 2
diff changeset
   246
	CleanupStack::Pop( &aFileServerSession );
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
26
hgs
parents: 2
diff changeset
   249
// ----------------------------------------------------------
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
void EapGtcDbUtils::SetIndexL(
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
	RDbNamedDatabase& aDatabase, 		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
	const TIndexType aIndexType,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
	const TInt aIndex,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
	const eap_type_value_e aTunnelingType,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
	const TIndexType aNewIndexType,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
	const TInt aNewIndex,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
	const eap_type_value_e aNewTunnelingType)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
{
26
hgs
parents: 2
diff changeset
   260
	EAP_TRACE_DEBUG_SYMBIAN(
hgs
parents: 2
diff changeset
   261
		(_L("EapGtcDbUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
hgs
parents: 2
diff changeset
   262
		aIndexType,
hgs
parents: 2
diff changeset
   263
		aIndex,
hgs
parents: 2
diff changeset
   264
		aTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   265
		aTunnelingType.get_vendor_type()));
hgs
parents: 2
diff changeset
   266
	
hgs
parents: 2
diff changeset
   267
	EAP_TRACE_DEBUG_SYMBIAN(
hgs
parents: 2
diff changeset
   268
		(_L("EapGtcDbUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=0xfe%06x%08x\n"),
hgs
parents: 2
diff changeset
   269
		aNewIndexType,
hgs
parents: 2
diff changeset
   270
		aNewIndex,
hgs
parents: 2
diff changeset
   271
		aNewTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   272
		aNewTunnelingType.get_vendor_type()));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
26
hgs
parents: 2
diff changeset
   274
    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::SetIndexL()\n"));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
	TPtr sqlStatement = buf->Des();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
26
hgs
parents: 2
diff changeset
   279
	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
26
hgs
parents: 2
diff changeset
   281
	sqlStatement.Format(KSQL,
hgs
parents: 2
diff changeset
   282
		&KGtcTableName, 
hgs
parents: 2
diff changeset
   283
		&KServiceType,
hgs
parents: 2
diff changeset
   284
		aIndexType,
hgs
parents: 2
diff changeset
   285
		&KServiceIndex,
hgs
parents: 2
diff changeset
   286
		aIndex,
hgs
parents: 2
diff changeset
   287
		&KTunnelingTypeVendorId,
hgs
parents: 2
diff changeset
   288
		aTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   289
		&KTunnelingType, 
hgs
parents: 2
diff changeset
   290
		aTunnelingType.get_vendor_type());
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   292
	RDbView view;
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
	// View must be closed when no longer needed
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
	CleanupClosePushL(view);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
	User::LeaveIfError(view.EvaluateAll());
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
			
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
	TInt rows = view.CountL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
	if (rows == 0)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
	{
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
		User::Leave(KErrNotFound);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
	}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
	// Get the first (and only) row
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
	view.FirstL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
	view.GetL();				
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   312
	// Get column set so we get the correct column numbers
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
	CDbColSet* colSet = view.ColSetL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   314
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
	CleanupStack::PushL(colSet);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   316
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   317
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
	view.UpdateL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
	
26
hgs
parents: 2
diff changeset
   320
	view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aNewIndexType));
hgs
parents: 2
diff changeset
   321
	view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex);
hgs
parents: 2
diff changeset
   322
	view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id());
hgs
parents: 2
diff changeset
   323
	view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type());
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   324
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   325
    view.PutL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   326
    	
26
hgs
parents: 2
diff changeset
   327
	CleanupStack::PopAndDestroy(colSet);
hgs
parents: 2
diff changeset
   328
	CleanupStack::PopAndDestroy(&view);
hgs
parents: 2
diff changeset
   329
	CleanupStack::PopAndDestroy(buf);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
26
hgs
parents: 2
diff changeset
   332
// ----------------------------------------------------------
hgs
parents: 2
diff changeset
   333
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
void EapGtcDbUtils::SetConfigurationL(
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
	RDbNamedDatabase& aDatabase,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
	const EAPSettings& aSettings, 
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
	const TIndexType aIndexType,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
	const TInt aIndex,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
	const eap_type_value_e aTunnelingType)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
{
26
hgs
parents: 2
diff changeset
   341
	EAP_TRACE_DEBUG_SYMBIAN(
hgs
parents: 2
diff changeset
   342
		(_L("EapGtcDbUtils::SetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
hgs
parents: 2
diff changeset
   343
		aIndexType,
hgs
parents: 2
diff changeset
   344
		aIndex,
hgs
parents: 2
diff changeset
   345
		aTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   346
		aTunnelingType.get_vendor_type()));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
26
hgs
parents: 2
diff changeset
   348
    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::SetConfigurationL()\n"));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
26
hgs
parents: 2
diff changeset
   350
	EAP_TRACE_SETTINGS(&aSettings);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
	// Check if the settings are for the correct type
26
hgs
parents: 2
diff changeset
   353
	if (aSettings.iEAPExpandedType != (*EapExpandedTypeGtc.GetType()))
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
	{
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
		User::Leave(KErrNotSupported);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
	}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
	TPtr sqlStatement = buf->Des();	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
	RDbView view;
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
26
hgs
parents: 2
diff changeset
   364
	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
hgs
parents: 2
diff changeset
   365
hgs
parents: 2
diff changeset
   366
	sqlStatement.Format(KSQLQuery,
hgs
parents: 2
diff changeset
   367
		&KGtcTableName, 
hgs
parents: 2
diff changeset
   368
		&KServiceType,
hgs
parents: 2
diff changeset
   369
		aIndexType,
hgs
parents: 2
diff changeset
   370
		&KServiceIndex,
hgs
parents: 2
diff changeset
   371
		aIndex,
hgs
parents: 2
diff changeset
   372
		&KTunnelingTypeVendorId,
hgs
parents: 2
diff changeset
   373
		aTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   374
		&KTunnelingType, 
hgs
parents: 2
diff changeset
   375
		aTunnelingType.get_vendor_type());
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
	// Evaluate view
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
	CleanupClosePushL(view);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
	User::LeaveIfError(view.EvaluateAll());	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
	view.FirstL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
	view.UpdateL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
	// Get column set so we get the correct column numbers
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
	CDbColSet* colSet = view.ColSetL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
	CleanupStack::PushL(colSet);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
	// Username
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
	if (aSettings.iUsernamePresent)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
	{
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
		// Validate length.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
		if(aSettings.iUsername.Length() > KMaxIdentityLengthInDB)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
		{
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
			// Username too long. Can not be stored in DB.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
			
26
hgs
parents: 2
diff changeset
   400
			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::SetConfigurationL(): Too long Username. Length=%d \n"),
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
			aSettings.iUsername.Length()));
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
			
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
			User::Leave(KErrArgument);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
		}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
		// Length is ok. Set the value in DB.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_identity_literal), aSettings.iUsername);		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
	}		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
	// Session validity time
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
	if (aSettings.iSessionValidityTimePresent)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
	{
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
		// User or device management wants to store the session validity time.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
		// Convert the time to micro seconds and save.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
		TInt64 validityInMicro = (aSettings.iSessionValidityTime) *  KMicroSecsInAMinute;
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_max_session_validity_time_literal), validityInMicro);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
	}
26
hgs
parents: 2
diff changeset
   420
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   421
	// Last full authentication time should be made zero when EAP configurations are modified.
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   422
	// This makes sure that the next authentication with this EAP would be full authentication
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
	// instead of reauthentication even if the session is still valid.
26
hgs
parents: 2
diff changeset
   424
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   425
	view.SetColL(colSet->ColNo(KGTCLastFullAuthTime), default_FullAuthTime);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   426
26
hgs
parents: 2
diff changeset
   427
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n")));
hgs
parents: 2
diff changeset
   428
hgs
parents: 2
diff changeset
   429
	// Password existence.
hgs
parents: 2
diff changeset
   430
	if (aSettings.iPasswordExistPresent
hgs
parents: 2
diff changeset
   431
		&& !aSettings.iPasswordExist)
hgs
parents: 2
diff changeset
   432
	{
hgs
parents: 2
diff changeset
   433
		// Clear password from database.
hgs
parents: 2
diff changeset
   434
		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal), KNullPasswordData);
hgs
parents: 2
diff changeset
   435
		view.PutL();
hgs
parents: 2
diff changeset
   436
		view.SetColNullL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal));
hgs
parents: 2
diff changeset
   437
	}
hgs
parents: 2
diff changeset
   438
hgs
parents: 2
diff changeset
   439
	// Password
hgs
parents: 2
diff changeset
   440
	if (aSettings.iPasswordPresent)
hgs
parents: 2
diff changeset
   441
	{
hgs
parents: 2
diff changeset
   442
		// Validate length.
hgs
parents: 2
diff changeset
   443
		if(aSettings.iPassword.Length() > KMaxPasswordLengthInDB)
hgs
parents: 2
diff changeset
   444
		{
hgs
parents: 2
diff changeset
   445
			// Password too long. Can not be stored in DB.
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   446
			
26
hgs
parents: 2
diff changeset
   447
			EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::SetConfigurationL(): Too long Password. Length=%d \n"),
hgs
parents: 2
diff changeset
   448
				aSettings.iPassword.Length()));
hgs
parents: 2
diff changeset
   449
			
hgs
parents: 2
diff changeset
   450
			User::Leave(KErrArgument);
hgs
parents: 2
diff changeset
   451
		}
hgs
parents: 2
diff changeset
   452
					
hgs
parents: 2
diff changeset
   453
		// Length is ok. Set the value in DB.	
hgs
parents: 2
diff changeset
   454
		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal), aSettings.iPassword);
hgs
parents: 2
diff changeset
   455
		
hgs
parents: 2
diff changeset
   456
	}
hgs
parents: 2
diff changeset
   457
			
hgs
parents: 2
diff changeset
   458
	if (aSettings.iShowPassWordPromptPresent)
hgs
parents: 2
diff changeset
   459
		{	
hgs
parents: 2
diff changeset
   460
		// If password was supplied set password prompting off
hgs
parents: 2
diff changeset
   461
		view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal), aSettings.iShowPassWordPrompt);		
hgs
parents: 2
diff changeset
   462
		}
hgs
parents: 2
diff changeset
   463
		
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   464
	view.PutL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   465
26
hgs
parents: 2
diff changeset
   466
	CleanupStack::PopAndDestroy(colSet);
hgs
parents: 2
diff changeset
   467
	CleanupStack::PopAndDestroy(&view);
hgs
parents: 2
diff changeset
   468
	CleanupStack::PopAndDestroy(buf);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   469
}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   470
26
hgs
parents: 2
diff changeset
   471
// ----------------------------------------------------------
hgs
parents: 2
diff changeset
   472
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   473
void EapGtcDbUtils::GetConfigurationL(
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   474
	RDbNamedDatabase& aDatabase,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   475
	EAPSettings& aSettings, 
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   476
	const TIndexType aIndexType,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   477
	const TInt aIndex,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   478
	const eap_type_value_e aTunnelingType)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   479
{
26
hgs
parents: 2
diff changeset
   480
	EAP_TRACE_DEBUG_SYMBIAN(
hgs
parents: 2
diff changeset
   481
		(_L("EapGtcDbUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
hgs
parents: 2
diff changeset
   482
		aIndexType,
hgs
parents: 2
diff changeset
   483
		aIndex,
hgs
parents: 2
diff changeset
   484
		aTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   485
		aTunnelingType.get_vendor_type()));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
26
hgs
parents: 2
diff changeset
   487
    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::GetConfigurationL()\n"));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
	TPtr sqlStatement = buf->Des();	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
	RDbView view;
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
	// Form the query
26
hgs
parents: 2
diff changeset
   495
	_LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
hgs
parents: 2
diff changeset
   496
hgs
parents: 2
diff changeset
   497
	sqlStatement.Format(KSQLQuery,
hgs
parents: 2
diff changeset
   498
		&KGtcTableName, 
hgs
parents: 2
diff changeset
   499
		&KServiceType,
hgs
parents: 2
diff changeset
   500
		aIndexType,
hgs
parents: 2
diff changeset
   501
		&KServiceIndex,
hgs
parents: 2
diff changeset
   502
		aIndex,
hgs
parents: 2
diff changeset
   503
		&KTunnelingTypeVendorId,
hgs
parents: 2
diff changeset
   504
		aTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   505
		&KTunnelingType, 
hgs
parents: 2
diff changeset
   506
		aTunnelingType.get_vendor_type());
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   507
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
	// Evaluate view
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement)));
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   510
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   511
	CleanupClosePushL(view);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   512
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   513
	User::LeaveIfError(view.EvaluateAll());
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   515
	// Get the first (and only) row
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
	view.FirstL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
	view.GetL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
	// Get column set so we get the correct column numbers
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
	CDbColSet* colSet = view.ColSetL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
	CleanupStack::PushL(colSet);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   522
26
hgs
parents: 2
diff changeset
   523
	aSettings.iEAPExpandedType = *EapExpandedTypeGtc.GetType();
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   525
	// Username
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
	TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_GTC_identity_literal));
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
	aSettings.iUsername.Copy(username);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
	aSettings.iUsernamePresent = ETrue;
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
	
26
hgs
parents: 2
diff changeset
   530
	// Password existence.
hgs
parents: 2
diff changeset
   531
	aSettings.iPasswordExistPresent = ETrue;
hgs
parents: 2
diff changeset
   532
	aSettings.iPasswordExist = ! view.IsColNull(colSet->ColNo(cf_str_EAP_GTC_passcode_literal));
hgs
parents: 2
diff changeset
   533
hgs
parents: 2
diff changeset
   534
#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE)
hgs
parents: 2
diff changeset
   535
	// Password
hgs
parents: 2
diff changeset
   536
	TPtrC password = view.ColDes(colSet->ColNo(cf_str_EAP_GTC_passcode_literal));
hgs
parents: 2
diff changeset
   537
	aSettings.iPassword.Copy(password);
hgs
parents: 2
diff changeset
   538
	aSettings.iPasswordPresent = ETrue;
hgs
parents: 2
diff changeset
   539
#else
hgs
parents: 2
diff changeset
   540
	EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: EapGtcDbUtils::GetConfigurationL(): Password read is disabled\n")));
hgs
parents: 2
diff changeset
   541
#endif //#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE)
hgs
parents: 2
diff changeset
   542
hgs
parents: 2
diff changeset
   543
	aSettings.iShowPassWordPromptPresent = ETrue;
hgs
parents: 2
diff changeset
   544
hgs
parents: 2
diff changeset
   545
	TUint aShow = view.ColUint(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal));
hgs
parents: 2
diff changeset
   546
	if(aShow == EEapDbFalse)
hgs
parents: 2
diff changeset
   547
	{
hgs
parents: 2
diff changeset
   548
		aSettings.iShowPassWordPrompt = EFalse;
hgs
parents: 2
diff changeset
   549
	}
hgs
parents: 2
diff changeset
   550
	else
hgs
parents: 2
diff changeset
   551
	{
hgs
parents: 2
diff changeset
   552
		aSettings.iShowPassWordPrompt = ETrue;
hgs
parents: 2
diff changeset
   553
	}
hgs
parents: 2
diff changeset
   554
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
	// Session validity time	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
	TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_GTC_max_session_validity_time_literal));
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   558
	// Convert the time to minutes.	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   559
	TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute;
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   560
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   561
	aSettings.iSessionValidityTime = static_cast<TUint>(maxSessionTimeMin);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   562
	aSettings.iSessionValidityTimePresent = ETrue;
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   563
	
26
hgs
parents: 2
diff changeset
   564
	CleanupStack::PopAndDestroy(colSet);
hgs
parents: 2
diff changeset
   565
	CleanupStack::PopAndDestroy(&view);
hgs
parents: 2
diff changeset
   566
	CleanupStack::PopAndDestroy(buf);
hgs
parents: 2
diff changeset
   567
hgs
parents: 2
diff changeset
   568
	EAP_TRACE_SETTINGS(&aSettings);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   569
}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   570
26
hgs
parents: 2
diff changeset
   571
// ----------------------------------------------------------
hgs
parents: 2
diff changeset
   572
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
void EapGtcDbUtils::CopySettingsL(
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   574
	RDbNamedDatabase& aDatabase, 		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   575
	const TIndexType aSrcIndexType,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   576
	const TInt aSrcIndex,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   577
	const eap_type_value_e aSrcTunnelingType,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   578
	const TIndexType aDestIndexType,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   579
	const TInt aDestIndex,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   580
	const eap_type_value_e aDestTunnelingType)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   581
{
26
hgs
parents: 2
diff changeset
   582
	EAP_TRACE_DEBUG_SYMBIAN(
hgs
parents: 2
diff changeset
   583
		(_L("EapGtcDbUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"),
hgs
parents: 2
diff changeset
   584
		aSrcIndexType,
hgs
parents: 2
diff changeset
   585
		aSrcIndex,
hgs
parents: 2
diff changeset
   586
		aSrcTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   587
		aSrcTunnelingType.get_vendor_type()));
hgs
parents: 2
diff changeset
   588
	
hgs
parents: 2
diff changeset
   589
	EAP_TRACE_DEBUG_SYMBIAN(
hgs
parents: 2
diff changeset
   590
		(_L("EapGtcDbUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"),
hgs
parents: 2
diff changeset
   591
		aDestIndexType,
hgs
parents: 2
diff changeset
   592
		aDestIndex,
hgs
parents: 2
diff changeset
   593
		aDestTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   594
		aDestTunnelingType.get_vendor_type()));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   595
26
hgs
parents: 2
diff changeset
   596
    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::CopySettingsL()\n"));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   597
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   598
	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   599
	TPtr sqlStatement = buf->Des();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   600
26
hgs
parents: 2
diff changeset
   601
	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   602
26
hgs
parents: 2
diff changeset
   603
	sqlStatement.Format(KSQL,
hgs
parents: 2
diff changeset
   604
		&KGtcTableName, 
hgs
parents: 2
diff changeset
   605
		&KServiceType,
hgs
parents: 2
diff changeset
   606
		aSrcIndexType,
hgs
parents: 2
diff changeset
   607
		&KServiceIndex,
hgs
parents: 2
diff changeset
   608
		aSrcIndex,
hgs
parents: 2
diff changeset
   609
		&KTunnelingTypeVendorId,
hgs
parents: 2
diff changeset
   610
		aSrcTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   611
		&KTunnelingType, 
hgs
parents: 2
diff changeset
   612
		aSrcTunnelingType.get_vendor_type());
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   613
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   614
	RDbView view;
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   615
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   616
	User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited));
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   617
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
	// View must be closed when no longer needed
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   619
	CleanupClosePushL(view);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   620
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   621
	User::LeaveIfError(view.EvaluateAll());
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   622
			
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   623
	TInt rows = view.CountL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   624
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   625
	if (rows == 0)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   626
	{
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   627
		User::Leave(KErrNotFound);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   628
	}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   629
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   630
	// Get the first (and only) row
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   631
	view.FirstL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   632
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   633
	view.GetL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   634
		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   635
	view.InsertCopyL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   636
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   637
	// Get column set so we get the correct column numbers
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   638
	CDbColSet* colSet = view.ColSetL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   639
	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   640
	CleanupStack::PushL(colSet);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   641
		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   642
	view.SetColL(colSet->ColNo(KServiceType), static_cast<TUint>(aDestIndexType));
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   643
    view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex);
26
hgs
parents: 2
diff changeset
   644
	view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id());
hgs
parents: 2
diff changeset
   645
	view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type());
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   646
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   647
    view.PutL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   648
    	
26
hgs
parents: 2
diff changeset
   649
	CleanupStack::PopAndDestroy(colSet);
hgs
parents: 2
diff changeset
   650
	CleanupStack::PopAndDestroy(&view);
hgs
parents: 2
diff changeset
   651
	CleanupStack::PopAndDestroy(buf);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   652
}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   653
26
hgs
parents: 2
diff changeset
   654
// ----------------------------------------------------------
hgs
parents: 2
diff changeset
   655
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   656
void EapGtcDbUtils::DeleteConfigurationL(	
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   657
	const TIndexType aIndexType,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   658
	const TInt aIndex,
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   659
	const eap_type_value_e aTunnelingType)
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   660
{
26
hgs
parents: 2
diff changeset
   661
	EAP_TRACE_DEBUG_SYMBIAN(
hgs
parents: 2
diff changeset
   662
		(_L("EapGtcDbUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"),
hgs
parents: 2
diff changeset
   663
		aIndexType,
hgs
parents: 2
diff changeset
   664
		aIndex,
hgs
parents: 2
diff changeset
   665
		aTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   666
		aTunnelingType.get_vendor_type()));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   667
26
hgs
parents: 2
diff changeset
   668
    EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::DeleteConfigurationL()\n"));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   669
26
hgs
parents: 2
diff changeset
   670
	RDbNamedDatabase aDatabase;
hgs
parents: 2
diff changeset
   671
	RFs aFileServerSession;
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   672
26
hgs
parents: 2
diff changeset
   673
	TInt error(KErrNone);
hgs
parents: 2
diff changeset
   674
	TFileName aPrivateDatabasePathName;
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   675
	
26
hgs
parents: 2
diff changeset
   676
	EapPluginTools::CreateDatabaseLC(
hgs
parents: 2
diff changeset
   677
		aDatabase,
hgs
parents: 2
diff changeset
   678
		aFileServerSession,
hgs
parents: 2
diff changeset
   679
		error,
hgs
parents: 2
diff changeset
   680
		KEapGtcDatabaseName,
hgs
parents: 2
diff changeset
   681
		aPrivateDatabasePathName);
hgs
parents: 2
diff changeset
   682
hgs
parents: 2
diff changeset
   683
	if(error == KErrNone)
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   684
	{
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   685
		// Database was created so it was empty. No need for further actions.
26
hgs
parents: 2
diff changeset
   686
		aDatabase.Destroy();
hgs
parents: 2
diff changeset
   687
		CleanupStack::PopAndDestroy(&aDatabase);
hgs
parents: 2
diff changeset
   688
		CleanupStack::PopAndDestroy(&aFileServerSession);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   689
		return;
26
hgs
parents: 2
diff changeset
   690
	}
hgs
parents: 2
diff changeset
   691
	else if (error != KErrAlreadyExists) 
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   692
	{
26
hgs
parents: 2
diff changeset
   693
		User::LeaveIfError(error);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   694
	}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   695
	
26
hgs
parents: 2
diff changeset
   696
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::DeleteConfigurationL(): - calls aDatabase.Open()\n")));
hgs
parents: 2
diff changeset
   697
hgs
parents: 2
diff changeset
   698
	error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   699
26
hgs
parents: 2
diff changeset
   700
	EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::DeleteConfigurationL(): - Opened private DB for EAP-GTC. error=%d\n"), error));
hgs
parents: 2
diff changeset
   701
hgs
parents: 2
diff changeset
   702
	User::LeaveIfError(error);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   703
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   704
	HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   705
	TPtr sqlStatement = buf->Des();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   706
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   707
	// Main settings table
26
hgs
parents: 2
diff changeset
   708
	_LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d");
hgs
parents: 2
diff changeset
   709
hgs
parents: 2
diff changeset
   710
	sqlStatement.Format(KSQL,
hgs
parents: 2
diff changeset
   711
		&KGtcTableName, 
hgs
parents: 2
diff changeset
   712
		&KServiceType,
hgs
parents: 2
diff changeset
   713
		aIndexType,
hgs
parents: 2
diff changeset
   714
		&KServiceIndex,
hgs
parents: 2
diff changeset
   715
		aIndex,
hgs
parents: 2
diff changeset
   716
		&KTunnelingTypeVendorId,
hgs
parents: 2
diff changeset
   717
		aTunnelingType.get_vendor_id(),
hgs
parents: 2
diff changeset
   718
		&KTunnelingType, 
hgs
parents: 2
diff changeset
   719
		aTunnelingType.get_vendor_type());
hgs
parents: 2
diff changeset
   720
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   721
	// Evaluate view
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   722
	RDbView view;
26
hgs
parents: 2
diff changeset
   723
	User::LeaveIfError(view.Prepare(aDatabase,TDbQuery(sqlStatement), TDbWindow::EUnlimited));
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   724
	CleanupClosePushL(view);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   725
	User::LeaveIfError(view.EvaluateAll());
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   726
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   727
	// Delete rows
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   728
	if (view.FirstL())
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   729
	{		
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   730
		do {
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   731
			view.DeleteL();
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   732
		} while (view.NextL() != EFalse);
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   733
	}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   734
26
hgs
parents: 2
diff changeset
   735
	CleanupStack::PopAndDestroy(&view);
hgs
parents: 2
diff changeset
   736
	CleanupStack::PopAndDestroy(buf);
hgs
parents: 2
diff changeset
   737
	CleanupStack::PopAndDestroy(&aDatabase);
hgs
parents: 2
diff changeset
   738
	CleanupStack::PopAndDestroy(&aFileServerSession);
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   739
}
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   740
26
hgs
parents: 2
diff changeset
   741
// ----------------------------------------------------------
hgs
parents: 2
diff changeset
   742
0
c8830336c852 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   743
// End of File