diff -r aad866c37519 -r cc1cea6aabaf pkiutilities/untrustedcertificatedialog/tsrc/tlsconntest/tlsconnectionapp.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkiutilities/untrustedcertificatedialog/tsrc/tlsconntest/tlsconnectionapp.cpp Thu Jun 24 12:46:20 2010 +0300 @@ -0,0 +1,197 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Secure connections test application +* +*/ + +#include "tlsconnectionapp.h" +#include "tlsconnection.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +TlsConnectionApplication::TlsConnectionApplication(int& aArgc, char* aArgv[]) + : HbApplication(aArgc, aArgv), mMainWindow(0), mMainView(0), mHost(0), + mPort(0), mOpeningDelay(0), mStatusLabel(0), mConnection(0) +{ + qDebug() << "TLStest TlsConnectionApplication begin"; + + mMainWindow = new HbMainWindow(); + mMainView = new HbView(); + mMainView->setTitle(tr("TLS Test")); + + QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical); + + mHost = new HbComboBox; + QStringList defaultHosts; + defaultHosts << "www.nokia.com" + << "www.f-secure.com" + << "www.google.fi" + << "www.tut.fi"; + mHost->addItems(defaultHosts); + connect(mHost, SIGNAL(editingFinished()), this, SLOT(addHostName())); + mHost->setEditable(true); + layout->addItem(mHost); + + mPort = new HbLineEdit(tr("Port?")); + mPort->setText(tr("443")); + layout->addItem(mPort); + + mOpeningDelay = new HbLineEdit(tr("Opening delay?")); + mOpeningDelay->setText(tr("0")); + layout->addItem(mOpeningDelay); + + mStatusLabel = new HbLabel(tr("Inactive")); + layout->addItem(mStatusLabel); + + HbPushButton *activateButton = new HbPushButton(tr("Run Test")); + connect(activateButton, SIGNAL(clicked()), this, SLOT(runTestPressed())); + layout->addItem(activateButton); + + HbPushButton *closeButton = new HbPushButton("Close"); + connect(closeButton, SIGNAL(clicked()), qApp, SLOT(quit())); + layout->addItem(closeButton); + + mMainView->setLayout(layout); + mMainWindow->addView(mMainView); + mMainWindow->show(); + + qDebug() << "TLStest TlsConnectionApplication end"; +} + +TlsConnectionApplication::~TlsConnectionApplication() +{ + qDebug() << "TLStest ~TlsConnectionApplication begin"; + + delete mConnection; + delete mMainView; + delete mMainWindow; + + qDebug() << "TLStest ~TlsConnectionApplication end"; +} + +void TlsConnectionApplication::HandleNetworkEvent( TTlsConnectionState aEvent, TInt aError ) +{ + switch( aEvent ) { + case ENotInitialized: + showProgress( tr("NotInitialized"), aError ); + break; + case EDisconnected: + showProgress( tr("Disconnected"), aError ); + break; + case EIdle: + showProgress( tr("Idle"), aError ); + break; + case EConnectingNetwork: + showProgress( tr("ConnectingNetwork"), aError ); + break; + case EOpeningDelay: + showProgress( tr("OpeningDelay"), aError ); + break; + case EResolvingHostName: + showProgress( tr("ResolvingHostName"), aError ); + break; + case EConnectingServer: + showProgress( tr("ConnectingServer"), aError ); + break; + case EHandshaking: + showProgress( tr("Handshaking"), aError ); + break; + case EConnecting: + showProgress( tr("Connecting"), aError ); + break; + case ESending: + showProgress( tr("Sending"), aError ); + break; + case EReading: + showProgress( tr("Reading"), aError ); + break; + case EAllDone: + showProgress( tr("AllDone"), aError ); + break; + default: + showProgress( tr("unknown"), aError ); + break; + } +} + +void TlsConnectionApplication::HandleTransferData( const TDesC8& /*aData*/, TInt aLength ) +{ + qDebug() << "TLStest HandleTransferData, length:" << aLength; +} + +void TlsConnectionApplication::runTestPressed() +{ + qDebug() << "TLStest runTestPressed begin"; + + if (mConnection) { + delete mConnection; + mConnection = NULL; + } + + TPtrC host( reinterpret_cast( mHost->currentText().constData() )); + TInt port = getInt(mPort->text(), 443); + TInt delay = getInt(mOpeningDelay->text(), 0); + qDebug() << "TLStest runTestPressed host:" << mHost->currentText() << "port" << port << "delay" << delay; + TRAPD( err, mConnection = CTlsConnection::NewL( *this ) ); + qDebug() << "TLStest runTestPressed err:" << err; + if( !err ) { + qDebug() << "TLStest runTestPressed CTlsConnection created, connecting"; + TRAP( err, mConnection->ConnectL( host, port, delay ) ); + qDebug() << "TLStest runTestPressed err:" << err; + } + + qDebug() << "TLStest runTestPressed end"; +} + +void TlsConnectionApplication::addHostName() +{ + QString newHostName = mHost->currentText(); + mHost->addItem(newHostName); +} + +void TlsConnectionApplication::showProgress(const QString& aStep, int aError) +{ + qDebug() << "TLStest showProgress step" << aStep << "error" << aError; + if (mStatusLabel) { + if (!aError) { + mStatusLabel->setPlainText(aStep); + } else { + QString msg(aStep); + msg.append(tr(" error %1").arg(aError)); + mStatusLabel->setPlainText(msg); + } + } +} + +TInt TlsConnectionApplication::getInt(const QString& aString, int defaultValue) +{ + qDebug() << "TLStest getInt" << aString << "defaultValue" << defaultValue; + + bool ok = false; + TInt value = aString.toInt(&ok, 10); + if (!ok) { + value = defaultValue; + } + + qDebug() << "TLStest getInt returns " << value; + return value; +}