securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle.cpp
author hgs
Mon, 24 May 2010 20:32:47 +0300
changeset 26 9abfd4f00d37
parent 22 093cf0757204
child 27 9660a5eb236f
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
093cf0757204 Revision: 201017
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"
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
093cf0757204 Revision: 201017
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".
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
 *
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
 *
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
 * Contributors:
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
 *
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
 * Description: 
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
 *   Control Panel EAP plugin information
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
 *
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
 */
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
/*
26
hgs
parents: 22
diff changeset
    20
 * %version: 14 %
22
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
 */
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include "eapqtpluginhandle.h"
26
hgs
parents: 22
diff changeset
    24
#include "eapqtpluginhandle_p.h"
hgs
parents: 22
diff changeset
    25
hgs
parents: 22
diff changeset
    26
struct EapQtPluginHandleMapper
hgs
parents: 22
diff changeset
    27
{
hgs
parents: 22
diff changeset
    28
    EapQtExpandedEapType::Type mType;
hgs
parents: 22
diff changeset
    29
    int mUid;
hgs
parents: 22
diff changeset
    30
};
hgs
parents: 22
diff changeset
    31
hgs
parents: 22
diff changeset
    32
static const EapQtPluginHandleMapper handleMapper[EapQtPluginHandle::PluginLast] = { 
hgs
parents: 22
diff changeset
    33
    {EapQtExpandedEapType::TypeUndefined,     0x00000000},
hgs
parents: 22
diff changeset
    34
    {EapQtExpandedEapType::TypeEapAka,        0x102073c2},
hgs
parents: 22
diff changeset
    35
    {EapQtExpandedEapType::TypeEapFast,       0x2000BF12},
hgs
parents: 22
diff changeset
    36
    {EapQtExpandedEapType::TypeEapGtc,        0x101f8e80},
hgs
parents: 22
diff changeset
    37
    {EapQtExpandedEapType::TypeLeap,          0x101f8ea7},
hgs
parents: 22
diff changeset
    38
    {EapQtExpandedEapType::TypeEapMschapv2,   0x101f8e67},
hgs
parents: 22
diff changeset
    39
    {EapQtExpandedEapType::TypePeap,          0x101f8e4e},
hgs
parents: 22
diff changeset
    40
    {EapQtExpandedEapType::TypeEapSim,        0x101f8e4b},
hgs
parents: 22
diff changeset
    41
    {EapQtExpandedEapType::TypeEapTls,        0x101f8e4d},
hgs
parents: 22
diff changeset
    42
    {EapQtExpandedEapType::TypeEapTtls,       0x101f8e4f},
hgs
parents: 22
diff changeset
    43
    {EapQtExpandedEapType::TypePap,           0x2001B2F2},
hgs
parents: 22
diff changeset
    44
    {EapQtExpandedEapType::TypePlainMschapv2, 0x101f8e7b}
hgs
parents: 22
diff changeset
    45
};
hgs
parents: 22
diff changeset
    46
hgs
parents: 22
diff changeset
    47
static const EapQtPluginHandle::Plugin typeMapper[EapQtExpandedEapType::TypeLast] = {
hgs
parents: 22
diff changeset
    48
    EapQtPluginHandle::PluginUndefined, 
hgs
parents: 22
diff changeset
    49
    EapQtPluginHandle::PluginEapAka,
hgs
parents: 22
diff changeset
    50
    EapQtPluginHandle::PluginEapFast, 
hgs
parents: 22
diff changeset
    51
    EapQtPluginHandle::PluginEapGtc,
hgs
parents: 22
diff changeset
    52
    EapQtPluginHandle::PluginLeap, 
hgs
parents: 22
diff changeset
    53
    EapQtPluginHandle::PluginEapMschapv2,
hgs
parents: 22
diff changeset
    54
    EapQtPluginHandle::PluginPeap, 
hgs
parents: 22
diff changeset
    55
    EapQtPluginHandle::PluginEapSim,
hgs
parents: 22
diff changeset
    56
    EapQtPluginHandle::PluginEapTls, 
hgs
parents: 22
diff changeset
    57
    EapQtPluginHandle::PluginEapTtls,
hgs
parents: 22
diff changeset
    58
    EapQtPluginHandle::PluginUndefined, /* no wps plugin */ 
hgs
parents: 22
diff changeset
    59
    EapQtPluginHandle::PluginPap,
hgs
parents: 22
diff changeset
    60
    EapQtPluginHandle::PluginPlainMschapv2 
hgs
parents: 22
diff changeset
    61
};
22
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
//----------------------------------------------------------------------------
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
//              EapQtPluginHandle
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
//----------------------------------------------------------------------------
26
hgs
parents: 22
diff changeset
    66
EapQtPluginHandle::EapQtPluginHandle() :
hgs
parents: 22
diff changeset
    67
    d_ptr(new EapQtPluginHandlePrivate(handleMapper[PluginUndefined].mType,
hgs
parents: 22
diff changeset
    68
        handleMapper[PluginUndefined].mUid))
hgs
parents: 22
diff changeset
    69
{
hgs
parents: 22
diff changeset
    70
}
22
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
26
hgs
parents: 22
diff changeset
    72
EapQtPluginHandle::EapQtPluginHandle(Plugin id) :
hgs
parents: 22
diff changeset
    73
    d_ptr(NULL)
hgs
parents: 22
diff changeset
    74
{
hgs
parents: 22
diff changeset
    75
    Plugin local_id;
hgs
parents: 22
diff changeset
    76
    if (id < PluginLast) {
hgs
parents: 22
diff changeset
    77
        local_id = id;
hgs
parents: 22
diff changeset
    78
    }
hgs
parents: 22
diff changeset
    79
    else {
hgs
parents: 22
diff changeset
    80
        local_id = PluginUndefined;
hgs
parents: 22
diff changeset
    81
    }
hgs
parents: 22
diff changeset
    82
    d_ptr.reset(new EapQtPluginHandlePrivate(handleMapper[local_id].mType,
hgs
parents: 22
diff changeset
    83
        handleMapper[local_id].mUid));
hgs
parents: 22
diff changeset
    84
}
22
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
26
hgs
parents: 22
diff changeset
    86
EapQtPluginHandle::EapQtPluginHandle(EapQtExpandedEapType type, int uid) :
hgs
parents: 22
diff changeset
    87
    d_ptr(new EapQtPluginHandlePrivate(type, uid))
hgs
parents: 22
diff changeset
    88
{
hgs
parents: 22
diff changeset
    89
}
hgs
parents: 22
diff changeset
    90
hgs
parents: 22
diff changeset
    91
EapQtPluginHandle::EapQtPluginHandle(EapQtExpandedEapType type) :
hgs
parents: 22
diff changeset
    92
    d_ptr(new EapQtPluginHandlePrivate(type, handleMapper[typeMapper[type.type()]].mUid))
hgs
parents: 22
diff changeset
    93
{
hgs
parents: 22
diff changeset
    94
}
hgs
parents: 22
diff changeset
    95
hgs
parents: 22
diff changeset
    96
EapQtPluginHandle::EapQtPluginHandle(const EapQtPluginHandle& handle) :
hgs
parents: 22
diff changeset
    97
    d_ptr(new EapQtPluginHandlePrivate(handle.type(), handle.protocolImplementationUid()))
22
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
{
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
}
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
EapQtPluginHandle::~EapQtPluginHandle()
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
{
26
hgs
parents: 22
diff changeset
   103
    // scoped pointer delete
22
093cf0757204 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
}
26
hgs
parents: 22
diff changeset
   105
hgs
parents: 22
diff changeset
   106
EapQtExpandedEapType EapQtPluginHandle::type() const
hgs
parents: 22
diff changeset
   107
{
hgs
parents: 22
diff changeset
   108
    return d_ptr->mType;
hgs
parents: 22
diff changeset
   109
}
hgs
parents: 22
diff changeset
   110
hgs
parents: 22
diff changeset
   111
int EapQtPluginHandle::protocolImplementationUid() const
hgs
parents: 22
diff changeset
   112
{
hgs
parents: 22
diff changeset
   113
    return d_ptr->mProtocolImplementationUid;
hgs
parents: 22
diff changeset
   114
}
hgs
parents: 22
diff changeset
   115
hgs
parents: 22
diff changeset
   116
EapQtPluginHandle::Plugin EapQtPluginHandle::pluginId() const
hgs
parents: 22
diff changeset
   117
{
hgs
parents: 22
diff changeset
   118
    return typeMapper[d_ptr->mType.type()];
hgs
parents: 22
diff changeset
   119
}
hgs
parents: 22
diff changeset
   120
hgs
parents: 22
diff changeset
   121
bool EapQtPluginHandle::operator==(const EapQtPluginHandle &other) const
hgs
parents: 22
diff changeset
   122
{
hgs
parents: 22
diff changeset
   123
    return (other.d_ptr->mProtocolImplementationUid == d_ptr->mProtocolImplementationUid)
hgs
parents: 22
diff changeset
   124
        && (other.d_ptr->mType == d_ptr->mType);
hgs
parents: 22
diff changeset
   125
}
hgs
parents: 22
diff changeset
   126
hgs
parents: 22
diff changeset
   127
EapQtPluginHandle& EapQtPluginHandle::operator=(const EapQtPluginHandle &handle)
hgs
parents: 22
diff changeset
   128
{
hgs
parents: 22
diff changeset
   129
    // check if assigning to myself
hgs
parents: 22
diff changeset
   130
    if (this != &handle) {
hgs
parents: 22
diff changeset
   131
        d_ptr.reset(new EapQtPluginHandlePrivate(handle.type(), handle.protocolImplementationUid()));
hgs
parents: 22
diff changeset
   132
    }
hgs
parents: 22
diff changeset
   133
    return *this;
hgs
parents: 22
diff changeset
   134
}
hgs
parents: 22
diff changeset
   135