eapol/eapol_framework/eapol_symbian/eap_server/src/eap_loaded_type.cpp
author hgs
Mon, 24 May 2010 20:32:47 +0300
changeset 26 9abfd4f00d37
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  EAP and WLAN authentication protocols.
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
/*
hgs
parents:
diff changeset
    19
* %version: 5 %
hgs
parents:
diff changeset
    20
*/
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include "eap_loaded_type.h"
hgs
parents:
diff changeset
    23
#include "eap_expanded_type.h"
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
/** @file */
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
//--------------------------------------------------
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
eap_loaded_type_c::eap_loaded_type_c(
hgs
parents:
diff changeset
    30
	abs_eap_am_tools_c * const tools,
hgs
parents:
diff changeset
    31
	CEapTypePlugin * const type_plugin,
hgs
parents:
diff changeset
    32
	const eap_type_value_e eap_type,
hgs
parents:
diff changeset
    33
	const u32_t index_type,
hgs
parents:
diff changeset
    34
	const u32_t index)
hgs
parents:
diff changeset
    35
	: m_am_tools(tools)
hgs
parents:
diff changeset
    36
	, m_type_plugin(type_plugin)
hgs
parents:
diff changeset
    37
	, m_eap_type(eap_type)
hgs
parents:
diff changeset
    38
	, m_index_type(index_type)
hgs
parents:
diff changeset
    39
	, m_index(index)
hgs
parents:
diff changeset
    40
{
hgs
parents:
diff changeset
    41
}
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
//--------------------------------------------------
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
eap_loaded_type_c::~eap_loaded_type_c()
hgs
parents:
diff changeset
    46
{
hgs
parents:
diff changeset
    47
	delete m_type_plugin;
hgs
parents:
diff changeset
    48
}
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
//--------------------------------------------------
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
i32_t eap_loaded_type_c::compare(const eap_loaded_type_c * const right)
hgs
parents:
diff changeset
    53
{
hgs
parents:
diff changeset
    54
	if (get_index_type() != right->get_index_type())
hgs
parents:
diff changeset
    55
	{
hgs
parents:
diff changeset
    56
		return static_cast<i32_t>(get_index_type()) - static_cast<i32_t>(right->get_index_type());
hgs
parents:
diff changeset
    57
	}
hgs
parents:
diff changeset
    58
	else if (get_index() != right->get_index())
hgs
parents:
diff changeset
    59
	{
hgs
parents:
diff changeset
    60
		return static_cast<i32_t>(get_index()) - static_cast<i32_t>(right->get_index());
hgs
parents:
diff changeset
    61
	}
hgs
parents:
diff changeset
    62
	else
hgs
parents:
diff changeset
    63
	{
hgs
parents:
diff changeset
    64
		// Compares the EAP-type.
hgs
parents:
diff changeset
    65
		return get_eap_type().compare(&(right->get_eap_type()));
hgs
parents:
diff changeset
    66
	}
hgs
parents:
diff changeset
    67
}
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
//--------------------------------------------------
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
CEapTypePlugin * eap_loaded_type_c::get_type_plugin()
hgs
parents:
diff changeset
    72
{
hgs
parents:
diff changeset
    73
	return m_type_plugin;
hgs
parents:
diff changeset
    74
}
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
//--------------------------------------------------
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
eap_type_value_e eap_loaded_type_c::get_eap_type() const
hgs
parents:
diff changeset
    79
{
hgs
parents:
diff changeset
    80
	return m_eap_type;
hgs
parents:
diff changeset
    81
}
hgs
parents:
diff changeset
    82
hgs
parents:
diff changeset
    83
//--------------------------------------------------
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
u32_t eap_loaded_type_c::get_index_type() const
hgs
parents:
diff changeset
    86
{
hgs
parents:
diff changeset
    87
	return m_index_type;
hgs
parents:
diff changeset
    88
}
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
//--------------------------------------------------
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
u32_t eap_loaded_type_c::get_index() const
hgs
parents:
diff changeset
    93
{
hgs
parents:
diff changeset
    94
	return m_index;
hgs
parents:
diff changeset
    95
}
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
//--------------------------------------------------
hgs
parents:
diff changeset
    98
// End