eapol/eapol_framework/eapol_symbian/eap_if/src/REapSession.cpp
author hgs
Thu, 16 Sep 2010 13:07:04 +0300
changeset 49 43351a4f2da3
parent 34 ad1f037f1ac2
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2001-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
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
/*
49
hgs
parents: 34
diff changeset
    19
* %version: 35 %
26
hgs
parents:
diff changeset
    20
*/
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include "REapSession.h"
hgs
parents:
diff changeset
    23
#include <e32base.h>
hgs
parents:
diff changeset
    24
#include "EapTraceSymbian.h"
hgs
parents:
diff changeset
    25
#include "EapCoreInterfaceImplementation.h"
hgs
parents:
diff changeset
    26
#include "EapServerStrings.h"
hgs
parents:
diff changeset
    27
#include "eap_automatic_variable.h"
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
//----------------------------------------------------------------
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
void Panic(TInt aPanic)
hgs
parents:
diff changeset
    32
    {
hgs
parents:
diff changeset
    33
    _LIT(KPanicCategory,"Eapol Client");
hgs
parents:
diff changeset
    34
    User::Panic(KPanicCategory, aPanic);
hgs
parents:
diff changeset
    35
    }
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
//----------------------------------------------------------------
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
TVersion REapSession::Version() const
hgs
parents:
diff changeset
    40
    {
hgs
parents:
diff changeset
    41
    return( TVersion(
hgs
parents:
diff changeset
    42
            KEapMajorVersionNumber,
hgs
parents:
diff changeset
    43
            KEapMinorVersionNumber,
hgs
parents:
diff changeset
    44
            KEapBuildVersionNumber ) );
hgs
parents:
diff changeset
    45
    }
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
//----------------------------------------------------------------
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
EAP_FUNC_EXPORT REapSession::~REapSession()
hgs
parents:
diff changeset
    50
{
hgs
parents:
diff changeset
    51
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
    52
		iTools,
hgs
parents:
diff changeset
    53
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
    54
		(EAPL("REapSession::~REapSession()\n")));
hgs
parents:
diff changeset
    55
hgs
parents:
diff changeset
    56
	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::~REapSession()");
hgs
parents:
diff changeset
    57
hgs
parents:
diff changeset
    58
	delete iEapMessageQueue;
hgs
parents:
diff changeset
    59
	iEapMessageQueue = 0;
hgs
parents:
diff changeset
    60
}
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
//----------------------------------------------------------------
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
EAP_FUNC_EXPORT void REapSession::ConnectL(
hgs
parents:
diff changeset
    65
	abs_eap_am_tools_c * const tools,
hgs
parents:
diff changeset
    66
	MSendPacketHandler * Client,
hgs
parents:
diff changeset
    67
	TBuf<KMaxServerExe> ServerName,
hgs
parents:
diff changeset
    68
	TBuf<KMaxServerExe> ServerExe,
hgs
parents:
diff changeset
    69
	const void * const aConfigurationData,
hgs
parents:
diff changeset
    70
	const TInt aConfigurationDataLength,
hgs
parents:
diff changeset
    71
	const TEapRequests aIfRequest)
hgs
parents:
diff changeset
    72
{
hgs
parents:
diff changeset
    73
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
    74
		tools,
hgs
parents:
diff changeset
    75
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
    76
		(EAPL("REapSession::ConnectL()\n")));
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
	EAP_TRACE_RETURN_STRING(tools, "returns: REapSession::ConnectL()");
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
	iClient = Client;
hgs
parents:
diff changeset
    81
	iTools = tools;
hgs
parents:
diff changeset
    82
	iEapMessageQueue = new(ELeave) EapMessageQueue(iTools);
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
    85
		iTools,
hgs
parents:
diff changeset
    86
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
    87
		(EAPL("REapSession::ConnectL(): iEapMessageQueue=0x%08x\n"),
hgs
parents:
diff changeset
    88
		iEapMessageQueue));
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
hgs
parents:
diff changeset
    91
	// connect to iServer
hgs
parents:
diff changeset
    92
	TInt error=KErrNone;
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
	TFindServer findServer(ServerName);
hgs
parents:
diff changeset
    96
	TFullName name;
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
	error = findServer.Next( name );
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
	if ( error == KErrNone )
hgs
parents:
diff changeset
   101
	{
hgs
parents:
diff changeset
   102
		// Server already running
hgs
parents:
diff changeset
   103
	}
hgs
parents:
diff changeset
   104
	else
hgs
parents:
diff changeset
   105
	{
hgs
parents:
diff changeset
   106
		error = iServer.Create(ServerExe,KNullDesC);
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
		if (error != KErrNone)
hgs
parents:
diff changeset
   109
		{
hgs
parents:
diff changeset
   110
			EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   111
				iTools,
hgs
parents:
diff changeset
   112
				TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   113
				(EAPL("REapSession::ConnectL(): create iServer error=%d\n"),
hgs
parents:
diff changeset
   114
				error));
hgs
parents:
diff changeset
   115
			User::Leave(error);
hgs
parents:
diff changeset
   116
		}
hgs
parents:
diff changeset
   117
hgs
parents:
diff changeset
   118
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   119
			iTools,
hgs
parents:
diff changeset
   120
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   121
			(EAPL("REapSession::ConnectL(): iServer successfully created\n")));
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   124
			iTools,
hgs
parents:
diff changeset
   125
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   126
			(EAPL("REapSession::ConnectL(): iServer.SetPriority(EPriorityHigh)\n")));
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
		iServer.SetPriority(EPriorityHigh);
hgs
parents:
diff changeset
   129
hgs
parents:
diff changeset
   130
		TRequestStatus stat;
hgs
parents:
diff changeset
   131
hgs
parents:
diff changeset
   132
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   133
			iTools,
hgs
parents:
diff changeset
   134
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   135
			(EAPL("REapSession::ConnectL(): iServer.Rendezvous\n")));
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
		iServer.Rendezvous( stat );
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   140
			iTools,
hgs
parents:
diff changeset
   141
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   142
			(EAPL("REapSession::ConnectL(): iServer.Rendezvous stat = %d\n"),
hgs
parents:
diff changeset
   143
			stat.Int()));
hgs
parents:
diff changeset
   144
hgs
parents:
diff changeset
   145
		if ( stat!=KRequestPending )
hgs
parents:
diff changeset
   146
		{
hgs
parents:
diff changeset
   147
			iServer.Kill(0);     // abort startup
hgs
parents:
diff changeset
   148
hgs
parents:
diff changeset
   149
			EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   150
				iTools,
hgs
parents:
diff changeset
   151
				TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   152
				(EAPL("ERROR: REapSession::ConnectL(): iServer killed\n")));
hgs
parents:
diff changeset
   153
		}
hgs
parents:
diff changeset
   154
		else
hgs
parents:
diff changeset
   155
		{
hgs
parents:
diff changeset
   156
			iServer.Resume();    // logon OK - start the iServer
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
			EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   159
				iTools,
hgs
parents:
diff changeset
   160
				TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   161
				(EAPL("REapSession::ConnectL(): iServer started OK\n")));
hgs
parents:
diff changeset
   162
		}
hgs
parents:
diff changeset
   163
hgs
parents:
diff changeset
   164
hgs
parents:
diff changeset
   165
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   166
			iTools,
hgs
parents:
diff changeset
   167
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   168
			(EAPL("REapSession::ConnectL(): WaitForRequest\n")));
hgs
parents:
diff changeset
   169
hgs
parents:
diff changeset
   170
		User::WaitForRequest(stat);
hgs
parents:
diff changeset
   171
hgs
parents:
diff changeset
   172
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   173
			iTools,
hgs
parents:
diff changeset
   174
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   175
			(EAPL("REapSession::ConnectL(): WaitForRequest got, stat.Int()=%d\n"),
hgs
parents:
diff changeset
   176
			stat.Int()));
hgs
parents:
diff changeset
   177
hgs
parents:
diff changeset
   178
		error = ( iServer.ExitType()==EExitPanic ) ? KErrGeneral : stat.Int();
hgs
parents:
diff changeset
   179
		iServer.Close();
hgs
parents:
diff changeset
   180
hgs
parents:
diff changeset
   181
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   182
			iTools,
hgs
parents:
diff changeset
   183
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   184
			(EAPL("REapSession::ConnectL(): Server closed, error=%d\n"),
hgs
parents:
diff changeset
   185
			error));
hgs
parents:
diff changeset
   186
	}
hgs
parents:
diff changeset
   187
hgs
parents:
diff changeset
   188
hgs
parents:
diff changeset
   189
	// create active object receive handler and add it to scheduler
hgs
parents:
diff changeset
   190
	CleanupClosePushL(*this);  // Close if next operations leave
hgs
parents:
diff changeset
   191
hgs
parents:
diff changeset
   192
	User::LeaveIfError(error);
hgs
parents:
diff changeset
   193
hgs
parents:
diff changeset
   194
	iSendHandler = new (ELeave) CSendHandler(iTools, *this); //*aHandler,
hgs
parents:
diff changeset
   195
	CActiveScheduler::Add(iSendHandler);
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
	iProcessHandler = new (ELeave) CEapClientProcessHandler(iTools, *this); //*aHandler,
hgs
parents:
diff changeset
   198
	CleanupStack::Pop(this);
hgs
parents:
diff changeset
   199
	CActiveScheduler::Add(iProcessHandler);
hgs
parents:
diff changeset
   200
hgs
parents:
diff changeset
   201
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   202
		iTools,
hgs
parents:
diff changeset
   203
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   204
		(EAPL("REapSession::ConnectL(): calls CreateSession()\n")));
hgs
parents:
diff changeset
   205
hgs
parents:
diff changeset
   206
	error = CreateSession(ServerName,Version(), KMaxEapMessageSlots);
hgs
parents:
diff changeset
   207
hgs
parents:
diff changeset
   208
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   209
		iTools,
hgs
parents:
diff changeset
   210
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   211
		(EAPL("REapSession::ConnectL(): CreateSession(), error=%d\n"),
hgs
parents:
diff changeset
   212
		error));
hgs
parents:
diff changeset
   213
hgs
parents:
diff changeset
   214
	if (error != KErrNone)
hgs
parents:
diff changeset
   215
	{
hgs
parents:
diff changeset
   216
		User::Leave(error);
hgs
parents:
diff changeset
   217
	}
hgs
parents:
diff changeset
   218
hgs
parents:
diff changeset
   219
	EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::ConnectL(): calls process_data(%d)"),
hgs
parents:
diff changeset
   220
		aIfRequest));
hgs
parents:
diff changeset
   221
hgs
parents:
diff changeset
   222
	eap_status_e status = process_data(aIfRequest, aConfigurationData, aConfigurationDataLength);
hgs
parents:
diff changeset
   223
hgs
parents:
diff changeset
   224
	EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::ConnectL(): process_data(%d) returns status=%d, iStatus.Int()=%d"),
hgs
parents:
diff changeset
   225
		aIfRequest,
hgs
parents:
diff changeset
   226
		status,
hgs
parents:
diff changeset
   227
		iStatus.Int()));
hgs
parents:
diff changeset
   228
hgs
parents:
diff changeset
   229
	EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::ConnectL(): calls iSendHandler->Receive()")));
hgs
parents:
diff changeset
   230
hgs
parents:
diff changeset
   231
	iSendHandler->Receive();
hgs
parents:
diff changeset
   232
}
hgs
parents:
diff changeset
   233
hgs
parents:
diff changeset
   234
//----------------------------------------------------------------
hgs
parents:
diff changeset
   235
hgs
parents:
diff changeset
   236
EAP_FUNC_EXPORT void REapSession::Close()
hgs
parents:
diff changeset
   237
	{
hgs
parents:
diff changeset
   238
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   239
		iTools,
hgs
parents:
diff changeset
   240
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   241
		(EAPL("REapSession::Close()\n")));
hgs
parents:
diff changeset
   242
hgs
parents:
diff changeset
   243
	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::Close()");
hgs
parents:
diff changeset
   244
hgs
parents:
diff changeset
   245
	// destroy receiver-handler
hgs
parents:
diff changeset
   246
	delete iSendHandler;
hgs
parents:
diff changeset
   247
	iSendHandler = 0;
hgs
parents:
diff changeset
   248
hgs
parents:
diff changeset
   249
	delete iProcessHandler;
hgs
parents:
diff changeset
   250
	iProcessHandler = 0;
hgs
parents:
diff changeset
   251
hgs
parents:
diff changeset
   252
	// destroy iServer session
hgs
parents:
diff changeset
   253
	iServer.Close();
hgs
parents:
diff changeset
   254
	RSessionBase::Close();
hgs
parents:
diff changeset
   255
	}
hgs
parents:
diff changeset
   256
hgs
parents:
diff changeset
   257
//----------------------------------------------------------------
hgs
parents:
diff changeset
   258
hgs
parents:
diff changeset
   259
/**
hgs
parents:
diff changeset
   260
 * From eap_am_message_if_c 
hgs
parents:
diff changeset
   261
 * Initialize interface to EAPOL or WAPI.
hgs
parents:
diff changeset
   262
 * @since S60 v9.2
hgs
parents:
diff changeset
   263
 */
hgs
parents:
diff changeset
   264
hgs
parents:
diff changeset
   265
EAP_FUNC_EXPORT bool REapSession::get_is_valid()
hgs
parents:
diff changeset
   266
    {
hgs
parents:
diff changeset
   267
    EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::get_is_valid")));           
hgs
parents:
diff changeset
   268
	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::get_is_valid()");
hgs
parents:
diff changeset
   269
hgs
parents:
diff changeset
   270
    return ETrue;    
hgs
parents:
diff changeset
   271
    }
hgs
parents:
diff changeset
   272
hgs
parents:
diff changeset
   273
//----------------------------------------------------------------
hgs
parents:
diff changeset
   274
hgs
parents:
diff changeset
   275
/// Function receives the data message from lower layer.
hgs
parents:
diff changeset
   276
/// Data is formatted to Attribute-Value Pairs.
hgs
parents:
diff changeset
   277
/// Look at eap_tlv_header_c and eap_tlv_message_data_c.
hgs
parents:
diff changeset
   278
EAP_FUNC_EXPORT eap_status_e REapSession::process_data(const TEapRequests aMessageType, const void * const data, const u32_t length)
hgs
parents:
diff changeset
   279
    {
hgs
parents:
diff changeset
   280
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   281
		iTools,
hgs
parents:
diff changeset
   282
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   283
		(EAPL("REapSession::process_data(): calls iEapMessageQueue->AddMessage(): iEapMessageQueue=0x%08x\n"),
hgs
parents:
diff changeset
   284
		iEapMessageQueue));
hgs
parents:
diff changeset
   285
hgs
parents:
diff changeset
   286
	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::process_data()");
hgs
parents:
diff changeset
   287
49
hgs
parents: 34
diff changeset
   288
	EAP_TRACE_DATA_DEBUG(
hgs
parents: 34
diff changeset
   289
		iTools,
hgs
parents: 34
diff changeset
   290
		EAP_TRACE_FLAGS_NEVER,
hgs
parents: 34
diff changeset
   291
		(EAPL("REapSession::process_data()"),
hgs
parents: 34
diff changeset
   292
		data,
hgs
parents: 34
diff changeset
   293
		length));
hgs
parents: 34
diff changeset
   294
26
hgs
parents:
diff changeset
   295
	TInt error = iEapMessageQueue->AddMessage(aMessageType, data, length);
hgs
parents:
diff changeset
   296
hgs
parents:
diff changeset
   297
	if (error != KErrNone)
hgs
parents:
diff changeset
   298
	{
hgs
parents:
diff changeset
   299
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   300
			iTools,
hgs
parents:
diff changeset
   301
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   302
			(EAPL("ERROR: REapSession::process_data(): failed = %d\n"),
hgs
parents:
diff changeset
   303
			error));
hgs
parents:
diff changeset
   304
		return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error));
hgs
parents:
diff changeset
   305
	}
hgs
parents:
diff changeset
   306
hgs
parents:
diff changeset
   307
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   308
		iTools,
hgs
parents:
diff changeset
   309
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   310
		(EAPL("REapSession::process_data(): calls iProcessHandler->Activate(): iProcessHandler=0x%08x\n"),
hgs
parents:
diff changeset
   311
		iProcessHandler));
hgs
parents:
diff changeset
   312
hgs
parents:
diff changeset
   313
	iProcessHandler->Activate();
hgs
parents:
diff changeset
   314
hgs
parents:
diff changeset
   315
    return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error));
hgs
parents:
diff changeset
   316
    }
hgs
parents:
diff changeset
   317
hgs
parents:
diff changeset
   318
//----------------------------------------------------------------
hgs
parents:
diff changeset
   319
hgs
parents:
diff changeset
   320
void REapSession::Receive(TDes8& aBuffer, TRequestStatus& aStatus)
hgs
parents:
diff changeset
   321
    {
hgs
parents:
diff changeset
   322
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   323
		iTools,
hgs
parents:
diff changeset
   324
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   325
		(EAPL("REapSession::Receive()\n")));
hgs
parents:
diff changeset
   326
hgs
parents:
diff changeset
   327
	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::Receive()");
hgs
parents:
diff changeset
   328
hgs
parents:
diff changeset
   329
    TIpcArgs args( &aBuffer );
hgs
parents:
diff changeset
   330
hgs
parents:
diff changeset
   331
    SendReceive( EEapIfReqReceive, args, aStatus );
hgs
parents:
diff changeset
   332
    }
hgs
parents:
diff changeset
   333
hgs
parents:
diff changeset
   334
//----------------------------------------------------------------
hgs
parents:
diff changeset
   335
hgs
parents:
diff changeset
   336
void REapSession::CancelReceive()
hgs
parents:
diff changeset
   337
    {
hgs
parents:
diff changeset
   338
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   339
		iTools,
hgs
parents:
diff changeset
   340
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   341
		(EAPL("REapSession::CancelReceive()\n")));
hgs
parents:
diff changeset
   342
hgs
parents:
diff changeset
   343
	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::CancelReceive()");
hgs
parents:
diff changeset
   344
hgs
parents:
diff changeset
   345
    SendReceive(EEapIfCancelReceive, iStatus);
hgs
parents:
diff changeset
   346
    }
hgs
parents:
diff changeset
   347
hgs
parents:
diff changeset
   348
//----------------------------------------------------------------
hgs
parents:
diff changeset
   349
hgs
parents:
diff changeset
   350
const EapMessageBuffer * REapSession::GetFirstMessage()
hgs
parents:
diff changeset
   351
{
hgs
parents:
diff changeset
   352
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   353
		iTools,
hgs
parents:
diff changeset
   354
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   355
		(EAPL("REapSession::GetFirstMessage()\n")));
hgs
parents:
diff changeset
   356
hgs
parents:
diff changeset
   357
	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::GetFirstMessage()");
hgs
parents:
diff changeset
   358
hgs
parents:
diff changeset
   359
	return iEapMessageQueue->GetFirstMessage();
hgs
parents:
diff changeset
   360
}
hgs
parents:
diff changeset
   361
hgs
parents:
diff changeset
   362
//----------------------------------------------------------------
hgs
parents:
diff changeset
   363
hgs
parents:
diff changeset
   364
TInt REapSession::DeleteFirstMessage()
hgs
parents:
diff changeset
   365
{
hgs
parents:
diff changeset
   366
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   367
		iTools,
hgs
parents:
diff changeset
   368
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   369
		(EAPL("REapSession::DeleteFirstMessage()\n")));
hgs
parents:
diff changeset
   370
hgs
parents:
diff changeset
   371
	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::DeleteFirstMessage()");
hgs
parents:
diff changeset
   372
hgs
parents:
diff changeset
   373
	return iEapMessageQueue->DeleteFirstMessage();
hgs
parents:
diff changeset
   374
}
hgs
parents:
diff changeset
   375
hgs
parents:
diff changeset
   376
//----------------------------------------------------------------
hgs
parents:
diff changeset
   377
hgs
parents:
diff changeset
   378
void REapSession::Process(const EapMessageBuffer * const buffer, TRequestStatus &aStatus) const
hgs
parents:
diff changeset
   379
{
hgs
parents:
diff changeset
   380
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   381
		iTools,
hgs
parents:
diff changeset
   382
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   383
		(EAPL("REapSession::Process(): calls SendReceive(), aRequestType=%d=%s\n"),
hgs
parents:
diff changeset
   384
		buffer->GetRequestType(),
hgs
parents:
diff changeset
   385
		EapServerStrings::GetEapRequestsString(buffer->GetRequestType())));
hgs
parents:
diff changeset
   386
hgs
parents:
diff changeset
   387
	EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::Process()");
hgs
parents:
diff changeset
   388
hgs
parents:
diff changeset
   389
	TIpcArgs args( buffer->GetData() );
hgs
parents:
diff changeset
   390
hgs
parents:
diff changeset
   391
	SendReceive(buffer->GetRequestType(), args, aStatus);
hgs
parents:
diff changeset
   392
hgs
parents:
diff changeset
   393
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   394
		iTools,
hgs
parents:
diff changeset
   395
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   396
		(EAPL("REapSession::Process(): end iStatus=%d\n"),
hgs
parents:
diff changeset
   397
		iStatus.Int()));
hgs
parents:
diff changeset
   398
}
hgs
parents:
diff changeset
   399
hgs
parents:
diff changeset
   400
//----------------------------------------------------------------
hgs
parents:
diff changeset
   401
//----------------------------------------------------------------
hgs
parents:
diff changeset
   402
//----------------------------------------------------------------
hgs
parents:
diff changeset
   403
hgs
parents:
diff changeset
   404
/*
hgs
parents:
diff changeset
   405
    CSendHandler
hgs
parents:
diff changeset
   406
*/
hgs
parents:
diff changeset
   407
hgs
parents:
diff changeset
   408
// construct/destruct
hgs
parents:
diff changeset
   409
hgs
parents:
diff changeset
   410
CSendHandler::CSendHandler(
hgs
parents:
diff changeset
   411
	abs_eap_am_tools_c * const tools,
hgs
parents:
diff changeset
   412
	REapSession& aSession)
hgs
parents:
diff changeset
   413
    : CActive(0)
hgs
parents:
diff changeset
   414
	, iTools(tools)
hgs
parents:
diff changeset
   415
	, iSession(aSession)
hgs
parents:
diff changeset
   416
    {
hgs
parents:
diff changeset
   417
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   418
		iTools,
hgs
parents:
diff changeset
   419
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   420
		(EAPL("CSendHandler::CSendHandler()\n")));
hgs
parents:
diff changeset
   421
	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::CSendHandler()");
hgs
parents:
diff changeset
   422
hgs
parents:
diff changeset
   423
    }
hgs
parents:
diff changeset
   424
hgs
parents:
diff changeset
   425
//----------------------------------------------------------------
hgs
parents:
diff changeset
   426
hgs
parents:
diff changeset
   427
CSendHandler::~CSendHandler()
hgs
parents:
diff changeset
   428
    {
hgs
parents:
diff changeset
   429
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   430
		iTools,
hgs
parents:
diff changeset
   431
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   432
		(EAPL("CSendHandler::~CSendHandler()\n")));
hgs
parents:
diff changeset
   433
	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::~CSendHandler()");
hgs
parents:
diff changeset
   434
hgs
parents:
diff changeset
   435
    Cancel();
hgs
parents:
diff changeset
   436
    }
hgs
parents:
diff changeset
   437
hgs
parents:
diff changeset
   438
//----------------------------------------------------------------
hgs
parents:
diff changeset
   439
hgs
parents:
diff changeset
   440
// operation
hgs
parents:
diff changeset
   441
hgs
parents:
diff changeset
   442
void CSendHandler::Receive()
hgs
parents:
diff changeset
   443
    {
hgs
parents:
diff changeset
   444
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   445
		iTools,
hgs
parents:
diff changeset
   446
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   447
		(EAPL("CSendHandler::Receive()\n")));
hgs
parents:
diff changeset
   448
	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::Receive()");
hgs
parents:
diff changeset
   449
hgs
parents:
diff changeset
   450
    iSession.Receive(iBuffer, iStatus);
hgs
parents:
diff changeset
   451
hgs
parents:
diff changeset
   452
	if(!IsActive())
hgs
parents:
diff changeset
   453
		{
hgs
parents:
diff changeset
   454
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   455
			iTools,
hgs
parents:
diff changeset
   456
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   457
			(EAPL("CSendHandler::Receive(): calls SetActive()\n")));
hgs
parents:
diff changeset
   458
hgs
parents:
diff changeset
   459
	    SetActive();
hgs
parents:
diff changeset
   460
		}
hgs
parents:
diff changeset
   461
    }
hgs
parents:
diff changeset
   462
hgs
parents:
diff changeset
   463
//----------------------------------------------------------------
hgs
parents:
diff changeset
   464
hgs
parents:
diff changeset
   465
// from CActive
hgs
parents:
diff changeset
   466
hgs
parents:
diff changeset
   467
void CSendHandler::RunL()
hgs
parents:
diff changeset
   468
{
hgs
parents:
diff changeset
   469
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   470
		iTools,
hgs
parents:
diff changeset
   471
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   472
		(EAPL("CSendHandler::RunL(): iStatus=%d\n"),
hgs
parents:
diff changeset
   473
		iStatus.Int()));
hgs
parents:
diff changeset
   474
	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::RunL()");
hgs
parents:
diff changeset
   475
hgs
parents:
diff changeset
   476
	if (iStatus.Int() == KErrNone)
hgs
parents:
diff changeset
   477
	{
hgs
parents:
diff changeset
   478
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   479
			iTools,
hgs
parents:
diff changeset
   480
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   481
			(EAPL("CSendHandler::RunL(): iStatus = KErrNone, calls send_data()\n")));
hgs
parents:
diff changeset
   482
hgs
parents:
diff changeset
   483
		iSession.iClient->send_data(iBuffer);
hgs
parents:
diff changeset
   484
hgs
parents:
diff changeset
   485
		// initiate next receive
hgs
parents:
diff changeset
   486
		Receive();
hgs
parents:
diff changeset
   487
	}
hgs
parents:
diff changeset
   488
	else if (iStatus.Int() == KErrCancel)
hgs
parents:
diff changeset
   489
	{
hgs
parents:
diff changeset
   490
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   491
			iTools,
hgs
parents:
diff changeset
   492
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   493
			(EAPL("CSendHandler::RunL(): iStatus = KErrCancel, calls Close()\n")));
hgs
parents:
diff changeset
   494
hgs
parents:
diff changeset
   495
		iSession.Close();
hgs
parents:
diff changeset
   496
	}
hgs
parents:
diff changeset
   497
	else
hgs
parents:
diff changeset
   498
	{
hgs
parents:
diff changeset
   499
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   500
			iTools,
hgs
parents:
diff changeset
   501
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   502
			(EAPL("CSendHandler::RunL(): does nothing\n")));
hgs
parents:
diff changeset
   503
hgs
parents:
diff changeset
   504
	}
hgs
parents:
diff changeset
   505
}
hgs
parents:
diff changeset
   506
hgs
parents:
diff changeset
   507
//----------------------------------------------------------------
hgs
parents:
diff changeset
   508
hgs
parents:
diff changeset
   509
void CSendHandler::DoCancel()
hgs
parents:
diff changeset
   510
    {
hgs
parents:
diff changeset
   511
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   512
		iTools,
hgs
parents:
diff changeset
   513
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   514
		(EAPL("CSendHandler::DoCancel()\n")));
hgs
parents:
diff changeset
   515
	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::DoCancel()");
hgs
parents:
diff changeset
   516
hgs
parents:
diff changeset
   517
    iSession.CancelReceive();
hgs
parents:
diff changeset
   518
    }
hgs
parents:
diff changeset
   519
hgs
parents:
diff changeset
   520
//----------------------------------------------------------------------------
hgs
parents:
diff changeset
   521
hgs
parents:
diff changeset
   522
TInt CSendHandler::RunError(TInt aError)
hgs
parents:
diff changeset
   523
{
hgs
parents:
diff changeset
   524
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   525
		iTools,
hgs
parents:
diff changeset
   526
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   527
		(EAPL("CSendHandler::RunError(): aError=%d, this=0x%08x\n"),
hgs
parents:
diff changeset
   528
		aError,
hgs
parents:
diff changeset
   529
		this));
hgs
parents:
diff changeset
   530
	EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::RunError()");
hgs
parents:
diff changeset
   531
hgs
parents:
diff changeset
   532
	Cancel();
hgs
parents:
diff changeset
   533
hgs
parents:
diff changeset
   534
	return aError;
hgs
parents:
diff changeset
   535
}
hgs
parents:
diff changeset
   536
hgs
parents:
diff changeset
   537
//----------------------------------------------------------------
hgs
parents:
diff changeset
   538
//----------------------------------------------------------------
hgs
parents:
diff changeset
   539
//----------------------------------------------------------------
hgs
parents:
diff changeset
   540
34
hgs
parents: 26
diff changeset
   541
void CEapolPacketHandler::EapolHandleL(const TDesC8& /* data */)
26
hgs
parents:
diff changeset
   542
    {
hgs
parents:
diff changeset
   543
    EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapolPacketHandler::EapolHandleL(): (do nothing now)")));           
hgs
parents:
diff changeset
   544
    }
hgs
parents:
diff changeset
   545
hgs
parents:
diff changeset
   546
//----------------------------------------------------------------
hgs
parents:
diff changeset
   547
//----------------------------------------------------------------
hgs
parents:
diff changeset
   548
//----------------------------------------------------------------
hgs
parents:
diff changeset
   549
hgs
parents:
diff changeset
   550
CEapClientProcessHandler::CEapClientProcessHandler(
hgs
parents:
diff changeset
   551
	abs_eap_am_tools_c * const tools,
hgs
parents:
diff changeset
   552
	REapSession& aSession)
hgs
parents:
diff changeset
   553
	: CActive(0)
hgs
parents:
diff changeset
   554
	, iTools(tools)
hgs
parents:
diff changeset
   555
	, iSession(aSession)
hgs
parents:
diff changeset
   556
	, iProcessPending(false)
hgs
parents:
diff changeset
   557
{
hgs
parents:
diff changeset
   558
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   559
		iTools,
hgs
parents:
diff changeset
   560
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   561
		(EAPL("CEapClientProcessHandler::CEapClientProcessHandler()\n")));
hgs
parents:
diff changeset
   562
hgs
parents:
diff changeset
   563
	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::CEapClientProcessHandler()");
hgs
parents:
diff changeset
   564
hgs
parents:
diff changeset
   565
}
hgs
parents:
diff changeset
   566
hgs
parents:
diff changeset
   567
//----------------------------------------------------------------
hgs
parents:
diff changeset
   568
hgs
parents:
diff changeset
   569
CEapClientProcessHandler::~CEapClientProcessHandler()
hgs
parents:
diff changeset
   570
{
hgs
parents:
diff changeset
   571
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   572
		iTools,
hgs
parents:
diff changeset
   573
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   574
		(EAPL("CEapClientProcessHandler::~CEapClientProcessHandler()\n")));
hgs
parents:
diff changeset
   575
hgs
parents:
diff changeset
   576
	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::~CEapClientProcessHandler()");
hgs
parents:
diff changeset
   577
hgs
parents:
diff changeset
   578
	Cancel();
hgs
parents:
diff changeset
   579
}
hgs
parents:
diff changeset
   580
hgs
parents:
diff changeset
   581
//----------------------------------------------------------------
hgs
parents:
diff changeset
   582
hgs
parents:
diff changeset
   583
// from CActive
hgs
parents:
diff changeset
   584
void CEapClientProcessHandler::RunL()
hgs
parents:
diff changeset
   585
{
hgs
parents:
diff changeset
   586
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   587
		iTools,
hgs
parents:
diff changeset
   588
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   589
		(EAPL("=start=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=\n")));
hgs
parents:
diff changeset
   590
hgs
parents:
diff changeset
   591
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   592
		iTools,
hgs
parents:
diff changeset
   593
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   594
		(EAPL("CEapClientProcessHandler::RunL()\n")));
hgs
parents:
diff changeset
   595
hgs
parents:
diff changeset
   596
	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::RunL()");
hgs
parents:
diff changeset
   597
hgs
parents:
diff changeset
   598
	TInt error(KErrNone);
hgs
parents:
diff changeset
   599
hgs
parents:
diff changeset
   600
	if (iProcessPending == true)
hgs
parents:
diff changeset
   601
	{
hgs
parents:
diff changeset
   602
		error = iSession.DeleteFirstMessage();
hgs
parents:
diff changeset
   603
		if (error != KErrNone)
hgs
parents:
diff changeset
   604
		{
hgs
parents:
diff changeset
   605
			EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   606
				iTools,
hgs
parents:
diff changeset
   607
				TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   608
				(EAPL("ERROR: CEapClientProcessHandler::RunL(): iSession.DeleteFirstMessage() failed = %d\n"),
hgs
parents:
diff changeset
   609
				error));
hgs
parents:
diff changeset
   610
hgs
parents:
diff changeset
   611
			User::Leave(error);
hgs
parents:
diff changeset
   612
		}
hgs
parents:
diff changeset
   613
	}
hgs
parents:
diff changeset
   614
hgs
parents:
diff changeset
   615
	const EapMessageBuffer * buffer = iSession.GetFirstMessage();
hgs
parents:
diff changeset
   616
hgs
parents:
diff changeset
   617
	if (buffer != 0)
hgs
parents:
diff changeset
   618
	{
hgs
parents:
diff changeset
   619
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   620
			iTools,
hgs
parents:
diff changeset
   621
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   622
			(EAPL("CEapClientProcessHandler::RunL(): calls SendReceive(), buffer->GetRequestType()=%d=%s\n"),
hgs
parents:
diff changeset
   623
			buffer->GetRequestType(),
hgs
parents:
diff changeset
   624
			EapServerStrings::GetEapRequestsString(buffer->GetRequestType())));
hgs
parents:
diff changeset
   625
hgs
parents:
diff changeset
   626
		TIpcArgs args( buffer->GetData() );
hgs
parents:
diff changeset
   627
hgs
parents:
diff changeset
   628
		iSession.Process( buffer, iStatus );
hgs
parents:
diff changeset
   629
hgs
parents:
diff changeset
   630
		SetActive();
hgs
parents:
diff changeset
   631
hgs
parents:
diff changeset
   632
		iProcessPending = true;
hgs
parents:
diff changeset
   633
	}
hgs
parents:
diff changeset
   634
	else
hgs
parents:
diff changeset
   635
	{
hgs
parents:
diff changeset
   636
		iProcessPending = false;
hgs
parents:
diff changeset
   637
	}
hgs
parents:
diff changeset
   638
hgs
parents:
diff changeset
   639
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   640
		iTools,
hgs
parents:
diff changeset
   641
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   642
		(EAPL("CEapClientProcessHandler::RunL(): end error=%d, iStatus=%d\n"),
hgs
parents:
diff changeset
   643
		error,
hgs
parents:
diff changeset
   644
		iStatus.Int()));
hgs
parents:
diff changeset
   645
hgs
parents:
diff changeset
   646
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   647
		iTools,
hgs
parents:
diff changeset
   648
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   649
		(EAPL("=end=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=\n")));
hgs
parents:
diff changeset
   650
}
hgs
parents:
diff changeset
   651
hgs
parents:
diff changeset
   652
//----------------------------------------------------------------
hgs
parents:
diff changeset
   653
hgs
parents:
diff changeset
   654
void CEapClientProcessHandler::Activate()
hgs
parents:
diff changeset
   655
{
hgs
parents:
diff changeset
   656
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   657
		iTools,
hgs
parents:
diff changeset
   658
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   659
		(EAPL("CEapClientProcessHandler::Activate()\n")));
hgs
parents:
diff changeset
   660
	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::Activate()");
hgs
parents:
diff changeset
   661
hgs
parents:
diff changeset
   662
	if(!IsActive())
hgs
parents:
diff changeset
   663
	{
hgs
parents:
diff changeset
   664
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   665
			iTools,
hgs
parents:
diff changeset
   666
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   667
			(EAPL("CEapClientProcessHandler::Activate(): calls User::RequestComplete()\n")));
hgs
parents:
diff changeset
   668
hgs
parents:
diff changeset
   669
		TRequestStatus* status = &iStatus;
hgs
parents:
diff changeset
   670
		User::RequestComplete(status, KErrNone);
hgs
parents:
diff changeset
   671
hgs
parents:
diff changeset
   672
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   673
			iTools,
hgs
parents:
diff changeset
   674
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   675
			(EAPL("CEapClientProcessHandler::Activate(): calls SetActive()\n")));
hgs
parents:
diff changeset
   676
hgs
parents:
diff changeset
   677
		SetActive();
hgs
parents:
diff changeset
   678
	}
hgs
parents:
diff changeset
   679
	else
hgs
parents:
diff changeset
   680
	{
hgs
parents:
diff changeset
   681
		EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   682
			iTools,
hgs
parents:
diff changeset
   683
			TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   684
			(EAPL("CEapClientProcessHandler::Activate(): Already active.\n")));
hgs
parents:
diff changeset
   685
	}
hgs
parents:
diff changeset
   686
}
hgs
parents:
diff changeset
   687
hgs
parents:
diff changeset
   688
//----------------------------------------------------------------
hgs
parents:
diff changeset
   689
hgs
parents:
diff changeset
   690
void CEapClientProcessHandler::DoCancel()
hgs
parents:
diff changeset
   691
{
hgs
parents:
diff changeset
   692
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   693
		iTools,
hgs
parents:
diff changeset
   694
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   695
		(EAPL("CEapClientProcessHandler::DoCancel()\n")));
hgs
parents:
diff changeset
   696
	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::DoCancel()");
hgs
parents:
diff changeset
   697
}
hgs
parents:
diff changeset
   698
hgs
parents:
diff changeset
   699
//----------------------------------------------------------------------------
hgs
parents:
diff changeset
   700
hgs
parents:
diff changeset
   701
TInt CEapClientProcessHandler::RunError(TInt aError)
hgs
parents:
diff changeset
   702
{
hgs
parents:
diff changeset
   703
	EAP_TRACE_DEBUG(
hgs
parents:
diff changeset
   704
		iTools,
hgs
parents:
diff changeset
   705
		TRACE_FLAGS_DEFAULT,
hgs
parents:
diff changeset
   706
		(EAPL("CEapClientProcessHandler::RunError(): aError=%d, this=0x%08x\n"),
hgs
parents:
diff changeset
   707
		aError,
hgs
parents:
diff changeset
   708
		this));
hgs
parents:
diff changeset
   709
	EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::RunError()");
hgs
parents:
diff changeset
   710
hgs
parents:
diff changeset
   711
	Cancel();
hgs
parents:
diff changeset
   712
hgs
parents:
diff changeset
   713
	return aError;
hgs
parents:
diff changeset
   714
}
hgs
parents:
diff changeset
   715
hgs
parents:
diff changeset
   716
//----------------------------------------------------------------
hgs
parents:
diff changeset
   717
//----------------------------------------------------------------
hgs
parents:
diff changeset
   718
//----------------------------------------------------------------
hgs
parents:
diff changeset
   719
hgs
parents:
diff changeset
   720
/*
hgs
parents:
diff changeset
   721
    DLL harness
hgs
parents:
diff changeset
   722
*/
hgs
parents:
diff changeset
   723
#ifndef EKA2
hgs
parents:
diff changeset
   724
EAP_FUNC_EXPORT TInt E32Dll(TDllReason)
hgs
parents:
diff changeset
   725
    {
hgs
parents:
diff changeset
   726
    return KErrNone;
hgs
parents:
diff changeset
   727
    }
hgs
parents:
diff changeset
   728
#endif
hgs
parents:
diff changeset
   729
hgs
parents:
diff changeset
   730
//----------------------------------------------------------------
hgs
parents:
diff changeset
   731
// end
hgs
parents:
diff changeset
   732