telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/cmockpcktservicemesshandler.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/cmockpcktservicemesshandler.cpp Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,379 @@
+// Copyright (c) 2007-2009 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:
+//
+
+//#include <in_sock.h>
+#include "cmockpcktservicemesshandler.h"
+#include "mmockmesshandlerbase.h"
+#include <ctsy/pluginapi/mmmessagemanagercallback.h>
+#include <ctsy/pluginapi/cmmdatapackage.h>
+#include <ctsy/tflogger.h>
+#include <pcktcs.h>
+#include "cmockltsyengine.h"
+#include "tmockltsydata.h"
+
+/**
+Factory function
+*/
+CMockPcktServiceMessHandler* CMockPcktServiceMessHandler::NewL(CMmMessageRouter* aMessageRouter)
+ {
+ CMockPcktServiceMessHandler* self = new(ELeave)CMockPcktServiceMessHandler(aMessageRouter);
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop();
+ return self;
+ }
+
+/**
+Constructor
+*/
+CMockPcktServiceMessHandler::CMockPcktServiceMessHandler(CMmMessageRouter* aMessageManager)
+ : iMessageRouter(aMessageManager)
+ {
+ }
+
+/**
+2nd phase contructor
+*/
+void CMockPcktServiceMessHandler::ConstructL()
+ {
+ }
+
+/**
+Destructor
+*/
+CMockPcktServiceMessHandler::~CMockPcktServiceMessHandler()
+ {
+ iPcktMbmsMonitoredServiceLists.ResetAndDestroy();
+ }
+
+/**
+Execute a request
+*/
+TInt CMockPcktServiceMessHandler::ExtFuncL(TInt aIpc, const CMmDataPackage* aDataPackage)
+ {
+ switch (aIpc)
+ {
+ case EPacketGetAttachMode:
+ {
+ RPacketService::TPreferredBearer prefBearer;
+ aDataPackage->UnPackData(prefBearer);
+ TMockLtsyData1<RPacketService::TPreferredBearer> data(prefBearer);
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc, data );
+ }
+
+ case EPacketSetPrefBearer:
+ {
+ TBool initState;
+ aDataPackage->UnPackData(initState);
+ TMockLtsyData1<TBool> data(initState);
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+
+ case EPacketEnumerateMbmsActiveServiceList:
+ {
+ TMockLtsyData0 data;
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+
+ case EPacketSetDefaultContextParams:
+ {
+
+ TPacketDataConfigBase base;
+ aDataPackage->UnPackData(base);
+
+ switch ( base.ExtensionId() )
+ {
+ case TPacketDataConfigBase::KConfigGPRS:
+ {
+ RPacketContext::TContextConfigGPRS configGPRS;
+ aDataPackage->UnPackData(configGPRS);
+ TMockLtsyData1<RPacketContext::TContextConfigGPRS> data(configGPRS);
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+
+ case TPacketDataConfigBase::KConfigRel99Rel4:
+ {
+ RPacketContext::TContextConfigR99_R4 configRel99;
+ aDataPackage->UnPackData(configRel99);
+ TMockLtsyData1<RPacketContext::TContextConfigR99_R4> data(configRel99);
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+
+ case TPacketDataConfigBase::KConfigCDMA:
+ {
+ RPacketContext::TContextConfigCDMA configCDMA;
+ aDataPackage->UnPackData(configCDMA);
+ TMockLtsyData1<RPacketContext::TContextConfigCDMA> data(configCDMA);
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+
+ case TPacketDataConfigBase::KConfigRel5:
+ {
+ RPacketContext::TContextConfig_R5 configRel5;
+ aDataPackage->UnPackData(configRel5);
+ TMockLtsyData1<RPacketContext::TContextConfig_R5> data(configRel5);
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+
+ default:
+ {
+ TMockLtsyData0 data;
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+ }
+ }
+
+
+ case EPacketSetAttachMode:
+ {
+ RPacketService::TAttachMode attachMode;
+ aDataPackage->UnPackData(attachMode);
+ TMockLtsyData1<RPacketService::TAttachMode> data(attachMode);
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+
+ case EPacketUpdateMbmsMonitorServiceList:
+ {
+ TMmMbmsMonitorServiceListParams params;
+ aDataPackage->UnPackData(params);
+ TMockLtsyData1<TMmMbmsMonitorServiceListParams> data(params);
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc, data);
+ }
+ case EPacketGetMbmsNetworkServiceStatus:
+ {
+ TBool aAttemptAttach;
+ aDataPackage->UnPackData(aAttemptAttach);
+ TMockLtsyData1<TBool> data(aAttemptAttach);
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+ case EPacketGetStaticCaps:
+ {
+ return 0;
+ }
+ case EPacketEnumerateMbmsMonitorServiceList:
+ {
+ TMockLtsyData0 data;
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+ default:
+ {
+ TMockLtsyData0 data;
+ return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
+ }
+ }
+ }
+
+/**
+Complete a request
+*/
+void CMockPcktServiceMessHandler::CompleteL(TInt aIpc, const TDesC8& aData, TInt aResult)
+ {
+ CMmDataPackage dataPackage;
+ switch (aIpc)
+ {
+ case EPacketEnumerateMbmsActiveServiceList:
+ {
+ TMockLtsyData1Buf<TInt> ret;
+ ret.DeserialiseL(aData);
+ dataPackage.PackData(ret.Data1Ptr());
+ }
+ break;
+ case EPacketNotifyStatusChange:
+ {
+ // TBool resumed;
+ // RPacketService::TStatus status;
+ TMockLtsyData2Buf<RPacketService::TStatus , TBool> ret;
+ ret.DeserialiseL(aData);
+ dataPackage.PackData(ret.Data1Ptr(), ret.Data2Ptr());
+ }
+ break;
+ case EPacketGetAttachMode:
+ {
+ //RPacketService::TAttachMode mode;
+ TMockLtsyData1Buf<RPacketService::TAttachMode> ret;
+ ret.DeserialiseL(aData);
+ dataPackage.PackData(ret.Data1Ptr());
+ }
+ break;
+ case EPacketNotifyChangeOfNtwkRegStatus:
+ {
+ TMockLtsyData1Buf<RPacketService::TRegistrationStatus> reg;
+ reg.DeserialiseL(aData);
+ dataPackage.PackData(reg.Data1Ptr());
+ }
+ break;
+ case EPacketGetNtwkRegStatus:
+ {
+ TMockLtsyData1Buf<RPacketService::TRegistrationStatus> reg;
+ reg.DeserialiseL(aData);
+ dataPackage.PackData(reg.Data1Ptr());
+ }
+ break;
+ case EPacketNotifyContextAdded:
+ {
+ TMockLtsyData2Buf<TInfoName, TInt > ret;
+ ret.DeserialiseL(aData);
+ dataPackage.PackData(ret.Data1Ptr(), ret.Data2Ptr());
+ }
+ break;
+
+ case EPacketNotifyMSClassChange:
+ {
+ TMockLtsyData1Buf< RPacketService::TMSClass> ret;
+ ret.DeserialiseL(aData);
+ dataPackage.PackData(ret.Data1Ptr());
+ }
+ break;
+
+ case EPacketNotifyDynamicCapsChange:
+ {
+ TMockLtsyData2Buf< TBool, TBool> ret;
+ ret.DeserialiseL(aData);
+ dataPackage.PackData(ret.Data1Ptr(), ret.Data2Ptr());
+ }
+ break;
+
+ case EPacketNotifyContextActivationRequested:
+ {
+ TMockLtsyData1Buf<RPacketContext::TContextConfigGPRS> gprsBuf;
+ gprsBuf.DeserialiseL(aData);
+ RPacketContext::TContextConfigGPRS* configGPRS = gprsBuf.Data1Ptr();
+ TInt extensionId = configGPRS->ExtensionId();
+
+ switch ( extensionId )
+ {
+ case TPacketDataConfigBase::KConfigGPRS:
+ {
+ dataPackage.PackData(configGPRS);
+ break;
+ }
+ case TPacketDataConfigBase::KConfigCDMA:
+ {
+ TMockLtsyData1Buf<RPacketContext::TContextConfigCDMA> cdmaBuf;
+ cdmaBuf.DeserialiseL(aData);
+ dataPackage.PackData(cdmaBuf.Data1Ptr());
+ break;
+ }
+ case TPacketDataConfigBase::KConfigRel99Rel4:
+ {
+ TMockLtsyData1Buf<RPacketContext::TContextConfigR99_R4> r99Buf;
+ r99Buf.DeserialiseL(aData);
+ dataPackage.PackData(r99Buf.Data1Ptr());
+ break;
+ }
+ case TPacketDataConfigBase::KConfigRel5:
+ {
+ TMockLtsyData1Buf<RPacketContext::TContextConfig_R5> r5Buf;
+ r5Buf.DeserialiseL(aData);
+ dataPackage.PackData(r5Buf.Data1Ptr());
+ break;
+ }
+ case TPacketDataConfigBase::KConfigMBMS:
+ {
+ TMockLtsyData1Buf<RPacketMbmsContext::TContextConfigMbmsV1> mbmsBuf;
+ mbmsBuf.DeserialiseL(aData);
+ dataPackage.PackData(mbmsBuf.Data1Ptr());
+ break;
+ }
+ default:
+ //Do nothing
+ break;
+ }
+ }
+ break;
+
+ case EPacketNotifyAttachModeChange:
+ {
+ TMockLtsyData1Buf<RPacketService::TPreferredBearer> ret;
+ ret.DeserialiseL(aData);
+ dataPackage.PackData(ret.Data1Ptr());
+ }
+ break;
+
+ case EPacketNotifyTransferCapsIPC:
+ {
+ TMockLtsyData1Buf<TDynamicTransferCapsFlags> ret;
+ ret.DeserialiseL(aData);
+ dataPackage.PackData(ret.Data1Ptr());
+ }
+ break;
+
+ case EMmTsyNotifyEGprsInfoChangeIPC:
+ {
+ TMockLtsyData1Buf<TBool> ret;
+ ret.DeserialiseL(aData);
+ dataPackage.PackData(ret.Data1Ptr());
+ }
+ break;
+
+ case EPacketNotifyReleaseModeChange:
+ {
+ TMockLtsyData1Buf<RMobilePhone::TMobilePhoneNetworkMode> ret;
+ ret.DeserialiseL(aData);
+ dataPackage.PackData(ret.Data1Ptr());
+ }
+ break;
+
+ case EPacketGetMbmsNetworkServiceStatus:
+ {
+ TMockLtsyData1Buf<TMbmsNetworkServiceStatus> reg;
+ reg.DeserialiseL(aData);
+ dataPackage.PackData(reg.Data1Ptr());
+ }
+ break;
+
+ case EPacketNotifyMbmsNetworkServiceStatusChange:
+ {
+ TMockLtsyData1Buf<TMbmsNetworkServiceStatus> reg;
+ reg.DeserialiseL(aData);
+ dataPackage.PackData(reg.Data1Ptr());
+ }
+ break;
+ case EPacketGetStaticCaps:
+ {
+ TMockLtsyData1Buf<TBool> reg;
+ reg.DeserialiseL(aData);
+ dataPackage.PackData(reg.Data1Ptr());
+ }
+ break;
+ case EPacketEnumerateMbmsMonitorServiceList:
+ {
+ TMockLtsyData1Buf<TInt> reg;
+ reg.DeserialiseL(aData);
+ dataPackage.PackData(reg.Data1Ptr());
+ }
+ break;
+ case EPacketUpdateMbmsMonitorServiceList:
+ case EPacketNotifyMbmsServiceAvailabilityChange:
+ {
+ TMockLtsyData1Buf< CPcktMbmsMonitoredServiceList *> completeData;
+ completeData.DeserialiseL(aData);
+ if (completeData.Data1())
+ {
+ completeData.PushL();
+ iPcktMbmsMonitoredServiceLists.AppendL(completeData.Data1());
+ CleanupStack::Pop(&completeData);
+ }
+ dataPackage.PackData(completeData.Data1());
+ }
+ break;
+ default:
+ // complete event without data
+ break;
+ }
+ iMessageRouter->MessageManagerCallback()->Complete(aIpc, &dataPackage, aResult);
+ }
+
+