diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerProcessHandler.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerProcessHandler.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,921 +0,0 @@ -/* -* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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: EAP and WLAN authentication protocols. -* -*/ - -/* -* %version: 41 % -*/ - -#include "EapServerProcessHandler.h" -#include "EapTraceSymbian.h" -#if defined(USE_FAST_EAP_TYPE) -#include "PacStoreIf.h" -#endif //#if defined(USE_FAST_EAP_TYPE) -#include "EapServerStrings.h" -#include "eap_automatic_variable.h" - -//---------------------------------------------------------------------------- - -CEapServerProcessHandler::CEapServerProcessHandler() -: CActive (0) -, iClient(0) -, iTools(0) -, iEapCore(0) -, iEapPlugin(0) -, iEapSettings(0) -#if defined (USE_WAPI_CORE) -, iWapiCore(0) -, iWapiSettings(0) -#endif -#if defined(USE_FAST_EAP_TYPE) -, iPacStore(0) -#endif //#if defined(USE_FAST_EAP_TYPE) -, iEapMessageQueue(0) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::CEapServerProcessHandler(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::CEapServerProcessHandler()"); -} - -//---------------------------------------------------------------------------- - -CEapServerProcessHandler::~CEapServerProcessHandler() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::~CEapServerProcessHandler(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::~CEapServerProcessHandler()"); - - if(IsActive()) - { - Cancel(); - } - - delete iEapCore; - iEapCore = 0; - - delete iEapPlugin; - iEapPlugin = 0; - - delete iEapSettings; - iEapSettings = 0; - -#if defined (USE_WAPI_CORE) - delete iWapiCore; - iWapiCore = 0; - - delete iWapiSettings; - iWapiSettings = 0; -#endif - -#if defined(USE_FAST_EAP_TYPE) - delete iPacStore; - iPacStore = 0; -#endif //#if defined(USE_FAST_EAP_TYPE) - - delete iEapMessageQueue; - iEapMessageQueue = 0; -} - -//---------------------------------------------------------------------------- - -CEapServerProcessHandler* CEapServerProcessHandler::NewL() -{ - return new (ELeave) CEapServerProcessHandler(); -} - -//---------------------------------------------------------------------------- - -void CEapServerProcessHandler::ConstructL(AbsEapProcessSendInterface* const client, abs_eap_am_tools_c * const tools) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::ConstructL(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(tools, "returns: CEapServerProcessHandler::ConstructL()"); - - iClient = client; - iTools = tools; - - iEapMessageQueue = new(ELeave) EapMessageQueue(iTools); -} - -//---------------------------------------------------------------------------- - -eap_status_e CEapServerProcessHandler::SendData(const void * const data, const u32_t length, TEapRequests message) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::SendData(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::SendData()"); - - eap_status_e status(eap_status_ok); - - SaveMessage(message, data, length); - - return status; -} - -//---------------------------------------------------------------------------- - -void CEapServerProcessHandler::SaveMessage(TEapRequests message, const void * const data, const TUint length) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::SaveMessage(): this=0x%08x, message=%d=%s\n"), - this, - message, - EapServerStrings::GetEapRequestsString(message))); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::SaveMessage()"); - - EAP_TRACE_DATA_DEBUG( - iTools, - EAP_TRACE_FLAGS_NEVER, - (EAPL("CEapServerProcessHandler::SaveMessage()"), - data, - length)); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::SaveMessage(): calls iEapMessageQueue->AddMessage()\n"))); - - TInt error = iEapMessageQueue->AddMessage(message, data, length); - - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::SaveMessage(): failed = %d\n"), - error)); - return; - } - - Activate(); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::SaveMessage(): returns this=0x%08x, message=%d=%s\n"), - this, - message, - EapServerStrings::GetEapRequestsString(message))); -} - -//---------------------------------------------------------------------------- - -void CEapServerProcessHandler::Activate() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::Activate(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::Activate()"); - - if(!IsActive()) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::Activate(): calls User::RequestComplete()\n"))); - - TRequestStatus* status = &iStatus; - User::RequestComplete(status, KErrNone); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::Activate(): calls SetActive()\n"))); - - SetActive(); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::Activate(): Already active.\n"))); - } -} - -//---------------------------------------------------------------------------- - -void CEapServerProcessHandler::RunL() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("=start=====================================================================\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::RunL()"); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL(): this=0x%08x\n"), - this)); - - EapMessageBuffer * const message = iEapMessageQueue->GetFirstMessage(); - - if (message != 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL(): message->GetRequestType()=%d=%s, data=0x%08x, size=%d\n"), - message->GetRequestType(), - EapServerStrings::GetEapRequestsString(message->GetRequestType()), - message->GetData()->Ptr(), - message->GetData()->Size())); - - eap_status_e status(eap_status_ok); - - switch (message->GetRequestType()) - { - - case EEapCoreIfNew: - - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapCoreIfNew\n"))); - - CEapCoreIf * tmpEapCore = CEapCoreIf::new_CEapCoreIf( - iTools, - ETrue, - 0, - this); - - if (tmpEapCore != 0) - { - CleanupStack::PushL(tmpEapCore); - - if (tmpEapCore->get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): CEapCoreIf::new_CEapCoreIf() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - const void * const aData = reinterpret_cast(message->GetData()->Ptr()); - const TInt aLength = message->GetData()->Size(); - - const eap_variable_data_c client_configuration( - iTools, - aData, - aLength, - false, - false); - if (client_configuration.get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - status = tmpEapCore->configure(&client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpEapCore->configure() failed, this=0x%08x, status=%d=%s\n"), - this, - status, - eap_status_string_c::get_status_string(status))); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - iEapCore = tmpEapCore; - - CleanupStack::Pop(tmpEapCore); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapCoreIfNew, iEapCore is NULL\n"))); - } - } - - break; - - case EEapPluginNew: - - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPluginNew\n"))); - - CEapPluginIf * tmpEapPlugin = CEapPluginIf::new_CEapPluginIf(iTools); - - if (tmpEapPlugin != 0) - { - CleanupStack::PushL(tmpEapPlugin); - - if (tmpEapPlugin->get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): CEapPluginIf::new_CEapPluginIf() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - tmpEapPlugin->set_partner(this); - - const void * const aData = reinterpret_cast(message->GetData()->Ptr()); - const TInt aLength = message->GetData()->Size(); - - const eap_variable_data_c client_configuration( - iTools, - aData, - aLength, - false, - false); - if (client_configuration.get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - status = tmpEapPlugin->configure(&client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpEapPlugin->configure() failed, this=0x%08x, status=%d=%s\n"), - this, - status, - eap_status_string_c::get_status_string(status))); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - iEapPlugin = tmpEapPlugin; - - CleanupStack::Pop(tmpEapPlugin); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPluginNew, iEapPlugin is NULL\n"))); - } - } - - break; - - case EEapSettingsNew: - - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapSettingsNew\n"))); - - CEapSettingsIf * tmpEapSettings = CEapSettingsIf::new_CEapSettingsIf(iTools); - - if (tmpEapSettings != 0) - { - CleanupStack::PushL(tmpEapSettings); - - if (tmpEapSettings->get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): CEapSettingsIf::new_CEapSettingsIf() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - tmpEapSettings->set_partner(this); - - const void * const aData = reinterpret_cast(message->GetData()->Ptr()); - const TInt aLength = message->GetData()->Size(); - - const eap_variable_data_c client_configuration( - iTools, - aData, - aLength, - false, - false); - if (client_configuration.get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - status = tmpEapSettings->configure(&client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpEapSettings->configure() failed, this=0x%08x, status=%d=%s\n"), - this, - status, - eap_status_string_c::get_status_string(status))); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - iEapSettings = tmpEapSettings; - - CleanupStack::Pop(tmpEapSettings); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapSettingsNew, iEapSettings is NULL\n"))); - } - } - - break; - -#if defined (USE_WAPI_CORE) - case EWapiCoreIfNew: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiCoreIfNew\n"))); - - iWapiCore = CWapiCoreIf::NewL(iTools, this); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiCoreIfNew - iWapiCore = 0x%08x.\n"), - iWapiCore)); - - - break; - - case EWapiSettingsNew: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsNew\n"))); - - iWapiSettings = CWapiSettingsIf::NewL(iTools, this); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsNew - iWapiSettings = 0x%08x.\n"), - iWapiSettings)); - break; -#endif - - case EEapPacStoreNew: - - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPacStoreNew\n"))); - -#if defined(USE_FAST_EAP_TYPE) - - CPacStoreIf * tmpPacStore = CPacStoreIf::new_CPacStoreIf( - iTools, - ETrue, - 0, - this); - - if (tmpPacStore != 0) - { - CleanupStack::PushL(tmpPacStore); - - if (tmpPacStore->get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): CPacStoreIf::new_CPacStoreIf() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - const void * const aData = reinterpret_cast(message->GetData()->Ptr()); - const TInt aLength = message->GetData()->Size(); - - const eap_variable_data_c client_configuration( - iTools, - aData, - aLength, - false, - false); - if (client_configuration.get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - status = tmpPacStore->configure(&client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpPacStore->configure() failed, this=0x%08x, status=%d=%s\n"), - this, - status, - eap_status_string_c::get_status_string(status))); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - iPacStore = tmpPacStore; - - CleanupStack::Pop(tmpPacStore); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPacStoreNew, iPacStore is NULL\n"))); - } - -#endif //#if defined(USE_FAST_EAP_TYPE) - - } - - break; - - case EEapCoreProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapCoreProcessData\n"))); - - if (iEapCore !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iEapCore->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapCoreProcessData, iEapCore is NULL\n"))); - } - - break; - - case EEapPacStoreProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPacStoreProcessData\n"))); - -#if defined(USE_FAST_EAP_TYPE) - if (iPacStore !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iPacStore->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPacStoreProcessData, iPacStore is NULL\n"))); - } -#endif //#if defined(USE_FAST_EAP_TYPE) - break; - - case EEapPluginProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPluginProcessData\n"))); - - if (iEapPlugin !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iEapPlugin->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPluginProcessData, iEapPlugin is NULL\n"))); - } - - break; - - case EEapSettingsProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapSettingsProcessData\n"))); - - if (iEapSettings !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iEapSettings->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapSettingsProcessData, iEapSettings is NULL\n"))); - } - - break; - -#if defined (USE_WAPI_CORE) - case EWapiCoreProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiCoreProcessData\n"))); - - if (iWapiCore !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iWapiCore->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EWapiCoreProcessData, iWapiCore is NULL\n"))); - } - break; - - case EWapiSettingsProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsProcessData\n"))); - - if (iWapiSettings !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iWapiSettings->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EWapiSettingsProcessData, iWapiSettings is NULL\n"))); - } - - break; -#endif - - case EEapCoreSendData: - case EEapPluginSendData: - case EEapSettingsSendData: - case EEapPacStoreSendData: -#if defined (USE_WAPI_CORE) - case EWapiCoreSendData: - case EWapiSettingsSendData: -#endif - if (message->GetRequestType() == EEapCoreSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapCoreSendData\n"))); - } - else if (message->GetRequestType() == EEapPluginSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPluginSendData\n"))); - } - else if (message->GetRequestType() == EEapSettingsSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapSettingsSendData\n"))); - } - else if (message->GetRequestType() == EEapPacStoreSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPacStoreSendData\n"))); - } -#if defined (USE_WAPI_CORE) - else if (message->GetRequestType() == EWapiCoreSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiCoreSendData\n"))); - } - else if (message->GetRequestType() == EWapiSettingsSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsSendData\n"))); - } -#endif - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL(): iClient=0x%08x\n"), - iClient)); - - if (iClient != 0) - { - status = iClient->SendData(message); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): SendData() failed, iClient=0x%08x, status=%d=%s\n"), - iClient, - status, - eap_status_string_c::get_status_string(status))); - - // We do not return here. Even the iClient->SendData() fails we run this function to the end. - } - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEap*SendData, iClient is NULL\n"))); - } - - break; - - default: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): unknown message->GetRequestType()=%d=%s\n"), - message->GetRequestType(), - EapServerStrings::GetEapRequestsString(message->GetRequestType()))); - break; - - } // switch() - - if (status == eap_status_ok) - { - // First one handled, remove message. - // iClient->SendData() call may fail, then we do not remove the message. - iEapMessageQueue->DeleteFirstMessage(); - } - - } // if () - - if (iEapMessageQueue->GetFirstMessage() != 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL(): Still messages waiting.\n"))); - - if (iClient != NULL) - { - if (iClient->GetReceiveActive()) - { - Activate(); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: CEapServerProcessHandler::RunL(): cannot call User::RequestComplete() because no receive is active.\n"))); - } - } - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL(): No more messages to process.\n"))); - } - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("=end======================================================================\n"))); -} - -//---------------------------------------------------------------------------- - -void CEapServerProcessHandler::DoCancel() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::DoCancel(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::DoCancel()"); - -} - -//---------------------------------------------------------------------------- - -TInt CEapServerProcessHandler::RunError(TInt aError) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunError(): aError=%d, this=0x%08x\n"), - aError, - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::RunError()"); - - Cancel(); - - return aError; -} - -//---------------------------------------------------------------------------- -// end