securitysettings/cpwlansecurityuiplugins/cp802dot1xui/src/cp802dot1xui.cpp
author hgs
Thu, 24 Jun 2010 11:23:08 +0300
changeset 34 ad1f037f1ac2
parent 26 9abfd4f00d37
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2010 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
34
hgs
parents: 26
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
26
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
 *
34
hgs
parents: 26
diff changeset
    14
 * Description:
26
hgs
parents:
diff changeset
    15
 *    Control Panel QT UI for 802_Dot_1x configuration
hgs
parents:
diff changeset
    16
 *
hgs
parents:
diff changeset
    17
 */
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
/*
34
hgs
parents: 26
diff changeset
    20
 * %version: tr1cfwln#8 %
26
hgs
parents:
diff changeset
    21
 */
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
//User Includes
hgs
parents:
diff changeset
    24
#include "cp802dot1xui.h"
hgs
parents:
diff changeset
    25
#include "cpwpacmnui.h"
hgs
parents:
diff changeset
    26
#include "cpwpacmnui_global.h"
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
//System Includes
hgs
parents:
diff changeset
    29
#include <cmmanagerdefines_shim.h>
hgs
parents:
diff changeset
    30
#include <cmconnectionmethod_shim.h>
hgs
parents:
diff changeset
    31
#include <eapqtconfiginterface.h>
hgs
parents:
diff changeset
    32
#include <QStringList>
hgs
parents:
diff changeset
    33
#include <HbTranslator>
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
//Trace Definition
hgs
parents:
diff changeset
    36
#include "OstTraceDefinitions.h"
hgs
parents:
diff changeset
    37
#ifdef OST_TRACE_COMPILER_IN_USE
hgs
parents:
diff changeset
    38
#include "cp802dot1xuiTraces.h"
hgs
parents:
diff changeset
    39
#endif
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
/*!
hgs
parents:
diff changeset
    42
 \class Cp802Dot1xUi
hgs
parents:
diff changeset
    43
 \brief Cp802Dot1xUi implements the common Ui for 802.1x only 
hgs
parents:
diff changeset
    44
 Security Settings Control Panel Plugins,
hgs
parents:
diff changeset
    45
 which will allow viewing/editing of 802.1x Security Settings.
hgs
parents:
diff changeset
    46
 */
hgs
parents:
diff changeset
    47
//The order in which 802_Dot_1x only mode appears in the list of available 
hgs
parents:
diff changeset
    48
//security modes
hgs
parents:
diff changeset
    49
const int UI_ORDER_802_Dot_1x = 40;
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
/*!
hgs
parents:
diff changeset
    52
 * Constructor
hgs
parents:
diff changeset
    53
 */
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
Cp802Dot1xUi::Cp802Dot1xUi() :
hgs
parents:
diff changeset
    56
    mUi(NULL), 
hgs
parents:
diff changeset
    57
    mTranslator(new HbTranslator("cpwlansecsettingsplugin")),
hgs
parents:
diff changeset
    58
    mCmCM(NULL),
hgs
parents:
diff changeset
    59
    mEapQtConfigInterface(NULL),
hgs
parents:
diff changeset
    60
    m802Ui(NULL)
hgs
parents:
diff changeset
    61
{
hgs
parents:
diff changeset
    62
   
hgs
parents:
diff changeset
    63
}
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
// Destructor
hgs
parents:
diff changeset
    66
Cp802Dot1xUi::~Cp802Dot1xUi()
hgs
parents:
diff changeset
    67
{
hgs
parents:
diff changeset
    68
    OstTraceFunctionEntry1(CP802DOT1XUI_CP802DOT1XUI_ENTRY,this);
hgs
parents:
diff changeset
    69
    delete mEapQtConfigInterface;
hgs
parents:
diff changeset
    70
    delete mTranslator;
hgs
parents:
diff changeset
    71
    OstTraceFunctionExit1(CP802DOT1XUI_CP802DOT1XUI_EXIT,this);
hgs
parents:
diff changeset
    72
}
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
/*!
hgs
parents:
diff changeset
    75
 Getter for security mode.
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
 \return Security mode identifier
hgs
parents:
diff changeset
    78
 */
hgs
parents:
diff changeset
    79
CMManagerShim::WlanSecMode Cp802Dot1xUi::securityMode() const
hgs
parents:
diff changeset
    80
{
hgs
parents:
diff changeset
    81
    OstTraceFunctionEntry1(CP802DOT1XUI_SECURITYMODE_ENTRY,this);
hgs
parents:
diff changeset
    82
    OstTraceFunctionExit1(CP802DOT1XUI_SECURITYMODE_EXIT,this);
hgs
parents:
diff changeset
    83
    //return security mode 
hgs
parents:
diff changeset
    84
    return CMManagerShim::WlanSecMode802_1x;
hgs
parents:
diff changeset
    85
}
hgs
parents:
diff changeset
    86
hgs
parents:
diff changeset
    87
/*!
hgs
parents:
diff changeset
    88
 Getter for localization text identifier for the security mode,
hgs
parents:
diff changeset
    89
 f.ex. "txt_occ_setlabel_wlan_security_mode_val_8021x". This localized
hgs
parents:
diff changeset
    90
 text will be shown in the UI.
hgs
parents:
diff changeset
    91
 
hgs
parents:
diff changeset
    92
 \return Localization text ID
hgs
parents:
diff changeset
    93
 */
hgs
parents:
diff changeset
    94
QString Cp802Dot1xUi::securityModeTextId() const
hgs
parents:
diff changeset
    95
{
hgs
parents:
diff changeset
    96
    OstTraceFunctionEntry1( CP802DOT1XUI_SECURITYMODETEXTID_ENTRY, this );
hgs
parents:
diff changeset
    97
    OstTraceFunctionExit1( CP802DOT1XUI_SECURITYMODETEXTID_EXIT, this );
hgs
parents:
diff changeset
    98
    return "txt_occ_setlabel_wlan_security_mode_val_8021x";
hgs
parents:
diff changeset
    99
}
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
/*! 
hgs
parents:
diff changeset
   102
 Sets the database reference IAP id.
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
 \param id Database reference
hgs
parents:
diff changeset
   105
 */
hgs
parents:
diff changeset
   106
void Cp802Dot1xUi::setReference(CmConnectionMethodShim *cmCm,uint id)
hgs
parents:
diff changeset
   107
{
hgs
parents:
diff changeset
   108
    OstTraceFunctionEntry1(CP802DOT1XUI_SETREFERENCE_ENTRY,this);    
hgs
parents:
diff changeset
   109
    if (!mEapQtConfigInterface) {
hgs
parents:
diff changeset
   110
           mEapQtConfigInterface = new EapQtConfigInterface(
hgs
parents:
diff changeset
   111
               EapQtConfigInterface::EapBearerTypeWlan, id);
hgs
parents:
diff changeset
   112
    } 
hgs
parents:
diff changeset
   113
    else {
hgs
parents:
diff changeset
   114
           mEapQtConfigInterface->setConfigurationReference(id);     
hgs
parents:
diff changeset
   115
    }
hgs
parents:
diff changeset
   116
    
hgs
parents:
diff changeset
   117
    //mCmCM is not deleted assuming mCmManager owns it.
hgs
parents:
diff changeset
   118
     mCmCM = cmCm;
hgs
parents:
diff changeset
   119
    
hgs
parents:
diff changeset
   120
    OstTraceFunctionExit1(CP802DOT1XUI_SETREFERENCE_EXIT,this);
hgs
parents:
diff changeset
   121
}
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
/*!
hgs
parents:
diff changeset
   124
 Getter for order number. This order number is used by the client of
hgs
parents:
diff changeset
   125
 this interface to put the security modes in correct order in the list.
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
 \return An order number
hgs
parents:
diff changeset
   128
 */
hgs
parents:
diff changeset
   129
int Cp802Dot1xUi::orderNumber() const
hgs
parents:
diff changeset
   130
{
hgs
parents:
diff changeset
   131
    OstTraceFunctionEntry1(CP802DOT1XUI_ORDERNUMBER_ENTRY,this);
hgs
parents:
diff changeset
   132
    OstTraceFunctionExit1(CP802DOT1XUI_ORDERNUMBER_EXIT,this);
hgs
parents:
diff changeset
   133
    return UI_ORDER_802_Dot_1x;
hgs
parents:
diff changeset
   134
}
hgs
parents:
diff changeset
   135
hgs
parents:
diff changeset
   136
/*!
hgs
parents:
diff changeset
   137
 Creates an UI instance. Caller owns the object.
hgs
parents:
diff changeset
   138
 
hgs
parents:
diff changeset
   139
 \param dataHelper Item data helper
hgs
parents:
diff changeset
   140
 \return Pointer to an UI object
hgs
parents:
diff changeset
   141
 */
hgs
parents:
diff changeset
   142
CpSettingFormItemData* Cp802Dot1xUi::uiInstance(CpItemDataHelper &dataHelpper)
hgs
parents:
diff changeset
   143
{
hgs
parents:
diff changeset
   144
    OstTraceFunctionEntry1(CP802DOT1XUI_UIINSTANCE_ENTRY,this);
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
    //reset Common Ui ptr
hgs
parents:
diff changeset
   147
    m802Ui.reset(new CpWpaCmnUi(CMManagerShim::WlanSecMode802_1x, dataHelpper));
hgs
parents:
diff changeset
   148
        
hgs
parents:
diff changeset
   149
    mUi = m802Ui->createUi(mEapQtConfigInterface, mCmCM);
hgs
parents:
diff changeset
   150
      
hgs
parents:
diff changeset
   151
    OstTraceFunctionExit1(CP802DOT1XUI_UIINSTANCE_EXIT,this);
hgs
parents:
diff changeset
   152
    return mUi;
hgs
parents:
diff changeset
   153
}
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
hgs
parents:
diff changeset
   156
/*!
hgs
parents:
diff changeset
   157
   Validates current security settings. This function is called whenever
hgs
parents:
diff changeset
   158
   user tries to exit from the settings view. If the plugin determines
hgs
parents:
diff changeset
   159
   that some settings need editing before considered valid, it shall
hgs
parents:
diff changeset
   160
   return false. A dialog will be shown to the user indicating that
hgs
parents:
diff changeset
   161
   settings are still incomplete and asking if he/she wishes to exit
hgs
parents:
diff changeset
   162
   anyway.
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
   \return True if security settings for 802.1x only are valid, false if not.
hgs
parents:
diff changeset
   165
*/
hgs
parents:
diff changeset
   166
bool Cp802Dot1xUi::validateSettings()
hgs
parents:
diff changeset
   167
    {    
hgs
parents:
diff changeset
   168
    return true;
hgs
parents:
diff changeset
   169
    }
hgs
parents:
diff changeset
   170
hgs
parents:
diff changeset
   171
hgs
parents:
diff changeset
   172
Q_EXPORT_PLUGIN2(Cp802Dot1xUi, Cp802Dot1xUi)
hgs
parents:
diff changeset
   173
;