telephonyserver/etelpacketdata/dtsy/pckttsy.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 // Copyright (c) 1997-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 //
       
    15 
       
    16 /**@file
       
    17    @internalComponent */
       
    18 #ifndef __PCKTTSY_H
       
    19 #define __PCKTTSY_H
       
    20 
       
    21 #include <e32base.h>
       
    22 #include <et_phone.h>
       
    23 #include "etelpckt.h"
       
    24 #include "coretsy.h"
       
    25 #include "pcktlist.h"
       
    26 
       
    27 class CListReadAllAttempt : public CBase
       
    28 	{
       
    29 public:
       
    30 	static CListReadAllAttempt* NewL(TClientId* aId, TTsyReqHandle aReqHandle);
       
    31 	~CListReadAllAttempt();
       
    32 
       
    33 protected:
       
    34 	CListReadAllAttempt(TClientId* aId, TTsyReqHandle aReqHandle);
       
    35 
       
    36 private:
       
    37 	void ConstructL();
       
    38 
       
    39 public:
       
    40 	CBufBase* iListBuf;
       
    41 	TClientId iClient;
       
    42 	TTsyReqHandle iReqHandle;
       
    43 	};
       
    44 
       
    45 class CGprsQoSDGprsTsy : public CSubSessionExtDummyBase
       
    46 /**
       
    47 Dummy Tsy class for QoS functionality.
       
    48 @internalComponent
       
    49 */
       
    50 	{
       
    51 public:
       
    52 	static CGprsQoSDGprsTsy* NewL(CPhoneFactoryDummyBase* aFac);
       
    53 	CGprsQoSDGprsTsy(CPhoneFactoryDummyBase* aFac);
       
    54 	void ConstructL();
       
    55 	~CGprsQoSDGprsTsy();
       
    56 public:
       
    57 	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
       
    58 	virtual TReqMode ReqModeL(const TInt aIpc);
       
    59 	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
       
    60 	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
       
    61 	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
       
    62 	virtual void Init();
       
    63 	virtual TInt RegisterNotification(const TInt aIpc);
       
    64 	virtual TInt DeregisterNotification(const TInt aIpc);
       
    65 	virtual TInt NumberOfSlotsL(const TInt aIpc);
       
    66 
       
    67 private:
       
    68 	TInt SetProfile(const TTsyReqHandle aTsyReqHandle,const TDesC8* aConfig);
       
    69 	TInt SetProfileCancel(const TTsyReqHandle aTsyReqHandle);
       
    70 	TInt GetProfile(const TTsyReqHandle aTsyReqHandle,TDes8* aConfig);
       
    71 	TInt GetProfileCancel(const TTsyReqHandle aTsyReqHandle);
       
    72 	TInt GetProfileCaps(const TTsyReqHandle aTsyReqHandle, TDes8* aConfig);
       
    73 	TInt GetProfileCapsCancel(const TTsyReqHandle aTsyReqHandle);
       
    74 	// Notify changed. Useful for a second client with handle to context object to know
       
    75 	// when the first client has configured the context.
       
    76 	TInt NotifyProfileChanged(const TTsyReqHandle aTsyReqHandle, TDes8* aConfig);
       
    77 	TInt NotifyProfileChangedCancel(const TTsyReqHandle aTsyReqHandle);
       
    78 private:
       
    79 	TInt iNotifyProfileChanged;
       
    80 	TInt iSetProfile;
       
    81 	TInt iGetProfile;
       
    82 	TInt iGetProfileCaps;
       
    83 	TTsyReqHandle iTsyAsyncReqHandle;	
       
    84 	};
       
    85 
       
    86 
       
    87 class CGprsContextDGprsTsy : public CSubSessionExtDummyBase
       
    88 /**
       
    89 Dummy Tsy class for Packet context functionality.
       
    90 @internalComponent
       
    91 */
       
    92 	{
       
    93 public:
       
    94 	static CGprsContextDGprsTsy* NewL(CPhoneFactoryDummyBase* aFac);
       
    95 	CGprsContextDGprsTsy(CPhoneFactoryDummyBase* aFac);
       
    96 	void ConstructL();
       
    97 	~CGprsContextDGprsTsy();
       
    98 public:
       
    99 	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
       
   100 	virtual TReqMode ReqModeL(const TInt aIpc);
       
   101 	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
       
   102 	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
       
   103 	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
       
   104 	virtual void Init();
       
   105 	virtual TInt RegisterNotification(const TInt aIpc);
       
   106 	virtual TInt DeregisterNotification(const TInt aIpc);
       
   107 	virtual TInt NumberOfSlotsL(const TInt aIpc);
       
   108 protected:
       
   109 	TInt SetConfig(const TTsyReqHandle aTsyReqHandle,const TDesC8* aConfig);
       
   110 	TInt SetConfigCancel(const TTsyReqHandle aTsyReqHandle);
       
   111 
       
   112 	TInt GetConfig(const TTsyReqHandle aTsyReqHandle,TDes8* aConfig);
       
   113 	TInt GetConfigCancel(const TTsyReqHandle aTsyReqHandle);
       
   114 
       
   115 	// Notify changed. Useful for a second client with handle to context object to know
       
   116 	// when the first client has configured the context. 
       
   117 
       
   118 	TInt NotifyConfigChanged(const TTsyReqHandle aTsyReqHandle, TDes8* aConfig);
       
   119 	TInt NotifyConfigChangedCancel(const TTsyReqHandle aTsyReqHandle);
       
   120 
       
   121 	TInt Activate(const TTsyReqHandle aTsyReqHandle);
       
   122 	TInt ActivateCancel(const TTsyReqHandle aTsyReqHandle);
       
   123 
       
   124 	TInt Deactivate(const TTsyReqHandle aTsyReqHandle);
       
   125 	TInt DeactivateCancel(const TTsyReqHandle aTsyReqHandle);
       
   126 
       
   127 	TInt Delete(const TTsyReqHandle aTsyReqHandle);
       
   128 	TInt DeleteCancel(const TTsyReqHandle aTsyReqHandle);
       
   129 
       
   130 	TInt LoanCommPort(const TTsyReqHandle aTsyReqHandle,RCall::TCommPort* aDataPort);
       
   131 	TInt LoanCommPortCancel(const TTsyReqHandle aTsyReqHandle);
       
   132 	TInt RecoverCommPort(const TTsyReqHandle aTsyReqHandle);
       
   133 	TInt RecoverCommPortCancel(const TTsyReqHandle aTsyReqHandle);
       
   134 
       
   135 	TInt GetStatus(const TTsyReqHandle aTsyReqHandle,RPacketContext::TContextStatus* aContextStatus);
       
   136 	TInt NotifyStatusChange(const TTsyReqHandle aTsyReqHandle,RPacketContext::TContextStatus* aContextStatus);
       
   137 	TInt NotifyStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
       
   138 	TInt GetProfileName(const TTsyReqHandle aTsyReqHandle, TName* aQoSProfile);
       
   139 
       
   140 	TInt GetConnectionSpeed(const TTsyReqHandle aTsyReqHandle,TUint* aRate); 
       
   141 	TInt NotifyConnectionSpeedChange(const TTsyReqHandle aTsyReqHandle, TUint* aRate);
       
   142 	TInt NotifyConnectionSpeedChangeCancel(const TTsyReqHandle aTsyReqHandle);
       
   143 	
       
   144 	TInt GetDataVolumeTransferred(const TTsyReqHandle aTsyReqHandle,RPacketContext::TDataVolume* aVolume); 
       
   145 	TInt GetDataVolumeTransferredCancel(const TTsyReqHandle aTsyReqHandle);
       
   146 
       
   147 	TInt NotifyDataTransferred(const TTsyReqHandle aTsyReqHandle, RPacketContext::TDataVolume* aVolume, RPacketContext::TNotifyDataTransferredRequest* aData); 
       
   148 	TInt NotifyDataTransferredCancel(const TTsyReqHandle aTsyReqHandle); 
       
   149 
       
   150 	TInt GetLastErrorCause(const TTsyReqHandle aTsyReqHandle,TInt* aError);
       
   151 
       
   152 	TInt InitialiseContext(const TTsyReqHandle aTsyReqHandle, TDes8* aDataChannel);
       
   153 	TInt InitialiseContextCancel(const TTsyReqHandle aTsyReqHandle);
       
   154 
       
   155 	TInt EnumeratePacketFilters(const TTsyReqHandle aTsyReqHandle,TInt* aCount);
       
   156 	TInt EnumeratePacketFiltersCancel(const TTsyReqHandle aTsyReqHandle);
       
   157 
       
   158 	TInt GetPacketFilterInfo(const TTsyReqHandle aTsyReqHandle,TInt* aIndex, TDes8* aPacketFilterInfo);
       
   159 	TInt GetPacketFilterInfoCancel(const TTsyReqHandle aTsyReqHandle);
       
   160 
       
   161 	TInt AddPacketFilter(const TTsyReqHandle aTsyReqHandle, const TDesC8* aPacketFilterInfo);
       
   162 	TInt AddPacketFilterCancel(const TTsyReqHandle aTsyReqHandle);
       
   163 
       
   164 	TInt RemovePacketFilter(const TTsyReqHandle aTsyReqHandle,TInt* aId);
       
   165 	TInt RemovePacketFilterCancel(const TTsyReqHandle aTsyReqHandle);
       
   166 
       
   167 	TInt ModifyActiveContext(const TTsyReqHandle aTsyReqHandle);
       
   168 	TInt ModifyActiveContextCancel(const TTsyReqHandle aTsyReqHandle);
       
   169 
       
   170 	TInt GetDnsInfo(const TTsyReqHandle aTsyReqHandle, const TDesC8* aDnsInfo); 
       
   171 	TInt GetDnsInfoCancel(const TTsyReqHandle aTsyReqHandle);
       
   172 	
       
   173 	TInt CreateNewTFT(const TTsyReqHandle aTsyReqHandle,const TInt* aTFT);
       
   174 	TInt CreateNewTFTCancel(const TTsyReqHandle aTsyReqHandle);
       
   175 	TInt DeleteTFT(const TTsyReqHandle aTsyReqHandle);
       
   176 	TInt DeleteTFTCancel(const TTsyReqHandle aTsyReqHandle);
       
   177 	
       
   178 	TInt GetAddMediaAuthorization(const TTsyReqHandle aTsyReqHandle, TDes8* aBuffer);
       
   179 	TInt GetRemoveMediaAuthorization(const TTsyReqHandle aTsyReqHandle, RPacketContext::TAuthorizationToken* aAuthorizationToken);
       
   180 	TInt GetAddMediaAuthorizationCancel(const TTsyReqHandle aTsyReqHandle);
       
   181 	TInt GetRemoveMediaAuthorizationCancel(const TTsyReqHandle aTsyReqHandle);
       
   182 
       
   183 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
       
   184     TInt GetConnectionInfo(const TTsyReqHandle aTsyReqHandle, TDes8* aInfo);
       
   185     TInt GetConnectionInfoCancel(const TTsyReqHandle aTsyReqHandle);
       
   186     TInt NotifyConnectionInfoChange(const TTsyReqHandle aTsyReqHandle, TDes8* aInfo);
       
   187     TInt NotifyConnectionInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
       
   188     TInt FillConnectionInfo(TDes8* aInfo);
       
   189 		
       
   190 #endif // SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
       
   191 protected:
       
   192 	TTsyReqHandle iTsyAsyncReqHandle;
       
   193 private:
       
   194 	TInt iNotifyConfigChanged;
       
   195 	TInt iNotifyStatusChange;
       
   196 	TInt iNotifyDataTransferred;
       
   197 	TInt iSetConfig;
       
   198 	TInt iGetConfig;
       
   199 	TInt iActivate;
       
   200 	TInt iDeactivate;
       
   201 	TInt iDelete;
       
   202 	TInt iLoanCommPort;
       
   203 	TInt iRecoverCommPort;
       
   204 	TInt iNotifySpeedChange;
       
   205 	TInt iGetDataVolumeTransferred;
       
   206 	TInt iInitialiseContext;
       
   207 	TInt iEnumeratePacketFilters;
       
   208 	TInt iGetPacketFilterInfo;
       
   209 	TInt iAddPacketFilter;
       
   210 	TInt iRemovePacketFilter;
       
   211 	TInt iModifyActiveContext;
       
   212 	TInt iGetDNSInfo;
       
   213 	TInt iAddMediaAuthorization;
       
   214 	TInt iRemoveMediaAuthorization;
       
   215     TInt iGetConnectionInfo;
       
   216     TInt iNotifyConnectionInfoChange;
       
   217 	TInt iGprsQoSObjectCount;
       
   218 	TInt iCreateNewTFT;
       
   219 	TInt iDeleteTFT;
       
   220 	};
       
   221 
       
   222 
       
   223 class CGprsDGprsTsy : public CSubSessionExtDummyBase
       
   224 /**
       
   225 Dummy Tsy class for Packet service functionality.
       
   226 @internalTechnology
       
   227 */
       
   228 	{
       
   229 public:
       
   230 	static CGprsDGprsTsy* NewL(CPhoneFactoryDummyBase* aFac);
       
   231 	CGprsDGprsTsy(CPhoneFactoryDummyBase* aFac);
       
   232 	void ConstructL();
       
   233 	~CGprsDGprsTsy();
       
   234 
       
   235 	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
       
   236 	virtual TReqMode ReqModeL(const TInt aIpc);
       
   237 	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
       
   238 	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
       
   239 	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
       
   240 	virtual void Init();
       
   241 	virtual TInt RegisterNotification(const TInt aIpc);
       
   242 	virtual TInt DeregisterNotification(const TInt aIpc);
       
   243 	virtual TInt NumberOfSlotsL(const TInt aIpc);
       
   244 	virtual RHandleBase* GlobalKernelObjectHandle();
       
   245 	
       
   246 	// methods for the list of aos which correspond to the outstanding delayed asyncrhonous reqs
       
   247 	TInt RemoveDelayedReq(const TTsyReqHandle aTsyReqHandle);
       
   248 	void AddDelayedReq(const TTsyReqHandle aTsyReqHandle, CTelObject *aTelObject);
       
   249 	// methods for the list of aos which correspond to the outstanding location services delayed asyncrhonous reqs
       
   250 	void AddDelayedReq(const TTsyReqHandle aTsyReqHandle, CTelObject *aTelObject,TInt aPriority);
       
   251 private:
       
   252 	void RegisterDelayedReqL(const TTsyReqHandle aTsyReqHandle, CTelObject *aTelObject);
       
   253 	void RegisterDelayedReqL(const TTsyReqHandle aTsyReqHandle, CTelObject *aTelObject,TInt aPriority);
       
   254 
       
   255 
       
   256 private:
       
   257 	TInt NotifyContextAdded(const TTsyReqHandle aTsyReqHandle, TDes* aContextId);
       
   258 	TInt NotifyContextAddedCancel(const TTsyReqHandle aTsyReqHandle);
       
   259 
       
   260 	TInt Attach(const TTsyReqHandle aTsyReqHandle);	
       
   261 	TInt AttachCancel(const TTsyReqHandle aTsyReqHandle);	
       
   262 
       
   263 	TInt Detach(const TTsyReqHandle aTsyReqHandle);	
       
   264 	TInt DetachCancel(const TTsyReqHandle aTsyReqHandle);	
       
   265 
       
   266 	TInt GetStatus(const TTsyReqHandle aTsyReqHandle,RPacketService::TStatus* aGprsStatus);
       
   267 	TInt NotifyStatusChange(const TTsyReqHandle aTsyReqHandle,RPacketService::TStatus* aGprsStatus);
       
   268 	TInt NotifyStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
       
   269 
       
   270 	TInt NotifyContextActivationRequested(const TTsyReqHandle aTsyReqHandle, TPacketDataConfigBase* aConfig);
       
   271 	TInt NotifyContextActivationRequestedCancel(const TTsyReqHandle aTsyReqHandle);
       
   272 
       
   273 	TInt RejectActivationRequest(const TTsyReqHandle aTsyReqHandle);
       
   274 	TInt RejectActivationRequestCancel(const TTsyReqHandle aTsyReqHandle);
       
   275 
       
   276 	TInt EnumerateContexts(const TTsyReqHandle aTsyReqHandle,TInt* aCount, TInt* aMaxAllowed);
       
   277 	TInt GetContextInfo(const TTsyReqHandle aTsyReqHandle,TInt* aIndex,RPacketService::TContextInfo* aInfo);
       
   278 	TInt GetContextInfoCancel(const TTsyReqHandle aTsyReqHandle);
       
   279 
       
   280 	TInt GetNtwkRegStatus(const TTsyReqHandle aTsyReqHandle,RPacketService::TRegistrationStatus* aRegistrationStatus);
       
   281 	TInt NotifyChangeOfNtwkRegStatus(const TTsyReqHandle aTsyReqHandle,RPacketService::TRegistrationStatus* aRegistrationStatus);
       
   282 	TInt NotifyChangeOfNtwkRegStatusCancel(const TTsyReqHandle aTsyReqHandle);
       
   283 
       
   284 	TInt GetMSClass(const TTsyReqHandle aTsyReqHandle, RPacketService::TMSClass* aCurrentClass, RPacketService::TMSClass* aMaxClass);
       
   285 	TInt GetMSClassCancel(const TTsyReqHandle aTsyReqHandle);
       
   286 
       
   287 	TInt SetMSClass(const TTsyReqHandle aTsyReqHandle, RPacketService::TMSClass* aClass);
       
   288 	TInt SetMSClassCancel(const TTsyReqHandle aTsyReqHandle);
       
   289 
       
   290 	TInt NotifyMSClassChange(const TTsyReqHandle aTsyReqHandle, RPacketService::TMSClass* aNewClass);
       
   291 	TInt NotifyMSClassChangeCancel(const TTsyReqHandle aTsyReqHandle);
       
   292 
       
   293 	TInt GetStaticCaps(const TTsyReqHandle aTsyReqHandle, TUint* aCaps, RPacketContext::TProtocolType* aPdpType);
       
   294 
       
   295 	TInt GetDynamicCaps(const TTsyReqHandle aTsyReqHandle, RPacketService::TDynamicCapsFlags* aCaps);
       
   296 	TInt NotifyDynamicCapsChange(const TTsyReqHandle aTsyReqHandle, RPacketService::TDynamicCapsFlags* aCaps);
       
   297 	TInt NotifyDynamicCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
       
   298 
       
   299 	TInt SetAttachMode(const TTsyReqHandle aTsyReqHandle, RPacketService::TAttachMode* aMode);
       
   300 	TInt SetAttachModeCancel(const TTsyReqHandle aTsyReqHandle);
       
   301 	TInt GetAttachMode(const TTsyReqHandle aTsyReqHandle, RPacketService::TAttachMode* aMode);
       
   302 	TInt GetAttachModeCancel(const TTsyReqHandle aTsyReqHandle);
       
   303 	TInt NotifyAttachModeChange(const TTsyReqHandle aTsyReqHandle, RPacketService::TAttachMode* aMode);
       
   304 	TInt NotifyAttachModeChangeCancel(const TTsyReqHandle aTsyReqHandle);	
       
   305 
       
   306 	TInt SetDefaultContextParams(const TTsyReqHandle aTsyReqHandle, const TDesC8* aPckg);
       
   307 	TInt SetDefaultContextParamsCancel(const TTsyReqHandle aTsyReqHandle);
       
   308 	TInt GetDefaultContextParams(const TTsyReqHandle aTsyReqHandle, TDes8* aPckg);
       
   309 	TInt GetDefaultContextParamsCancel(const TTsyReqHandle aTsyReqHandle);
       
   310 
       
   311 	TInt GetPreferredBearer(const TTsyReqHandle aTsyReqHandle, RPacketService::TPreferredBearer* aBearer);
       
   312 	TInt SetPreferredBearer(const TTsyReqHandle aTsyReqHandle, RPacketService::TPreferredBearer* aBearer);
       
   313 	TInt SetPreferredBearerCancel(const TTsyReqHandle aTsyReqHandle);
       
   314 	TInt GetPreferredBearerCancel(const TTsyReqHandle aTsyReqHandle);
       
   315 
       
   316 	TInt GetCurrentReleaseMode(const TTsyReqHandle aTsyReqHandle,RPacketService::TPacketReleaseMode* aMode);
       
   317 	TInt GetCurrentReleaseModeCancel(const TTsyReqHandle aTsyReqHandle);
       
   318 	TInt NotifyReleaseModeChange(const TTsyReqHandle aTsyReqHandle,RPacketService::TPacketReleaseMode* aMode);
       
   319 	TInt NotifyReleaseModeChangeCancel(const TTsyReqHandle aTsyReqHandle);
       
   320 
       
   321 	TInt EnumerateNifs(const TTsyReqHandle aTsyReqHandle, TInt* aCount);
       
   322 	TInt EnumerateNifsCancel(const TTsyReqHandle aTsyReqHandle);
       
   323 
       
   324 	TInt GetNifInfo(const TTsyReqHandle aTsyReqHandle, TInt* aIndex, TDes8* aNifInfoV2);
       
   325 	TInt GetNifInfoCancel(const TTsyReqHandle aTsyReqHandle);
       
   326 
       
   327 	TInt EnumerateContextsInNif(const TTsyReqHandle aTsyReqHandle, const TDesC* aExistingContextName, TInt* aCount);
       
   328 	TInt EnumerateContextsInNifCancel(const TTsyReqHandle aTsyReqHandle);
       
   329 
       
   330 	TInt GetContextNameInNif(const TTsyReqHandle aTsyReqHandle, RPacketService::TContextNameInNif* aContextNameInNif, TDes* aContextName);
       
   331 	TInt GetContextNameInNifCancel(const TTsyReqHandle aTsyReqHandle);
       
   332 
       
   333 	TInt PrepareOpenSecondary(const TTsyReqHandle aTsyReqHandle, const TDesC* aOriginalContextName);
       
   334 	
       
   335 	TInt DeactivateNIF(const TTsyReqHandle aTsyReqHandle, const TDesC* dataPtr);
       
   336 	TInt DeactivateNIFCancel(const TTsyReqHandle aTsyReqHandle);
       
   337 	
       
   338 	TInt NotifyMbmsNetworkServiceStatusChange(const TTsyReqHandle aTsyReqHandle, TMbmsNetworkServiceStatus* aStatus);
       
   339 	TInt NotifyMbmsNetworkServiceStatusChangeCancel(const TTsyReqHandle aTsyReqHandle);
       
   340 	
       
   341 	TInt GetMbmsNetworkServiceStatus(const TTsyReqHandle aTsyReqHandle, TBool* aAttemptAttach,TMbmsNetworkServiceStatus* aStatus);
       
   342 	TInt GetMbmsNetworkServiceStatusCancel(const TTsyReqHandle aTsyReqHandle);
       
   343 	
       
   344 	TInt NotifyMbmsServiceAvailabilityChange(const TTsyReqHandle aTsyReqHandle);
       
   345 	TInt NotifyMbmsServiceAvailabilityChangeCancel(const TTsyReqHandle aTsyReqHandle);
       
   346 	
       
   347 	TInt UpdateMbmsMonitorServiceListL(const TTsyReqHandle aTsyReqHandle,TMbmsAction* aAction, TDes8* aBuffer = NULL);
       
   348 	TInt UpdateMbmsMonitorServiceListCancel(const TTsyReqHandle aTsyReqHandle);
       
   349 
       
   350 	TInt GetMbmsMonitoredServicesPhase1(const TTsyReqHandle aTsyReqHandle, TClientId* aClient, TUint* aBufSize);
       
   351 	TInt ProcessGetMbmsMonitoredServicesPhase1L(const TTsyReqHandle aTsyReqHandle, TClientId* aClient, TUint* aBufSize);
       
   352 	TInt GetMbmsMonitoredServicesPhase2(const TTsyReqHandle aTsyReqHandle, TClientId* aClient, TDes8* aBufSize);
       
   353 	TInt GetMbmsMonitoredServicesCancel(const TTsyReqHandle aTsyReqHandle);
       
   354 	
       
   355 	TInt EnumerateMbmsActiveServiceList(const TTsyReqHandle aTsyReqHandle, TInt* aCount, TInt* aMaxAllowed);
       
   356 	TInt EnumerateMbmsActiveServiceListCancel(const TTsyReqHandle aTsyReqHandle);
       
   357 	
       
   358 	TInt EnumerateMbmsMonitorServiceList(const TTsyReqHandle aTsyReqHandle, TInt* aCount, TInt* aMaxAllowed);
       
   359 	TInt EnumerateMbmsMonitorServiceListCancel(const TTsyReqHandle aTsyReqHandle);
       
   360 protected:
       
   361 	TInt AddMbmsServicesToMonitorList(const TTsyReqHandle aTsyReqHandle);
       
   362 	TInt RemoveMbmsServicesFromMonitorList(const TTsyReqHandle aTsyReqHandle);
       
   363 		
       
   364 private:
       
   365 
       
   366 	class CActiveListNode : public CBase
       
   367 		{
       
   368 		public:
       
   369 			CActiveListNode(CActive *aActive, const TTsyReqHandle aTsyReqHandle);
       
   370 			virtual ~CActiveListNode();
       
   371 		public:
       
   372 			CActive *iActive;
       
   373 			const TTsyReqHandle iTsyReqHandle;
       
   374 			TSglQueLink iNext;
       
   375 		};
       
   376 
       
   377 
       
   378 	TInt FindDelayedReq(const TTsyReqHandle aTsyReqHandle, CActiveListNode *& aNode);
       
   379 	
       
   380 private: // data
       
   381 	TInt iNotifyContextAdded;
       
   382 	TInt iNotifyStatusChange;
       
   383 	TInt iNotifyContextActivationRequested;
       
   384 	TInt iNotifyChangeOfNtwkRegStatus;
       
   385 	TInt iNotifyMSClassChange;
       
   386 	TInt iNotifyDynamicCapsChange;
       
   387 	TInt iAttach;
       
   388 	TInt iDetach;
       
   389 	TInt iRejectActivationRequest;
       
   390 	TInt iGetContextInfo;
       
   391 	TInt iGetMSClass;
       
   392 	TInt iSetMSClass;
       
   393 	TInt iSetPrefBearer;
       
   394 	TInt iGetPrefBearer;
       
   395 	TInt iSetAttachMode;
       
   396 	TInt iGetAttachMode;
       
   397 	TInt iSetDefaultContextParams;
       
   398 	TInt iGetDefaultContextParams;
       
   399 	TInt iGetCurrentReleaseMode;
       
   400 	TInt iNotifyReleaseModeChange;
       
   401 	TInt iEnumerateNifs;
       
   402 	TInt iGetNifInfo;
       
   403 	TInt iEnumerateContextsInNif;
       
   404 	TInt iGetContextNameInNif;
       
   405 	TInt iGetPacketFilterInfo;
       
   406 	TInt iNotifyAttachModeChange;
       
   407 	
       
   408 	TTsyReqHandle iTsyAsyncReqHandle;
       
   409 
       
   410 	TInt iGprsContextObjectCount;
       
   411 	TInt iDeactivateNIF;
       
   412 	RMutex iMutex;
       
   413 	
       
   414 	TInt iNotifyMbmsNetworkServiceStatusChange;	
       
   415 	TInt iGetMbmsNetworkServiceStatus;
       
   416 	TInt iServiceAvailability;
       
   417 	TInt iServiceCount;
       
   418 	TInt iRemoveMbmsServices;
       
   419 	TInt iMbmsContextObjectCount;
       
   420 	CPcktMbmsMonitoredServiceList* iList;
       
   421 	CArrayPtrFlat<CListReadAllAttempt>* iGetMbmsMonitoredServices;
       
   422 	
       
   423 	TSglQue<CActiveListNode> iActiveRequestObjects;
       
   424 	};
       
   425 
       
   426 class CPhoneDGprsTsy : public CPhoneDummyBase
       
   427 /**
       
   428 Dummy Tsy class for Packet phone functionality.
       
   429 @internalComponent
       
   430 */
       
   431 	{
       
   432 public:
       
   433 	static CPhoneDGprsTsy* NewL(CPhoneFactoryDummyBase* aFac);
       
   434 	CPhoneDGprsTsy(CPhoneFactoryDummyBase* aFac);
       
   435 	void ConstructL();
       
   436 	~CPhoneDGprsTsy();
       
   437 public:
       
   438 	virtual void Init();
       
   439 	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
       
   440 	virtual CTelObject::TReqMode ReqModeL(const TInt aIpc);
       
   441 	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
       
   442 	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
       
   443 	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
       
   444 	virtual TInt RegisterNotification(const TInt aIpc);
       
   445 	virtual TInt DeregisterNotification(const TInt aIpc);
       
   446 	virtual TInt NumberOfSlotsL(const TInt aIpc);
       
   447 private:
       
   448 	static CPhoneDGprsTsy* This(TAny* aPtr);
       
   449 	};
       
   450 
       
   451 
       
   452 class CPhoneFactoryDGprsTsy: public CPhoneFactoryDummyBase
       
   453 /**
       
   454 Dummy Tsy class for Packet phone factory functionality.
       
   455 @internalComponent
       
   456 */
       
   457 	{
       
   458 public:
       
   459 	CPhoneFactoryDGprsTsy();
       
   460 	~CPhoneFactoryDGprsTsy();
       
   461 	virtual CPhoneBase* NewPhoneL(const TDesC& aName);
       
   462 	virtual TBool IsSupported(const TInt aMixin);
       
   463 private:
       
   464 	};
       
   465 
       
   466 //
       
   467 //	CDelayedCompleter
       
   468 //
       
   469 
       
   470 class CDelayedCompleter : public CTimer
       
   471 	{
       
   472 public:
       
   473 	static CDelayedCompleter *NewL(const TTsyReqHandle aTsyReqHandle, CGprsDGprsTsy *aGprsObject,
       
   474 		CTelObject *aTelObject);
       
   475 	void RunL();
       
   476 
       
   477 protected:
       
   478 	CDelayedCompleter(const TTsyReqHandle aTsyReqHandle, CGprsDGprsTsy *aGprsObject,
       
   479 		CTelObject *aTelObject);
       
   480 	void ConstructL();
       
   481 
       
   482 protected:
       
   483 	const TTsyReqHandle iTsyReqHandle;
       
   484 	CGprsDGprsTsy *iGprsObject;
       
   485 	CTelObject *iTelObject;
       
   486 	};
       
   487 	
       
   488 class CMbmsContextDMbmsTsy : public CGprsContextDGprsTsy
       
   489 	{
       
   490 public:
       
   491 	static CMbmsContextDMbmsTsy* NewL(CGprsDGprsTsy *aGprs,CPhoneFactoryDummyBase* aFac);
       
   492 	CMbmsContextDMbmsTsy(CGprsDGprsTsy *aGprs,CPhoneFactoryDummyBase* aFac);
       
   493 	void ConstructL();
       
   494 	~CMbmsContextDMbmsTsy();
       
   495 public:
       
   496 	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
       
   497 	virtual TReqMode ReqModeL(const TInt aIpc);
       
   498 	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
       
   499 	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
       
   500 	virtual TInt CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle);
       
   501 protected:
       
   502 	TInt GetMbmsSessionsPhase1(const TTsyReqHandle aTsyReqHandle, TClientId* aClient, TUint* aBufSize);
       
   503 	TInt ProcessGetMbmsSessionsPhase1L(const TTsyReqHandle aTsyReqHandle, TClientId* aClient, TUint* aBufSize);
       
   504 	TInt GetMbmsSessionsPhase2(const TTsyReqHandle aTsyReqHandle, TClientId* aClient, TDes8* aBufSize);
       
   505 	TInt GetMbmsSessionsCancel(const TTsyReqHandle aTsyReqHandle);
       
   506 	TInt UpdateMbmsSessionList(const TTsyReqHandle aTsyReqHandle,TMbmsAction* aAction, TMbmsSessionId* aSessionId = 0);	
       
   507 	TInt UpdateMbmsSessionListCancel(const TTsyReqHandle aTsyReqHandle);
       
   508 protected:
       
   509 	CGprsDGprsTsy *iGprs;
       
   510 	CArrayPtrFlat<CListReadAllAttempt>* iMbmsSessionList;
       
   511 	RPacketMbmsContext::CMbmsSession* iMbmsSession;
       
   512 protected:
       
   513 	TUint8 iRemoveAllCount;
       
   514 	};
       
   515 #endif
       
   516