--- 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 <e32std.h>
-#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<TInt> 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<TInt> 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());
}