telephonyserver/etelpacketdata/cetel/pckt_retrieve.cpp
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/telephonyserver/etelpacketdata/cetel/pckt_retrieve.cpp	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserver/etelpacketdata/cetel/pckt_retrieve.cpp	Thu May 06 15:10:38 2010 +0100
@@ -1,212 +1,212 @@
-// Copyright (c) 2008-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:
-// This file contains all the code for the retrieval classes which retrieve variable length 
-// buffers from the TSY, such as MBMS monitor service list and MBMS sessions. 
-// 
-//
-
-/**
- @file
-*/
-
-#include "pcktretrieve.h"
-#include <pcktcs.h>
-#include <etelext.h>
-
-//
-//
-// Retrieve a list of MBMS monitored service entries 
-//
-//
-EXPORT_C CRetrievePcktMbmsMonitoredServices* CRetrievePcktMbmsMonitoredServices::NewL(RPacketService& aService)
-/** Creates an instance of the CActive derived CRetrievePcktMbmsMonitoredServices 
- * class.
- * @param aService An instance of RPacketService over which the list retrieval class operates.
- * @return The newly created CRetrievePcktMbmsMonitoredServices class. 
- * @capability None
- */
-	{
-	CRetrievePcktMbmsMonitoredServices* self = new(ELeave) CRetrievePcktMbmsMonitoredServices(aService);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop();
-	return self;
-	}
-	
-CRetrievePcktMbmsMonitoredServices::CRetrievePcktMbmsMonitoredServices(RPacketService& aService) 
-:	CAsyncRetrieveWithClientIds(aService.SessionHandle().Handle(), aService.SubSessionHandle()),
-	iService(aService)
-/**
- * Standard constructor; initialises the data members. 
- */
-	{
-	}
-
-void CRetrievePcktMbmsMonitoredServices::ConstructL()
-/**
- * Part of 2 phase construction, assigns the IPCs to be used 
- * in 2 phase retrieval mechanism.
- */
-	{
-	iIpcPhase1=EPacketGetMbmsMonitoredServicesPhase1;
-	iIpcPhase2=EPacketGetMbmsMonitoredServicesPhase2;
-	iIpcCancel=EPacketGetMbmsMonitoredServicesCancel;
-	}
-
-EXPORT_C CRetrievePcktMbmsMonitoredServices::~CRetrievePcktMbmsMonitoredServices()
-/** 
- * The destructor frees all resources owned by the object, prior to its destruction.
- */
-	{
-	Cancel();
-	delete iResults;
-	}
-
-EXPORT_C CPcktMbmsMonitoredServiceList* CRetrievePcktMbmsMonitoredServices::RetrieveListL()
-/** 
- * Provides the client with a handle to the appropriate 
- * MBMS service availability list class retrieved. The client will call this function 
- * once Start() has completed.
- * The ownership of the list object is transferred to the client and the client 
- * is responsible for eventual deletion of this object.	 
- *
- * @leave KErrNotFound If there is no valid list object to return to the client.
- * @return A handle to the list class retrieved from the store. If there are no entries in 
- * the list then a handle to an empty list is returned.
- * @capability ReadDeviceData
- */
-	{
-	if (iResults)
-		{
-		// Give ownership of list to caller of this method
-		CPcktMbmsMonitoredServiceList* ptr=iResults;
-		iResults = NULL;
-		return ptr;
-		}
-	else
-		{
-		User::Leave(KErrNotFound);
-		return NULL;
-		}
-	}
-	
-EXPORT_C void CRetrievePcktMbmsMonitoredServices::Start(TRequestStatus& aReqStatus)
-/** Starts the two-phase list retrieval of all entries within the store.
- * 
- * @param aReqStatus On completion, the status of the request; KErrNone if successful, 
- * KErrNotSupported if the phone does not support access to an MBMS service availability list  
- * and KErrNotFound if the list does not exist. If the list is empty then KErrNone
- * is returned.
- * @capability ReadDeviceData
- */
-	{
-	if (!CompleteIfInUse(aReqStatus))
-		{
-	   	delete iResults;
-		iResults = NULL;
-		CAsyncRetrieveVariableLengthBufferV2::Start(aReqStatus,&iId,&iId);
-		}
-	}
-		
-void CRetrievePcktMbmsMonitoredServices::RestoreListL()
-/**
- * Restores a list from a buffer that contains the streamed version of the list
- */
-	{
-	iResults=CPcktMbmsMonitoredServiceList::NewL();
-	iResults->RestoreL(iResultsPtr);
-	FreeBuffer();
-	}
-	
-void CRetrievePcktMbmsMonitoredServices::CancelReq(TInt aIpc1, TInt aIpc2)
-/**
- *  Cancels previously issued request
- */
-	{
-	iService.CancelReq(aIpc1, aIpc2);
-	}
-		
-void CRetrievePcktMbmsMonitoredServices::Get(TInt aIpc, TRequestStatus& aReqStatus, TDes8& aDes1, TDes8& aDes2)
-/** 
- * Sends a request through the sub-session this object was created with.
- */
-	{
-	iService.Get(aIpc, aReqStatus, aDes1, aDes2);
-	}
-
-CAsyncRetrieveWithClientIds::CAsyncRetrieveWithClientIds(TInt aSessionHandle, TInt aSubSessionHandle)
-	{
-	iId().iSessionHandle = aSessionHandle;
-	iId().iSubSessionHandle = aSubSessionHandle;
-	}
-
-EXPORT_C CRetrievePcktMbmsSessionList* CRetrievePcktMbmsSessionList::NewL(RPacketMbmsContext& aPcktMbmsContext, RPacketMbmsContext::CMbmsSession& aSessionIdList)
-/**
- * Standard 2 phase constructor.
- * @param aPcktMbmsContext Reference to an open MBMS packet context object.
- * @param aSessionIdList On completion this holds the list of MBMS sessions.
- * @return Pointer instance of the class.
- */
-	{
-	return new (ELeave)CRetrievePcktMbmsSessionList(aPcktMbmsContext, aSessionIdList);
-	}
-
-EXPORT_C void CRetrievePcktMbmsSessionList::Start(TRequestStatus& aReqStatus)
-/**
- * Starts the 2 phase retrieval. Assigns the IPCs to be used for the 2-phase retrieval mechanism.
- * @param aReqStatus On return, KErrNone if successful.
- * @capability ReadDeviceData
- */
-	{
-	if (!CompleteIfInUse(aReqStatus))
-		{
-		iIpcPhase1=EPacketGetMbmsSessionListPhase1;
-		iIpcPhase2=EPacketGetMbmsSessionListPhase2;
-		iIpcCancel=EPacketGetMbmsSessionListCancel;
-		CAsyncRetrieveVariableLengthBufferV2::Start(aReqStatus,&iId,&iId); 
-		}
-	}
-void CRetrievePcktMbmsSessionList::Get(TInt aIpc, TRequestStatus& aReqStatus, TDes8& aDes1, TDes8& aDes2)
-/**
- * Issues requested IPC to the ETEL/TSY
- */
-	{
-	iPcktMbmsContext.Get(aIpc, aReqStatus, aDes1, aDes2);
-	}
-void CRetrievePcktMbmsSessionList::CancelReq(TInt aIpc1, TInt aIpc2)
-/**
- * Cancels previously issued request
- */
-	{
-	iPcktMbmsContext.CancelReq(aIpc1,aIpc2);
-	}
-void CRetrievePcktMbmsSessionList::RestoreListL()
-/**
- * Overload of base class virtual method; de-serializes data retrieved from TSY to 
- * provided data structure.
- */
-	{
-	iSessionIdList.InternalizeL(iResultsPtr);
-	FreeBuffer();
-	}
-CRetrievePcktMbmsSessionList::CRetrievePcktMbmsSessionList(RPacketMbmsContext& aPcktMbmsContext,RPacketMbmsContext::CMbmsSession& aSessionIdList)
-:iPcktMbmsContext(aPcktMbmsContext),iSessionIdList(aSessionIdList)
-/**
- * Standard constructor; initialises data members and the base class
- */	
-	{
-	iId().iSessionHandle=iPcktMbmsContext.SessionHandle().Handle();
-	iId().iSubSessionHandle=iPcktMbmsContext.SubSessionHandle();
-	}
-	
+// Copyright (c) 2008-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:
+// This file contains all the code for the retrieval classes which retrieve variable length 
+// buffers from the TSY, such as MBMS monitor service list and MBMS sessions. 
+// 
+//
+
+/**
+ @file
+*/
+
+#include "pcktretrieve.h"
+#include <pcktcs.h>
+#include <etelext.h>
+
+//
+//
+// Retrieve a list of MBMS monitored service entries 
+//
+//
+EXPORT_C CRetrievePcktMbmsMonitoredServices* CRetrievePcktMbmsMonitoredServices::NewL(RPacketService& aService)
+/** Creates an instance of the CActive derived CRetrievePcktMbmsMonitoredServices 
+ * class.
+ * @param aService An instance of RPacketService over which the list retrieval class operates.
+ * @return The newly created CRetrievePcktMbmsMonitoredServices class. 
+ * @capability None
+ */
+	{
+	CRetrievePcktMbmsMonitoredServices* self = new(ELeave) CRetrievePcktMbmsMonitoredServices(aService);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop();
+	return self;
+	}
+	
+CRetrievePcktMbmsMonitoredServices::CRetrievePcktMbmsMonitoredServices(RPacketService& aService) 
+:	CAsyncRetrieveWithClientIds(aService.SessionHandle().Handle(), aService.SubSessionHandle()),
+	iService(aService)
+/**
+ * Standard constructor; initialises the data members. 
+ */
+	{
+	}
+
+void CRetrievePcktMbmsMonitoredServices::ConstructL()
+/**
+ * Part of 2 phase construction, assigns the IPCs to be used 
+ * in 2 phase retrieval mechanism.
+ */
+	{
+	iIpcPhase1=EPacketGetMbmsMonitoredServicesPhase1;
+	iIpcPhase2=EPacketGetMbmsMonitoredServicesPhase2;
+	iIpcCancel=EPacketGetMbmsMonitoredServicesCancel;
+	}
+
+EXPORT_C CRetrievePcktMbmsMonitoredServices::~CRetrievePcktMbmsMonitoredServices()
+/** 
+ * The destructor frees all resources owned by the object, prior to its destruction.
+ */
+	{
+	Cancel();
+	delete iResults;
+	}
+
+EXPORT_C CPcktMbmsMonitoredServiceList* CRetrievePcktMbmsMonitoredServices::RetrieveListL()
+/** 
+ * Provides the client with a handle to the appropriate 
+ * MBMS service availability list class retrieved. The client will call this function 
+ * once Start() has completed.
+ * The ownership of the list object is transferred to the client and the client 
+ * is responsible for eventual deletion of this object.	 
+ *
+ * @leave KErrNotFound If there is no valid list object to return to the client.
+ * @return A handle to the list class retrieved from the store. If there are no entries in 
+ * the list then a handle to an empty list is returned.
+ * @capability ReadDeviceData
+ */
+	{
+	if (iResults)
+		{
+		// Give ownership of list to caller of this method
+		CPcktMbmsMonitoredServiceList* ptr=iResults;
+		iResults = NULL;
+		return ptr;
+		}
+	else
+		{
+		User::Leave(KErrNotFound);
+		return NULL;
+		}
+	}
+	
+EXPORT_C void CRetrievePcktMbmsMonitoredServices::Start(TRequestStatus& aReqStatus)
+/** Starts the two-phase list retrieval of all entries within the store.
+ * 
+ * @param aReqStatus On completion, the status of the request; KErrNone if successful, 
+ * KErrNotSupported if the phone does not support access to an MBMS service availability list  
+ * and KErrNotFound if the list does not exist. If the list is empty then KErrNone
+ * is returned.
+ * @capability ReadDeviceData
+ */
+	{
+	if (!CompleteIfInUse(aReqStatus))
+		{
+	   	delete iResults;
+		iResults = NULL;
+		CAsyncRetrieveVariableLengthBufferV2::Start(aReqStatus,&iId,&iId);
+		}
+	}
+		
+void CRetrievePcktMbmsMonitoredServices::RestoreListL()
+/**
+ * Restores a list from a buffer that contains the streamed version of the list
+ */
+	{
+	iResults=CPcktMbmsMonitoredServiceList::NewL();
+	iResults->RestoreL(iResultsPtr);
+	FreeBuffer();
+	}
+	
+void CRetrievePcktMbmsMonitoredServices::CancelReq(TInt aIpc1, TInt aIpc2)
+/**
+ *  Cancels previously issued request
+ */
+	{
+	iService.CancelReq(aIpc1, aIpc2);
+	}
+		
+void CRetrievePcktMbmsMonitoredServices::Get(TInt aIpc, TRequestStatus& aReqStatus, TDes8& aDes1, TDes8& aDes2)
+/** 
+ * Sends a request through the sub-session this object was created with.
+ */
+	{
+	iService.Get(aIpc, aReqStatus, aDes1, aDes2);
+	}
+
+CAsyncRetrieveWithClientIds::CAsyncRetrieveWithClientIds(TInt aSessionHandle, TInt aSubSessionHandle)
+	{
+	iId().iSessionHandle = aSessionHandle;
+	iId().iSubSessionHandle = aSubSessionHandle;
+	}
+
+EXPORT_C CRetrievePcktMbmsSessionList* CRetrievePcktMbmsSessionList::NewL(RPacketMbmsContext& aPcktMbmsContext, RPacketMbmsContext::CMbmsSession& aSessionIdList)
+/**
+ * Standard 2 phase constructor.
+ * @param aPcktMbmsContext Reference to an open MBMS packet context object.
+ * @param aSessionIdList On completion this holds the list of MBMS sessions.
+ * @return Pointer instance of the class.
+ */
+	{
+	return new (ELeave)CRetrievePcktMbmsSessionList(aPcktMbmsContext, aSessionIdList);
+	}
+
+EXPORT_C void CRetrievePcktMbmsSessionList::Start(TRequestStatus& aReqStatus)
+/**
+ * Starts the 2 phase retrieval. Assigns the IPCs to be used for the 2-phase retrieval mechanism.
+ * @param aReqStatus On return, KErrNone if successful.
+ * @capability ReadDeviceData
+ */
+	{
+	if (!CompleteIfInUse(aReqStatus))
+		{
+		iIpcPhase1=EPacketGetMbmsSessionListPhase1;
+		iIpcPhase2=EPacketGetMbmsSessionListPhase2;
+		iIpcCancel=EPacketGetMbmsSessionListCancel;
+		CAsyncRetrieveVariableLengthBufferV2::Start(aReqStatus,&iId,&iId); 
+		}
+	}
+void CRetrievePcktMbmsSessionList::Get(TInt aIpc, TRequestStatus& aReqStatus, TDes8& aDes1, TDes8& aDes2)
+/**
+ * Issues requested IPC to the ETEL/TSY
+ */
+	{
+	iPcktMbmsContext.Get(aIpc, aReqStatus, aDes1, aDes2);
+	}
+void CRetrievePcktMbmsSessionList::CancelReq(TInt aIpc1, TInt aIpc2)
+/**
+ * Cancels previously issued request
+ */
+	{
+	iPcktMbmsContext.CancelReq(aIpc1,aIpc2);
+	}
+void CRetrievePcktMbmsSessionList::RestoreListL()
+/**
+ * Overload of base class virtual method; de-serializes data retrieved from TSY to 
+ * provided data structure.
+ */
+	{
+	iSessionIdList.InternalizeL(iResultsPtr);
+	FreeBuffer();
+	}
+CRetrievePcktMbmsSessionList::CRetrievePcktMbmsSessionList(RPacketMbmsContext& aPcktMbmsContext,RPacketMbmsContext::CMbmsSession& aSessionIdList)
+:iPcktMbmsContext(aPcktMbmsContext),iSessionIdList(aSessionIdList)
+/**
+ * Standard constructor; initialises data members and the base class
+ */	
+	{
+	iId().iSessionHandle=iPcktMbmsContext.SessionHandle().Handle();
+	iId().iSubSessionHandle=iPcktMbmsContext.SubSessionHandle();
+	}
+