diff -r 000000000000 -r 3553901f7fa8 telephonyserver/etelpacketdata/inc/pcktretrieve.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserver/etelpacketdata/inc/pcktretrieve.h Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,101 @@ +// 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: +// Packet ETel API v1.0 +// Header file for asynchronous list retrieval classes +// +// + +/** + @file +*/ + +#ifndef _PCKTRETRIEVE_H_ +#define _PCKTRETRIEVE_H_ + +#include +#include +#include + +class CRetrievePcktMbmsMonitoredServices : public CAsyncRetrieveWithClientIds +/** +Reads MBMS monitored service list from the phone. + +Enables the client to retrieve all the monitored service list in a single call. +A CPcktMbmsMonitoredServiceList object is returned to the client. +Due to the probable time taken to retrieve a list, clients must use an asynchronous +approach. + +@publishedPartner +@released +*/ + { +public: + IMPORT_C static CRetrievePcktMbmsMonitoredServices* NewL(RPacketService& aService); + IMPORT_C ~CRetrievePcktMbmsMonitoredServices(); + IMPORT_C CPcktMbmsMonitoredServiceList* RetrieveListL(); + IMPORT_C void Start(TRequestStatus& aReqStatus); +protected: + CRetrievePcktMbmsMonitoredServices(RPacketService& aService); + void ConstructL(); + virtual void RestoreListL(); +private: + virtual void CancelReq(TInt aIpc1, TInt aIpc2); + virtual void Get(TInt aIpc, TRequestStatus& aReqStatus, TDes8& aDes1, TDes8& aDes2); +private: + /** + * Holds the list of services retrieved from the TSY + */ + CPcktMbmsMonitoredServiceList* iResults; + /** + * Holds a reference to packet service object + */ + RPacketService& iService; + }; + +NONSHARABLE_CLASS(CRetrievePcktMbmsSessionList) : public CAsyncRetrieveVariableLengthBufferV2 +/** + * It is used to retrieve MBMS sessions from TSY. + * It inherits from CAsyncRetrieveVariableLengthBufferV2, active object derived class that + * enables retrieval of data of variable length - length of data is retrieved by + * the first IPC it issues, and actual data via second IPC. + * @publishedPartner + * @released +*/ + { +public: + IMPORT_C static CRetrievePcktMbmsSessionList* NewL(RPacketMbmsContext& aPcktMbmsContext, RPacketMbmsContext::CMbmsSession& aSessionIdList); + IMPORT_C void Start(TRequestStatus& aReqStatus); +protected: + virtual void Get(TInt aIpc, TRequestStatus& aReqStatus, TDes8& aDes1, TDes8& aDes2); + virtual void CancelReq(TInt aIpc1, TInt aIpc2); +protected: + virtual void RestoreListL(); + CRetrievePcktMbmsSessionList(RPacketMbmsContext& aPcktMbmsContext, RPacketMbmsContext::CMbmsSession& aSessionIdList); +protected: + /** + * Holds reference to MBMS context. + */ + RPacketMbmsContext& iPcktMbmsContext; + /** + * Holds the list of MBMS sessions of a MBMS service + */ + RPacketMbmsContext::CMbmsSession& iSessionIdList; + /** + * Holds the session and subsession handles for server side authentication. + */ + TPckgBuf iId; + }; + +#endif // _PCKTRETRIEVE_H_ +