telephonyserver/etelpacketdata/inc/pcktretrieve.h
changeset 0 3553901f7fa8
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // Packet ETel API v1.0
       
    15 // Header file for asynchronous list retrieval classes
       
    16 // 
       
    17 //
       
    18 
       
    19 /**
       
    20  @file
       
    21 */
       
    22 
       
    23 #ifndef _PCKTRETRIEVE_H_
       
    24 #define _PCKTRETRIEVE_H_
       
    25 
       
    26 #include <etelpckt.h>
       
    27 #include <pcktlist.h>
       
    28 #include <mmretrieve.h>
       
    29 
       
    30 class CRetrievePcktMbmsMonitoredServices : public CAsyncRetrieveWithClientIds
       
    31 /** 
       
    32 Reads MBMS monitored service list from the phone.
       
    33 
       
    34 Enables the client to retrieve all the monitored service list in a single call. 
       
    35 A CPcktMbmsMonitoredServiceList object is returned to the client. 
       
    36 Due to the probable time taken to retrieve a list, clients must use an asynchronous 
       
    37 approach.  
       
    38 
       
    39 @publishedPartner
       
    40 @released
       
    41 */
       
    42 	{
       
    43 public:
       
    44 	IMPORT_C static CRetrievePcktMbmsMonitoredServices* NewL(RPacketService& aService);
       
    45 	IMPORT_C ~CRetrievePcktMbmsMonitoredServices();
       
    46 	IMPORT_C CPcktMbmsMonitoredServiceList* RetrieveListL();
       
    47 	IMPORT_C void Start(TRequestStatus& aReqStatus);
       
    48 protected:
       
    49 	CRetrievePcktMbmsMonitoredServices(RPacketService& aService);
       
    50 	void ConstructL();
       
    51 	virtual void RestoreListL();
       
    52 private:
       
    53 	virtual void CancelReq(TInt aIpc1, TInt aIpc2);
       
    54 	virtual void Get(TInt aIpc, TRequestStatus& aReqStatus, TDes8& aDes1, TDes8& aDes2);	
       
    55 private:
       
    56 	/**
       
    57 	 * Holds the list of services retrieved from the TSY
       
    58 	 */
       
    59 	CPcktMbmsMonitoredServiceList* iResults;
       
    60 	/**
       
    61 	 * Holds a reference to packet service object
       
    62 	 */
       
    63 	RPacketService& iService;
       
    64 	};
       
    65 	
       
    66 NONSHARABLE_CLASS(CRetrievePcktMbmsSessionList) : public CAsyncRetrieveVariableLengthBufferV2
       
    67 /** 
       
    68  * It is used to retrieve MBMS sessions from TSY.
       
    69  * It inherits from CAsyncRetrieveVariableLengthBufferV2, active object derived class that
       
    70  * enables retrieval of data of variable length - length of data is retrieved by
       
    71  * the first IPC it issues, and actual data via second IPC.
       
    72  * @publishedPartner
       
    73  * @released
       
    74 */
       
    75 	{
       
    76 public:
       
    77 	IMPORT_C static CRetrievePcktMbmsSessionList* NewL(RPacketMbmsContext& aPcktMbmsContext, RPacketMbmsContext::CMbmsSession& aSessionIdList);
       
    78 	IMPORT_C void Start(TRequestStatus& aReqStatus);
       
    79 protected:
       
    80 	virtual void Get(TInt aIpc, TRequestStatus& aReqStatus, TDes8& aDes1, TDes8& aDes2);
       
    81 	virtual void CancelReq(TInt aIpc1, TInt aIpc2);
       
    82 protected:
       
    83 	virtual void RestoreListL();	
       
    84 	CRetrievePcktMbmsSessionList(RPacketMbmsContext& aPcktMbmsContext, RPacketMbmsContext::CMbmsSession& aSessionIdList);
       
    85 protected:
       
    86 	/**
       
    87 	 * Holds reference to MBMS context.
       
    88 	 */
       
    89 	RPacketMbmsContext& iPcktMbmsContext;
       
    90 	/**
       
    91 	 * Holds the list of MBMS sessions of a MBMS service
       
    92 	 */
       
    93 	RPacketMbmsContext::CMbmsSession& iSessionIdList;
       
    94 	/**
       
    95 	 * Holds the session and subsession handles for server side authentication.
       
    96 	 */
       
    97 	TPckgBuf<TClientId> iId;
       
    98 	};
       
    99 	
       
   100 #endif // _PCKTRETRIEVE_H_
       
   101