policymanagement/policyengine/policyengineui/src/PolicyEngineUI.cpp
author hgs
Fri, 06 Aug 2010 18:29:23 +0530
changeset 55 1c556dee8eb1
child 66 08c8318ec9cb
permissions -rw-r--r--
201031
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2000 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 "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: Implementation of policymanagement components
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include "PolicyEngineUI.h"
hgs
parents:
diff changeset
    19
#include <hbpopup.h>
hgs
parents:
diff changeset
    20
#include <hbinputdialog.h>
hgs
parents:
diff changeset
    21
#include <hbdocumentloader.h>
hgs
parents:
diff changeset
    22
#include <hbdialog.h>
hgs
parents:
diff changeset
    23
#include <hblabel.h>
hgs
parents:
diff changeset
    24
#include <hbaction.h>
hgs
parents:
diff changeset
    25
#include <hbnotificationdialog.h>
hgs
parents:
diff changeset
    26
#include <hbmessagebox.h>
hgs
parents:
diff changeset
    27
#include <hbdevicenotificationdialog.h>
hgs
parents:
diff changeset
    28
#include "Logger.h"
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
const int KMaxTries = 4;
hgs
parents:
diff changeset
    31
const int KMaxCodeLength = 4;
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    35
// PolicyEngineUI::PolicyEngineUI()
hgs
parents:
diff changeset
    36
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    37
PolicyEngineUI::PolicyEngineUI(const QVariantMap& parameters)
hgs
parents:
diff changeset
    38
    {
hgs
parents:
diff changeset
    39
    estbTrustCount = KMaxTries;
hgs
parents:
diff changeset
    40
    DisplayNotificationDialog(parameters);
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
// PolicyEngineUI::~PolicyEngineUI()
hgs
parents:
diff changeset
    46
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    47
PolicyEngineUI::~PolicyEngineUI()
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
hgs
parents:
diff changeset
    53
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    54
// PolicyEngineUI::DisplayNotificationDialog()
hgs
parents:
diff changeset
    55
// Read the parameters sent from client
hgs
parents:
diff changeset
    56
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    57
void PolicyEngineUI::DisplayNotificationDialog(const QVariantMap& parameters)
hgs
parents:
diff changeset
    58
    {
hgs
parents:
diff changeset
    59
    LOGSTRING( "+ DisplayNotificationDialog +" );
hgs
parents:
diff changeset
    60
    QVariantMap::const_iterator i = parameters.constBegin();
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
    while (i != parameters.constEnd())
hgs
parents:
diff changeset
    63
        {
hgs
parents:
diff changeset
    64
        if (i.key().toAscii() == "serverdisplayname")
hgs
parents:
diff changeset
    65
            {
hgs
parents:
diff changeset
    66
            iServerName = i.value().toString();
hgs
parents:
diff changeset
    67
            }
hgs
parents:
diff changeset
    68
        else if (i.key().toAscii() == "fingerprint")
hgs
parents:
diff changeset
    69
            {
hgs
parents:
diff changeset
    70
            iFingerprint = i.value().toString();
hgs
parents:
diff changeset
    71
            }
hgs
parents:
diff changeset
    72
        ++i;
hgs
parents:
diff changeset
    73
        }
hgs
parents:
diff changeset
    74
    
hgs
parents:
diff changeset
    75
    TBuf<50> server(iServerName.utf16());
hgs
parents:
diff changeset
    76
    TBuf<10> buffer(iFingerprint.utf16());
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
    LOGSTRING2( "serverdisplayname %S", &server );
hgs
parents:
diff changeset
    79
    LOGSTRING2( "fingerprint %S", &buffer );
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
    ShowInputDialog();
hgs
parents:
diff changeset
    82
    LOGSTRING( "- DisplayNotificationDialog -" );
hgs
parents:
diff changeset
    83
    }
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    87
// PolicyEngineUI::ShowInputDialog()
hgs
parents:
diff changeset
    88
// Show the accept control dialog
hgs
parents:
diff changeset
    89
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    90
void PolicyEngineUI::ShowInputDialog()
hgs
parents:
diff changeset
    91
    {
hgs
parents:
diff changeset
    92
    LOGSTRING( "+ ShowInputDialog +" );
hgs
parents:
diff changeset
    93
    HbDocumentLoader loader;
hgs
parents:
diff changeset
    94
    bool ok = false;
hgs
parents:
diff changeset
    95
    loader.load(":/xml/dialog.docml", &ok);
hgs
parents:
diff changeset
    96
    if (!ok)
hgs
parents:
diff changeset
    97
        {
hgs
parents:
diff changeset
    98
        return;
hgs
parents:
diff changeset
    99
        }
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
    HbDialog *dialog1 =
hgs
parents:
diff changeset
   102
            qobject_cast<HbDialog *> (loader.findWidget("dialog"));
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
    //set heading content
hgs
parents:
diff changeset
   105
    HbLabel *contentheading = qobject_cast<HbLabel *> (loader.findWidget(
hgs
parents:
diff changeset
   106
            "qtl_dialog_pri_heading"));
hgs
parents:
diff changeset
   107
    QString heading(hbTrId("txt_device_update_title_security_information"));
hgs
parents:
diff changeset
   108
    contentheading->setPlainText(heading);
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
    //set body content
hgs
parents:
diff changeset
   111
    HbLabel *contentbody = qobject_cast<HbLabel *> (loader.findWidget(
hgs
parents:
diff changeset
   112
            "qtl_dialog_pri5"));
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
    QString body(
hgs
parents:
diff changeset
   115
            (hbTrId("txt_device_update_info_1_server_wants_to_contro").arg(
hgs
parents:
diff changeset
   116
                    iServerName)));
hgs
parents:
diff changeset
   117
    contentbody->setTextWrapping(Hb::TextWordWrap);
hgs
parents:
diff changeset
   118
    contentbody->setPlainText(body);
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
    HbAction *primaryAction = qobject_cast<HbAction *> (
hgs
parents:
diff changeset
   121
            dialog1->actions().at(0));
hgs
parents:
diff changeset
   122
    HbAction *secondaryAction = qobject_cast<HbAction *> (
hgs
parents:
diff changeset
   123
            dialog1->actions().at(1));
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
    //set dialog properties
hgs
parents:
diff changeset
   126
    dialog1->setTimeout(HbPopup::NoTimeout);
hgs
parents:
diff changeset
   127
    dialog1->setDismissPolicy(HbPopup::NoDismiss);
hgs
parents:
diff changeset
   128
hgs
parents:
diff changeset
   129
    QObject::connect(primaryAction, SIGNAL(triggered()), this,
hgs
parents:
diff changeset
   130
            SLOT(onOKSelected()));
hgs
parents:
diff changeset
   131
    QObject::connect(secondaryAction, SIGNAL(triggered()), this,
hgs
parents:
diff changeset
   132
            SLOT(onCancelSelected()));
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
    if (dialog1)
hgs
parents:
diff changeset
   135
        dialog1->show();
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
    LOGSTRING( "- ShowInputDialog -" );
hgs
parents:
diff changeset
   138
    }
hgs
parents:
diff changeset
   139
hgs
parents:
diff changeset
   140
hgs
parents:
diff changeset
   141
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   142
// PolicyEngineUI::onOKSelected()
hgs
parents:
diff changeset
   143
// Show the user input dialog once control is accepted
hgs
parents:
diff changeset
   144
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   145
void PolicyEngineUI::onOKSelected()
hgs
parents:
diff changeset
   146
    {
hgs
parents:
diff changeset
   147
hgs
parents:
diff changeset
   148
    LOGSTRING( "+ onOKSelected +" );
hgs
parents:
diff changeset
   149
hgs
parents:
diff changeset
   150
    HbDocumentLoader loader;
hgs
parents:
diff changeset
   151
    bool ok = false;
hgs
parents:
diff changeset
   152
    loader.load(":/xml/InputDialog.docml", &ok);
hgs
parents:
diff changeset
   153
    if (!ok)
hgs
parents:
diff changeset
   154
        {
hgs
parents:
diff changeset
   155
        return;
hgs
parents:
diff changeset
   156
        }
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
    mdialog = qobject_cast<HbDialog *> (loader.findWidget("dialog"));
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
    //set heading content
hgs
parents:
diff changeset
   161
    HbLabel *contentheading = qobject_cast<HbLabel *> (loader.findWidget(
hgs
parents:
diff changeset
   162
            "qtl_dialog_pri_heading"));
hgs
parents:
diff changeset
   163
    QString heading(hbTrId("txt_device_update_title_security_information"));
hgs
parents:
diff changeset
   164
    contentheading->setPlainText(heading);
hgs
parents:
diff changeset
   165
hgs
parents:
diff changeset
   166
    //set label
hgs
parents:
diff changeset
   167
    HbLabel *contentlabel = qobject_cast<HbLabel *> (loader.findWidget(
hgs
parents:
diff changeset
   168
            "HeadingLabel"));
hgs
parents:
diff changeset
   169
    contentlabel->setTextWrapping(Hb::TextWordWrap);
hgs
parents:
diff changeset
   170
    QString label(
hgs
parents:
diff changeset
   171
                (hbTrId("txt_device_update_info_enter_first_4_characters_of").arg(
hgs
parents:
diff changeset
   172
                        iServerName)));
hgs
parents:
diff changeset
   173
    contentlabel ->setPlainText(label);
hgs
parents:
diff changeset
   174
hgs
parents:
diff changeset
   175
    //set length for editline
hgs
parents:
diff changeset
   176
    mContentEdit = qobject_cast<HbLineEdit*> (loader.findWidget("InputLine"));
hgs
parents:
diff changeset
   177
    mContentEdit->setMaxLength(KMaxCodeLength);
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
    //set dialog properties
hgs
parents:
diff changeset
   180
    mdialog->setTimeout(HbPopup::NoTimeout);
hgs
parents:
diff changeset
   181
    mdialog->setDismissPolicy(HbPopup::NoDismiss);
hgs
parents:
diff changeset
   182
    
hgs
parents:
diff changeset
   183
    HbAction* primaryAction = (HbAction*) (mdialog->actions().at(0));
hgs
parents:
diff changeset
   184
    HbAction *secondaryAction = (HbAction*) (mdialog->actions().at(1));
hgs
parents:
diff changeset
   185
    primaryAction->setEnabled(false);
hgs
parents:
diff changeset
   186
hgs
parents:
diff changeset
   187
    QObject::connect(primaryAction, SIGNAL(triggered()), this,
hgs
parents:
diff changeset
   188
            SLOT(establishTrust()));
hgs
parents:
diff changeset
   189
    QObject::connect(secondaryAction, SIGNAL(triggered()), this,
hgs
parents:
diff changeset
   190
            SLOT(cancelTrust()));
hgs
parents:
diff changeset
   191
    QObject::connect(mContentEdit, SIGNAL(contentsChanged()), this,
hgs
parents:
diff changeset
   192
            SLOT(codeTextChanged()));
hgs
parents:
diff changeset
   193
hgs
parents:
diff changeset
   194
    if (mdialog)
hgs
parents:
diff changeset
   195
        mdialog->show();
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
    LOGSTRING( "- onOKSelected -" );
hgs
parents:
diff changeset
   198
    }
hgs
parents:
diff changeset
   199
hgs
parents:
diff changeset
   200
hgs
parents:
diff changeset
   201
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   202
// PolicyEngineUI::onCancelSelected()
hgs
parents:
diff changeset
   203
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   204
void PolicyEngineUI::onCancelSelected()
hgs
parents:
diff changeset
   205
    {
hgs
parents:
diff changeset
   206
    LOGSTRING( "+ onCancelSelected +" );
hgs
parents:
diff changeset
   207
hgs
parents:
diff changeset
   208
    QVariantMap result;
hgs
parents:
diff changeset
   209
hgs
parents:
diff changeset
   210
    result.insert("keyResponse", -1);
hgs
parents:
diff changeset
   211
    emit
hgs
parents:
diff changeset
   212
    deviceDialogData(result);
hgs
parents:
diff changeset
   213
hgs
parents:
diff changeset
   214
    emit
hgs
parents:
diff changeset
   215
    deviceDialogClosed();
hgs
parents:
diff changeset
   216
hgs
parents:
diff changeset
   217
    LOGSTRING( "- onCancelSelected -" );
hgs
parents:
diff changeset
   218
    }
hgs
parents:
diff changeset
   219
hgs
parents:
diff changeset
   220
hgs
parents:
diff changeset
   221
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   222
// PolicyEngineUI::onTrustCreation()
hgs
parents:
diff changeset
   223
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   224
void PolicyEngineUI::onTrustCreation()
hgs
parents:
diff changeset
   225
    {
hgs
parents:
diff changeset
   226
    LOGSTRING( "+ onTrustCreation +" );
hgs
parents:
diff changeset
   227
    QVariantMap result;
hgs
parents:
diff changeset
   228
hgs
parents:
diff changeset
   229
    result.insert("keyResponse", 0);
hgs
parents:
diff changeset
   230
    emit
hgs
parents:
diff changeset
   231
    deviceDialogData(result);
hgs
parents:
diff changeset
   232
hgs
parents:
diff changeset
   233
    emit
hgs
parents:
diff changeset
   234
    deviceDialogClosed();
hgs
parents:
diff changeset
   235
hgs
parents:
diff changeset
   236
    LOGSTRING( "- onTrustCreation -" );
hgs
parents:
diff changeset
   237
    }
hgs
parents:
diff changeset
   238
hgs
parents:
diff changeset
   239
hgs
parents:
diff changeset
   240
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   241
// PolicyEngineUI::establishTrust()
hgs
parents:
diff changeset
   242
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   243
void PolicyEngineUI::establishTrust()
hgs
parents:
diff changeset
   244
    {
hgs
parents:
diff changeset
   245
    LOGSTRING( "+ establishTrust +" );
hgs
parents:
diff changeset
   246
    bool retVal; // return value from code verification API.
hgs
parents:
diff changeset
   247
    estbTrustCount--;
hgs
parents:
diff changeset
   248
    retVal = verifyFingerPrint();
hgs
parents:
diff changeset
   249
hgs
parents:
diff changeset
   250
    if (retVal)
hgs
parents:
diff changeset
   251
        {
hgs
parents:
diff changeset
   252
        LOGSTRING( "Trust Created" );
hgs
parents:
diff changeset
   253
        //Reset the counter.
hgs
parents:
diff changeset
   254
        estbTrustCount = 0;
hgs
parents:
diff changeset
   255
        onTrustCreation();
hgs
parents:
diff changeset
   256
hgs
parents:
diff changeset
   257
        }
hgs
parents:
diff changeset
   258
    else
hgs
parents:
diff changeset
   259
        {
hgs
parents:
diff changeset
   260
        //check the number of tries.
hgs
parents:
diff changeset
   261
        if (estbTrustCount == 0)
hgs
parents:
diff changeset
   262
            {
hgs
parents:
diff changeset
   263
            //Access denied.
hgs
parents:
diff changeset
   264
            LOGSTRING( "Access Denied" );
hgs
parents:
diff changeset
   265
            HbMessageBox *msgBox = new HbMessageBox();
hgs
parents:
diff changeset
   266
            msgBox->setHeadingWidget(new HbLabel(hbTrId(
hgs
parents:
diff changeset
   267
                    "txt_device_update_title_security_information")));
hgs
parents:
diff changeset
   268
hgs
parents:
diff changeset
   269
            msgBox->setText(hbTrId(
hgs
parents:
diff changeset
   270
                    "txt_device_update_info_security_info_access_denied"));
hgs
parents:
diff changeset
   271
            msgBox->setTimeout(HbDialog::NoTimeout);
hgs
parents:
diff changeset
   272
            msgBox->setDismissPolicy(HbDialog::NoDismiss);
hgs
parents:
diff changeset
   273
hgs
parents:
diff changeset
   274
            HbAction *action = (HbAction*) (msgBox->actions().at(0));
hgs
parents:
diff changeset
   275
            QObject::connect(action, SIGNAL(triggered()), this,
hgs
parents:
diff changeset
   276
                    SLOT(onCancelSelected()));
hgs
parents:
diff changeset
   277
hgs
parents:
diff changeset
   278
            msgBox->show();
hgs
parents:
diff changeset
   279
            }
hgs
parents:
diff changeset
   280
        else
hgs
parents:
diff changeset
   281
            {
hgs
parents:
diff changeset
   282
            LOGSTRING2( "tries left %i", estbTrustCount );
hgs
parents:
diff changeset
   283
            //Code didnot match.
hgs
parents:
diff changeset
   284
            HbDocumentLoader loader;
hgs
parents:
diff changeset
   285
            bool ok = false;
hgs
parents:
diff changeset
   286
            loader.load(":/xml/InputDialog.docml", &ok);
hgs
parents:
diff changeset
   287
            if (!ok)
hgs
parents:
diff changeset
   288
                {
hgs
parents:
diff changeset
   289
                return;
hgs
parents:
diff changeset
   290
                }
hgs
parents:
diff changeset
   291
hgs
parents:
diff changeset
   292
            mdialog = qobject_cast<HbDialog *> (loader.findWidget("dialog"));
hgs
parents:
diff changeset
   293
hgs
parents:
diff changeset
   294
            //set heading content
hgs
parents:
diff changeset
   295
            HbLabel *contentheading = qobject_cast<HbLabel *> (
hgs
parents:
diff changeset
   296
                    loader.findWidget("qtl_dialog_pri_heading"));
hgs
parents:
diff changeset
   297
            contentheading->setTextWrapping(Hb::TextWordWrap);
hgs
parents:
diff changeset
   298
            QString heading(hbTrId(
hgs
parents:
diff changeset
   299
                    "txt_device_update_title_security_information"));
hgs
parents:
diff changeset
   300
            contentheading->setPlainText(heading);
hgs
parents:
diff changeset
   301
hgs
parents:
diff changeset
   302
            //set label
hgs
parents:
diff changeset
   303
            HbLabel *contentlabel = qobject_cast<HbLabel *> (
hgs
parents:
diff changeset
   304
                    loader.findWidget("HeadingLabel"));
hgs
parents:
diff changeset
   305
            QString
hgs
parents:
diff changeset
   306
                    label(
hgs
parents:
diff changeset
   307
                            (hbTrId(
hgs
parents:
diff changeset
   308
                                    "txt_device_update_info_security_information_did_no").arg(
hgs
parents:
diff changeset
   309
                                    estbTrustCount)));
hgs
parents:
diff changeset
   310
hgs
parents:
diff changeset
   311
            contentlabel->setTextWrapping(Hb::TextWordWrap);
hgs
parents:
diff changeset
   312
            contentlabel->setPlainText(label);
hgs
parents:
diff changeset
   313
hgs
parents:
diff changeset
   314
            mContentEdit = qobject_cast<HbLineEdit*> (loader.findWidget(
hgs
parents:
diff changeset
   315
                    "InputLine"));
hgs
parents:
diff changeset
   316
            mContentEdit->setMaxLength(KMaxCodeLength);
hgs
parents:
diff changeset
   317
hgs
parents:
diff changeset
   318
            mdialog->setTimeout(HbPopup::NoTimeout);
hgs
parents:
diff changeset
   319
            mdialog->setDismissPolicy(HbPopup::NoDismiss);
hgs
parents:
diff changeset
   320
hgs
parents:
diff changeset
   321
            HbAction* primaryAction = qobject_cast<HbAction*> (
hgs
parents:
diff changeset
   322
                    mdialog->actions().at(0));
hgs
parents:
diff changeset
   323
            HbAction *secondaryAction = qobject_cast<HbAction*> (
hgs
parents:
diff changeset
   324
                    mdialog->actions().at(1));
hgs
parents:
diff changeset
   325
            primaryAction->setEnabled(false);
hgs
parents:
diff changeset
   326
hgs
parents:
diff changeset
   327
            QObject::connect(primaryAction, SIGNAL(triggered()), this,
hgs
parents:
diff changeset
   328
                    SLOT(establishTrust()));
hgs
parents:
diff changeset
   329
            QObject::connect(secondaryAction, SIGNAL(triggered()), this,
hgs
parents:
diff changeset
   330
                    SLOT(cancelTrust()));
hgs
parents:
diff changeset
   331
            QObject::connect(mContentEdit, SIGNAL(contentsChanged()), this,
hgs
parents:
diff changeset
   332
                    SLOT(codeTextChanged()));
hgs
parents:
diff changeset
   333
hgs
parents:
diff changeset
   334
            if (mdialog)
hgs
parents:
diff changeset
   335
                mdialog->show();
hgs
parents:
diff changeset
   336
            }
hgs
parents:
diff changeset
   337
        }
hgs
parents:
diff changeset
   338
    LOGSTRING( "- establishTrust -" );
hgs
parents:
diff changeset
   339
    }
hgs
parents:
diff changeset
   340
hgs
parents:
diff changeset
   341
hgs
parents:
diff changeset
   342
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   343
// PolicyEngineUI::cancelTrust()
hgs
parents:
diff changeset
   344
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   345
void PolicyEngineUI::cancelTrust()
hgs
parents:
diff changeset
   346
    {
hgs
parents:
diff changeset
   347
    LOGSTRING( "+ cancelTrust +" );
hgs
parents:
diff changeset
   348
    //Reset the counter.
hgs
parents:
diff changeset
   349
    estbTrustCount = 0;
hgs
parents:
diff changeset
   350
hgs
parents:
diff changeset
   351
    QVariantMap result;
hgs
parents:
diff changeset
   352
    result.insert("keyResponse", -1);
hgs
parents:
diff changeset
   353
    emit
hgs
parents:
diff changeset
   354
    deviceDialogData(result);
hgs
parents:
diff changeset
   355
hgs
parents:
diff changeset
   356
    emit
hgs
parents:
diff changeset
   357
    deviceDialogClosed();
hgs
parents:
diff changeset
   358
    LOGSTRING( "- cancelTrust -" );
hgs
parents:
diff changeset
   359
    }
hgs
parents:
diff changeset
   360
hgs
parents:
diff changeset
   361
hgs
parents:
diff changeset
   362
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   363
// PolicyEngineUI::setDeviceDialogParameters()
hgs
parents:
diff changeset
   364
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   365
bool PolicyEngineUI::setDeviceDialogParameters(const QVariantMap &parameters)
hgs
parents:
diff changeset
   366
    {
hgs
parents:
diff changeset
   367
	Q_UNUSED(parameters);
hgs
parents:
diff changeset
   368
    LOGSTRING( "+ setDeviceDialogParameters +" );
hgs
parents:
diff changeset
   369
    return true;
hgs
parents:
diff changeset
   370
    }
hgs
parents:
diff changeset
   371
hgs
parents:
diff changeset
   372
hgs
parents:
diff changeset
   373
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   374
// PolicyEngineUI::deviceDialogError()
hgs
parents:
diff changeset
   375
// Get error
hgs
parents:
diff changeset
   376
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   377
int PolicyEngineUI::deviceDialogError() const
hgs
parents:
diff changeset
   378
    {
hgs
parents:
diff changeset
   379
    LOGSTRING( "+ deviceDialogError +" );
hgs
parents:
diff changeset
   380
    return 0;
hgs
parents:
diff changeset
   381
    }
hgs
parents:
diff changeset
   382
hgs
parents:
diff changeset
   383
hgs
parents:
diff changeset
   384
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   385
// PolicyEngineUI::PolicyEngineUI()
hgs
parents:
diff changeset
   386
// Close device dialog
hgs
parents:
diff changeset
   387
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   388
void PolicyEngineUI::closeDeviceDialog(bool byClient)
hgs
parents:
diff changeset
   389
    {
hgs
parents:
diff changeset
   390
	Q_UNUSED(byClient);
hgs
parents:
diff changeset
   391
    LOGSTRING( "+ closeDeviceDialog +" );
hgs
parents:
diff changeset
   392
    close();
hgs
parents:
diff changeset
   393
    }
hgs
parents:
diff changeset
   394
hgs
parents:
diff changeset
   395
hgs
parents:
diff changeset
   396
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   397
// PolicyEngineUI::PolicyEngineUI()
hgs
parents:
diff changeset
   398
// Return display widget
hgs
parents:
diff changeset
   399
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   400
HbDialog *PolicyEngineUI::deviceDialogWidget() const
hgs
parents:
diff changeset
   401
    {
hgs
parents:
diff changeset
   402
    LOGSTRING( "+ deviceDialogWidget +" );
hgs
parents:
diff changeset
   403
    return const_cast<PolicyEngineUI*> (this);
hgs
parents:
diff changeset
   404
    }
hgs
parents:
diff changeset
   405
hgs
parents:
diff changeset
   406
hgs
parents:
diff changeset
   407
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   408
// PolicyEngineUI::PolicyEngineUI()
hgs
parents:
diff changeset
   409
// Verify the user entered code
hgs
parents:
diff changeset
   410
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   411
bool PolicyEngineUI::verifyFingerPrint()
hgs
parents:
diff changeset
   412
    {
hgs
parents:
diff changeset
   413
    LOGSTRING( "+ verifyFingerPrint +" );
hgs
parents:
diff changeset
   414
hgs
parents:
diff changeset
   415
    QString enteredCode = mContentEdit->text();
hgs
parents:
diff changeset
   416
    TBuf<10> buffer(enteredCode.utf16());
hgs
parents:
diff changeset
   417
hgs
parents:
diff changeset
   418
    LOGSTRING2( "User entered code %i", &buffer);
hgs
parents:
diff changeset
   419
    LOGSTRING2( "User entered code %S", &buffer);
hgs
parents:
diff changeset
   420
hgs
parents:
diff changeset
   421
    if (enteredCode.compare(iFingerprint, Qt::CaseInsensitive) == 0)
hgs
parents:
diff changeset
   422
    {
hgs
parents:
diff changeset
   423
        LOGSTRING( "+ fingerprint MATCH !!!! +" );
hgs
parents:
diff changeset
   424
        return true;
hgs
parents:
diff changeset
   425
    }
hgs
parents:
diff changeset
   426
    else
hgs
parents:
diff changeset
   427
    {
hgs
parents:
diff changeset
   428
        LOGSTRING( "+  fingerprint DOESNOT MATCH  +" );
hgs
parents:
diff changeset
   429
        return false;
hgs
parents:
diff changeset
   430
    }
hgs
parents:
diff changeset
   431
    }
hgs
parents:
diff changeset
   432
hgs
parents:
diff changeset
   433
hgs
parents:
diff changeset
   434
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   435
// PolicyEngineUI::codeTextChanged()
hgs
parents:
diff changeset
   436
// checks the entered text length and enables the OK option accordingly.
hgs
parents:
diff changeset
   437
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   438
void PolicyEngineUI::codeTextChanged()
hgs
parents:
diff changeset
   439
    {
hgs
parents:
diff changeset
   440
    QString str = mContentEdit->text();
hgs
parents:
diff changeset
   441
hgs
parents:
diff changeset
   442
    if (str.length() >= KMaxCodeLength)
hgs
parents:
diff changeset
   443
        mdialog->actions().at(0)->setEnabled(true);
hgs
parents:
diff changeset
   444
    else
hgs
parents:
diff changeset
   445
        mdialog->actions().at(0)->setEnabled(false);
hgs
parents:
diff changeset
   446
    }