diff -r 29c8f9bc68e1 -r 5960d2d03390 vpnengine/eventmediatorapi/src/EventMediatorAPI.cpp --- a/vpnengine/eventmediatorapi/src/EventMediatorAPI.cpp Wed Sep 15 13:20:54 2010 +0300 +++ b/vpnengine/eventmediatorapi/src/EventMediatorAPI.cpp Wed Oct 13 15:42:16 2010 +0300 @@ -17,7 +17,7 @@ #include -#include "eventmediatorclientservercommon.h" +#include "eventmediator.h" #include "eventmediatorapi.h" #include "eventlogger.h" #include "clistatic.h" @@ -45,44 +45,32 @@ *----------------------------------------------------------*/ EXPORT_C TInt REventMediator::Connect(void) { - static const TUint KMaxRetryCount = 2; TInt ret = KErrNone; TRAP(ret, CreateListenedEventsListL()); - if (ret == KErrNone) + if (ret != KErrNone) + { + return ret; + } + + TInt retry=2; + for (;;) { - for (TUint i = 0; i < KMaxRetryCount; i++) - { - ret = CreateSession(KEventMediatorServer, - TVersion(KEventMediatorMajorVersionNumber, - KEventMediatorMinorVersionNumber, - KEventMediatorBuildVersionNumber), - 2 * KDefaultMessageSlots); - - if ( ret == KErrNotFound ) - { - //do nothing - } - else if ( ret == KErrServerTerminated ) - { - //Wait for one second so that the Eventmed - //and sit has sufficient time to go down. - User::After(500000); - } - else - { - break; - } + TInt r=CreateSession(KEventMediatorServer, + TVersion(KEventMediatorMajorVersionNumber, + KEventMediatorMinorVersionNumber, + KEventMediatorBuildVersionNumber), + 2 * KDefaultMessageSlots); + + if (r!=KErrNotFound && r!=KErrServerTerminated) + return r; + if (--retry==0) + return r; + r = Launcher::LaunchServer(KEventMediatorServer, KEventMediatorFile, + KEventMediatorUid3); - ret = Launcher::LaunchServer(KEventMediatorServer, KEventMediatorFile, - KEventMediatorUid3); - - if ( ret != KErrNone && ret !=KErrAlreadyExists) - { - break; - } - } + if (r!=KErrNone && r!=KErrAlreadyExists) + return r; } - return ret; } void REventMediator::CreateListenedEventsListL() @@ -120,7 +108,7 @@ { LOG(Log::Printf(_L("REventMediator::ListenToEvent(TEventType aType, MEventObserver& aObserver) - calling SendReceive\n"))); - SendReceive(KEventMediatorListen, + SendReceive(CEventMediatorSession::KEventMediatorListen, TIpcArgs(aType, &(listener->iDataLengthPckg), &(listener->iSrvDataPtrPckg)), @@ -153,7 +141,7 @@ { LOG(Log::Printf(_L("REventMediator::ListenToEvent(TEventType aType, TDesC8& aEventSpec, MEventObserver& aObserver) - calling SendReceive\n"))); - SendReceive(KEventMediatorListenWithSpec, + SendReceive(CEventMediatorSession::KEventMediatorListenWithSpec, TIpcArgs(aType, &(listener->iDataLengthPckg), &(listener->iSrvDataPtrPckg), @@ -210,17 +198,17 @@ EXPORT_C TInt REventMediator::ReportEvent(TEventType aType) { - return SendReceive(KEventMediatorReportEvent, TIpcArgs(aType, 0, NULL)); + return SendReceive(CEventMediatorSession::KEventMediatorReportEvent, TIpcArgs(aType, 0, NULL)); } EXPORT_C TInt REventMediator::ReportEvent(TEventType aType, TDesC8& aData) { - return SendReceive(KEventMediatorReportEvent, TIpcArgs(aType, aData.Length(), &aData)); + return SendReceive(CEventMediatorSession::KEventMediatorReportEvent, TIpcArgs(aType, aData.Length(), &aData)); } EXPORT_C TInt REventMediator::ReportEvent(TEventType aType, TDesC8& aEventSpec, TDesC8& aData) { - return SendReceive(KEventMediatorReportEventWithSpec, TIpcArgs(aType, aData.Length(), &aData, &aEventSpec)); + return SendReceive(CEventMediatorSession::KEventMediatorReportEventWithSpec, TIpcArgs(aType, aData.Length(), &aData, &aEventSpec)); } EXPORT_C TInt REventMediator::ReportLogEvent(TUid& aSrc, TLogCategory aCategory, TUint aMsgId, TInt aDesCount,...) @@ -276,7 +264,7 @@ TInt specId = 0; TPckg specIdDes(specId); - SendReceive(KEventMediatorNewEventSpecId, TIpcArgs(&specIdDes)); + SendReceive(CEventMediatorSession::KEventMediatorNewEventSpecId, TIpcArgs(&specIdDes)); return specId; } @@ -285,14 +273,14 @@ { LOG(Log::Printf(_L("REventMediator::CancelListenToEvent(TEventType aType)\n"))); - SendReceive(KEventMediatorCancel, TIpcArgs(aType)); + SendReceive(CEventMediatorSession::KEventMediatorCancel, TIpcArgs(aType)); } TInt REventMediator::CancelListenToEvent(TEventType aType, TDesC8& aEventSpec) { LOG(Log::Printf(_L("REventMediator::CancelListenToEvent(TEventType aType, TDesC8& aEventSpec)\n"))); - return SendReceive(KEventMediatorCancelWithSpec, TIpcArgs(aType, NULL, NULL, &aEventSpec)); + return SendReceive(CEventMediatorSession::KEventMediatorCancelWithSpec, TIpcArgs(aType, NULL, NULL, &aEventSpec)); } TInt REventMediator::FetchData(TAny* aSrvPtr, TDes8& aDataPtr) @@ -300,7 +288,7 @@ LOG(Log::Printf(_L("REventMediator::FetchData()\n"))); TRequestStatus status; - SendReceive(KEventMediatorFetchData, + SendReceive(CEventMediatorSession::KEventMediatorFetchData, TIpcArgs(aSrvPtr, &aDataPtr), status); User::WaitForRequest(status); @@ -387,7 +375,7 @@ EXPORT_C TInt REventMediator::DeletePrivateFiles() { - return SendReceive (KEventMediatorDeletePrivateFiles, TIpcArgs()); + return SendReceive (CEventMediatorSession::KEventMediatorDeletePrivateFiles, TIpcArgs()); } @@ -395,25 +383,25 @@ { TPckg eventLogSizePckg(aEventLogSize); - return SendReceive (KEventMediatorGetEventLogSize, + return SendReceive (CEventMediatorSession::KEventMediatorGetEventLogSize, TIpcArgs(&eventLogSizePckg)); } EXPORT_C TInt REventMediator::GetEventLogHeader(TDes8& aEventLogHeader) { - return SendReceive (KEventMediatorGetEventLogHeader, + return SendReceive (CEventMediatorSession::KEventMediatorGetEventLogHeader, TIpcArgs(&aEventLogHeader)); } EXPORT_C TInt REventMediator::GetEventLogData(TDes8& aEventLogData) { - return SendReceive (KEventMediatorGetEventLogData, + return SendReceive (CEventMediatorSession::KEventMediatorGetEventLogData, TIpcArgs(&aEventLogData)); } EXPORT_C TInt REventMediator::ClearEventLog() { - return SendReceive (KEventMediatorClearEventLog, TIpcArgs()); + return SendReceive (CEventMediatorSession::KEventMediatorClearEventLog, TIpcArgs()); }