--- 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();
+ }
+