class RPacketService : public RTelSubSessionBase |
Defines a packet-switched connection to a packet network.
This is the main packet network class. It encapsulates functionality associated with controlling a packet-switched connection: attaching, detaching, querying packet network capabilities, etc.
Protected Member Functions | |
---|---|
IMPORT_C void | ConstructL () |
IMPORT_C void | Destruct () |
Private Member Functions | |
---|---|
TInt | PrepareOpenSecondary (const TDesC &) |
Inherited Enumerations | |
---|---|
RTelSubSessionBase:TReqPriorityType |
Public Member Type Definitions | |
---|---|
typedef | TUint TDynamicCapsFlags |
typedef | TPckg < TMbmsServiceAvailabilityV1 > TMbmsServiceAvailabilityV1Pckg |
typedef | TPckg < TNifInfoV2 > TNifInfoV2Pckg |
Private Attributes | |
---|---|
CPacketPtrHolder * | iEtelPacketPtrHolder |
RMutex | iMutex |
Inherited Attributes | |
---|---|
RTelSubSessionBase::iPtrHolder |
IMPORT_C void | Attach | ( | TRequestStatus & | aStatus | ) | const |
Causes the phone to attempt an attach to the packet network, if it is not already attached.
This is an asynchronous function since attachment may take anything up to one minute in the worst case scenario.
Attachment may take anything up to one minute in the worst case scenario.
It is not often necessary to use this function as there is a separate setting to tell the phone either to attach at start-up, or to attach when a context is created. It is intended that this function only be utilized if the user has an option to choose exactly when to attach and detach.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketAttach) to cancel a previously placed asynchronous Attach() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, KErrAlreadyExists if the phone was already attached to a packet network, KErrPacketNetworkFailure if the phone cannot attach. |
IMPORT_C void | Close | ( | ) |
Closes the RPacketService subsession.
An opened RPacketService must be closed explicitily by calling Close() to prevent a resource (memory) leak.
IMPORT_C void | ConstructL | ( | ) | [protected, virtual] |
ConstructL for the RPacketService class
IMPORT_C void | DeactivateNIF | ( | TRequestStatus & | aStatus, |
const TDesC & | aContextName | |||
) | const |
This asynchronous method may be called by the client application.
Invokes a packet network deactivation of all associated contexts sharing the same network interaface (NIF) with the specified context (aContextName argument) using the tear down indication when requesting the deactivation operation for the specified context.
TRequestStatus & aStatus | TRequestStatus reference, enables asynchronous function call. |
const TDesC & aContextName | Name of Context to be deactivated. |
IMPORT_C void | Destruct | ( | ) | [protected, virtual] |
Destruct() method for the RPacketService class
IMPORT_C void | Detach | ( | TRequestStatus & | aStatus | ) | const |
Causes the phone to attempt to detach from the packet network, if it is not already.
This is an asynchronous function.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketDetach) to cancel a previously placed asynchronous Detach() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, KErrAlreadyExists if the phone was already detached, KErrInUse if at least one context is active. |
IMPORT_C void | EnumerateContexts | ( | TRequestStatus & | aStatus, |
TInt & | aCount, | |||
TInt & | aMaxAllowed | |||
) | const |
Retrieves both the number of opened contexts in the TSY, whether active or inactive, and the maximum possible number of contexts.
This is an asynchronous function.
Allows a client to determine whether they can open a new context.
The maximum number of possible contexts is not the maximum number of simultaneously active contexts, but the total number allowed. (The maximum possible number of simultaneously active contexts is currently limited to 1). Clients are thus able to determine whether they can open a new context or not.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketEnumerateContexts) to cancel a previously placed asynchronous EnumerateContexts() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or a system-wide error code if not successful. |
TInt & aCount | On completion, the number of opened contexts existing in the TSY. |
TInt & aMaxAllowed | On completion, the maximum number of opened contexts that are allowed in the TSY, or -1 if the maximum number of opened contexts is not available. |
IMPORT_C void | EnumerateContextsInNif | ( | TRequestStatus & | aStatus, |
const TDesC & | aExistingContextName, | |||
TInt & | aCount | |||
) | const |
This asynchronous method may be called by the client application.
It retrieves the number of contexts sharing a particular network interface, including the primary context (if it still exists) and the context specified in aExistingContextName.
TRequestStatus & aStatus | TRequestStatus reference, enables asynchronous function call |
const TDesC & aExistingContextName | The name of any context belonging to the network interface (NIF) |
TInt & aCount | Contains the number of contexts sharing a NIF. |
IMPORT_C void | EnumerateMbmsActiveServiceList | ( | TRequestStatus & | aStatus, |
TInt & | aCount, | |||
TInt & | aMaxAllowed | |||
) | const |
Retrieves both, the number of services in the Mbms Active service list in the TSY, and the maximum possible number of Mbms Active services.
This is an asynchronous function.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketEnumerateMbmsActiveServiceList) to cancel a previously placed asynchronous EnumerateMbmsActiveServiceList() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or a system-wide error code if not successful. |
TInt & aCount | On completion, the number of Mbms Active services existing in the TSY. |
TInt & aMaxAllowed | On completion, the maximum number of Mbms Active services that are allowed in the TSY. |
IMPORT_C void | EnumerateMbmsMonitorServiceList | ( | TRequestStatus & | aStatus, |
TInt & | aCount, | |||
TInt & | aMaxAllowed | |||
) | const |
Retrieves both, the number of services in the Mbms Monitor service list in the TSY, and the maximum possible number of Mbms Monitor services.
This is an asynchronous function.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketEnumerateMbmsMonitorServiceList) to cancel a previously placed asynchronous EnumerateMbmsMonitorServiceList() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or a system-wide error code if not successful. |
TInt & aCount | On completion, the number of Mbms Monitor services existing in the TSY. |
TInt & aMaxAllowed | On completion, the maximum number of Mbms Monitor services that are allowed in the TSY. |
IMPORT_C void | EnumerateNifs | ( | TRequestStatus & | aStatus, |
TInt & | aCount | |||
) | const |
This asynchronous method may be called by the client application.
It returns the number of defined packet network interfaces in the parameter aCount. One network interface (NIF) exists per local IP address, but there may be several PDP contexts per NIF, i.e. one primary and several secondary contexts, all sharing the IP address and other configuration information such as PDP type and APN.
TRequestStatus & aStatus | |
TInt & aCount | Number of defined packet network interfaces |
IMPORT_C TInt | GetAttachMode | ( | TAttachMode & | aMode | ) | const |
Retrieves the current mode of GPRS Attach mode, in version 1 of the API.
The asynchronous version should be used from v7.0S.
TAttachMode & aMode | On return, the current attachment mode. |
IMPORT_C void | GetAttachMode | ( | TRequestStatus & | aStatus, |
TAttachMode & | aMode | |||
) | const |
This asynchronous method may be called by the client. It has superseded the synchronous variant of this method. It will retrieve the current mode of the packet network attach operation.
TRequestStatus & aStatus | This is a reference to aTRequestStatus. |
TAttachMode & aMode | Has 2 values: RPacketService::EAttachWhenPossible and RPacketService::EAttachWhenNeeded. |
IMPORT_C void | GetContextInfo | ( | TRequestStatus & | aStatus, |
TInt | aIndex, | |||
TContextInfo & | aInfo | |||
) | const |
Retrieves information about a particular context.
It is usual to use this function in conjunction with the EnumerateContexts() function, which returns the current number of opened contexts.
This is an asynchronous function.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketGetContextInfo) to cancel a previously placed asynchronous GetContextInfo() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or KErrArgument if the aIndex is invalid. |
TInt aIndex | The index of the context to get. The valid range for aIndex will be between 0 and (n-1) where n is the number of open contexts returned by EnumerateContexts(). |
TContextInfo & aInfo | On completion, the context information. |
IMPORT_C void | GetContextNameInNif | ( | TRequestStatus & | aStatus, |
const TDesC & | aExistingContextName, | |||
TInt | aIndex, | |||
TDes & | aContextName | |||
) | const |
This asynchronous method may be called by the client application.
It retrieves the name of the context specified by aIndex for a particular network interface, which is determined by aExistingContextName
TRequestStatus & aStatus | TRequestStatus reference, enables asynchronous function call |
const TDesC & aExistingContextName | The name of any context belonging to the network interface (NIF) |
TInt aIndex | Integer between 0 and (n-1) where n is the number of existing contexts sharing this network interface (as provided by EnumerateContextsInNif() method). |
TDes & aContextName | The name of the context specified by aIndex is returned in this parameter. |
IMPORT_C void | GetCurrentReleaseMode | ( | TRequestStatus & | aStatus, |
TPacketReleaseMode & | aReleaseMode | |||
) | const |
This asynchronous method may be called by the client application. It returns the current packet network release mode(Release97/98, Release 99 or Release 4).
TRequestStatus & aStatus | This is a reference to a TRequestStatus. |
TPacketReleaseMode & aReleaseMode |
IMPORT_C TInt | GetDefaultContextParams | ( | TDes8 & | aPckg | ) | const |
Retrieves the default context parameters that are stored in the phone, in version 1 of the API.
The asynchronous version should be used from v7.0S.
TDes8 & aPckg | On return, a RPacketContext::TContextConfigGPRS or RPacketContext::TContextConfigCDMA context configuration class packaged inside a TPckg<TContextConfigGPRS> or TPckg<TContextConfigCDMA> class. To determine how to correctly unpack the descriptor inside the TSY, the TSY must first cast the descriptor to a TPacketDataConfigBase pointer and check whether ExtensionId() returns KConfigGPRS, KConfigCDMA or KConfigRel99Rel4. |
IMPORT_C void | GetDefaultContextParams | ( | TRequestStatus & | aStatus, |
TDes8 & | aPckg | |||
) | const |
This asynchronous method may be called by the client. It has superseded the synchronous variant of this method.
It will retrieve the default context parameters that are stored in the ME.
TRequestStatus & aStatus | This is a reference to a TRequestStatus. |
TDes8 & aPckg | On completion contains the packaged default context parameters. aPckg should be a TPckg of a TPacketDataConfigBase derived class. |
IMPORT_C TInt | GetDynamicCaps | ( | TDynamicCapsFlags & | aCaps | ) | const |
Retrieves those capabilities of the TSY/phone that are dynamic.
This is a synchronous function.
TDynamicCapsFlags & aCaps | On return, a bitmask of the RPacketService::TDynamicCaps dynamic capabilities. |
IMPORT_C void | GetMSClass | ( | TRequestStatus & | aStatus, |
TMSClass & | aCurrentClass, | |||
TMSClass & | aMaxClass | |||
) | const |
Gets both the current class and the highest class of the mobile phone.
This is an asynchronous function.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketGetMSClass) to cancel a previously placed asynchronous GetMSClass() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or another of the system-wide error codes. |
TMSClass & aCurrentClass | On completion, the current class of the phone. |
TMSClass & aMaxClass | On completion, the highest possible class the phone can emulate. |
IMPORT_C void | GetMbmsNetworkServiceStatus | ( | TRequestStatus & | aStatus, |
TBool | aAttemptAttach, | |||
TMbmsNetworkServiceStatus & | aServiceStatus | |||
) | const |
Retrieves the MBMS network status of the phone. The indication of cell support for MBMS feature is only known from GMM Attach response from network or during Routing Area update. A consequence of this is that it is required for the UE to be in GMM Attach mode in order for either of these messages to be received. If the UE is not in GMM ATTACH then it is unable to determine MBMS network support.
There can be 3 states that MBMS feature availability could return, Unknown - when UE is not GMM Attached. Supported - When UE is GMM Attached and it is known that cell supports MBMS. Not Supported - When UE is GMM Attached and it is know that cell does not support MBMS.
This is an asynchronous function.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketGetMbmsNetworkServiceStatus) to cancel a previously placed asynchronous GetMbmsNetworkServiceStatus() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or a system-wide error code if not successful. |
TBool aAttemptAttach | On completion, the MBMS attach information,if it is true then GMM attached is perfomed, else any of the states is returned. |
TMbmsNetworkServiceStatus & aServiceStatus | On completion, the current mbms network service status of the phone. |
IMPORT_C void | GetNifInfo | ( | TRequestStatus & | aStatus, |
TInt | aIndex, | |||
TDes8 & | aNifInfoV2 | |||
) | const |
This asynchronous method may be called by the client application. It retrieves information about the network interface specified by the aIndex parameter. It is usual to use this function in conjunction with the EnumerateNifs() method, which returns the current number of defined packet Network interfaces in its 'aCount' argument.
TRequestStatus & aStatus | TRequestStatus reference, enables asynchronous function call |
TInt aIndex | Specifies network interface for which information is to be retrieved. The valid range for aIndex will be between 0 and (n-1) where n is the number returned in aCount. If an invalid index is specified the method will return KErrArgument in its aStatus. |
TDes8 & aNifInfoV2 | Reference to a TNifInfoV2 class packaged inside a TPckg<> class. Contains the returned Network Interface information |
IMPORT_C void | GetNtwkRegStatus | ( | TRequestStatus & | aStatus, |
TRegistrationStatus & | aRegistrationStatus | |||
) | const |
Retrieves the current registration status of the phone on the packet network.
This is an asynchronous function.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketGetNtwkRegStatus) to cancel a previously placed asynchronous GetNtwkRegStatus() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or a system-wide error code if not successful. |
TRegistrationStatus & aRegistrationStatus | On completion, the current registration status of the phone on the packet network. |
IMPORT_C TInt | GetPreferredBearer | ( | TPreferredBearer & | aBearer | ) | const |
Note that the synchronous variant of this method is deprecated. The asynchronous variant instead should be used.
Retrieves the currently selected preferred bearer to attach to when in Class C operation. The TSY should cache this value, so the function should return quickly hence there is no need for an asynchronous version.
TPreferredBearer & aBearer | On return will contain the selected preferred bearer. |
IMPORT_C void | GetPreferredBearer | ( | TRequestStatus & | aStatus, |
TPreferredBearer & | aBearer | |||
) | const |
This asynchronous function retrieves the currently selected preferred bearer to attach to when in Class C operation.
TRequestStatus & aStatus | A reference to a TRequestStatus which on completion will contain the result code. |
TPreferredBearer & aBearer | On completion will contain the selected preferred bearer. |
IMPORT_C TInt | GetStaticCaps | ( | TUint & | aCaps, |
RPacketContext::TProtocolType | aPdpType | |||
) | const |
Retrieves those capabilities of the TSY/phone that are static.
This is a synchronous function.
TUint & aCaps | On return, a bitmask of the TStaticMiscCaps static capabilities. |
RPacketContext::TProtocolType aPdpType | The static parameters may be different depending on the PdpType supported on the phone. Hence the client must pass in the current PdpType for which they wish to receive static capabilities. |
IMPORT_C TInt | GetStatus | ( | TStatus & | aPacketStatus | ) | const |
Gets the status of the current packet service.
This is a synchronous function.
TStatus & aPacketStatus | On return, the current packet service status. |
IMPORT_C void | NotifyAttachModeChange | ( | TRequestStatus & | aStatus, |
TAttachMode & | aMode | |||
) | const |
Notifies the client when there is a change in the current mode of the packet network attach operation.
TRequestStatus & aStatus | This is a reference to a TRequestStatus. |
TAttachMode & aMode | Has 2 values: RPacketService::EAttachWhenPossible and RPacketService::EAttachWhenNeeded. |
IMPORT_C void | NotifyChangeOfNtwkRegStatus | ( | TRequestStatus & | aStatus, |
TRegistrationStatus & | aRegistrationStatus | |||
) | const |
Allows a client to be notified whenever a change in the status of the packet network registration is detected.
This is an asynchronous function.
Once the notification completes, the client must then re-post the notification if they wish to continue receiving further notifications.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketNotifyChangeOfNtwkRegStatus) to cancel a previously placed asynchronous NotifyChangeOfNtwkRegStatus() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or a system-wide error code if not successful. |
TRegistrationStatus & aRegistrationStatus | On completion, the new registration status of the phone on the packet network. |
IMPORT_C void | NotifyContextActivationRequested | ( | TRequestStatus & | aStatus, |
TDes8 & | aContextParameters | |||
) | const |
Completes when the phone receives a request from the packet network to activate a PDP context.
This is an asynchronous function.
Depending on the type of network, the aContextParameters may contain the PDP type requested, the PDP address for this context, and possibly the Access Point Name (APN) of the gateway to connect to.
To determine how to correctly unpack the aContextParameters descriptor inside the TSY, the TSY must first cast the descriptor to a TPacketDataConfigBase pointer and check whether ExtensionId() returns KConfigGPRS, KConfigCDMA or KConfigRel99Rel4. The TSY will then cast the descriptor to the correct TPacketDataConfigBase-derived class.
Once the notification completes, the client must then re-post the notification if they wish to continue receiving further notifications.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketNotifyContextActivationRequested) to cancel a previously placed asynchronous NotifyContextActivationRequested() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or a system-wide error code if not successful. |
TDes8 & aContextParameters | A TContextConfigXXX context configuration object packaged as a TPckg<TContextConfigXXX>. |
IMPORT_C void | NotifyContextAdded | ( | TRequestStatus & | aStatus, |
TDes & | aContextId | |||
) | const |
Notifies the client whenever a new context ( RPacketContext ) is configured on the phone by a client using RPacketContext::SetConfig() .
This is an asynchronous function.
Once the notification completes, the client must then re-post the notification if they wish to continue receiving further notifications.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketNotifyContextAdded) to cancel a previously placed asynchronous NotifyContextAdded() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, a system-wide error code if not. |
TDes & aContextId | On completion, the name of the newly added context. The name is assigned by the TSY and uniquely identifies the particular context. |
IMPORT_C void | NotifyDynamicCapsChange | ( | TRequestStatus & | aStatus, |
TDynamicCapsFlags & | aCaps | |||
) | const |
Completes when the dynamic packet data capabilities change.
This is an asynchronous function.
Once the notification completes, the client must then re-post the notification if they wish to continue receiving further notifications.
A common usage of the dynamic capabilities functions would be for GetDynamicCaps() to be called first to retrieve the current set of capabilities, and then the NotifyDynamicCapsChange() request to be posted to be kept informed of any changes.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketNotifyDynamicCapsChange) to cancel a previously placed asynchronous NotifyDynamicCapsChange() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, a system-wide error code if not. |
TDynamicCapsFlags & aCaps | On completion, a bitmask of the new RPacketService::TDynamicCaps dynamic capabilities. |
IMPORT_C void | NotifyMSClassChange | ( | TRequestStatus & | aStatus, |
TMSClass & | aNewClass | |||
) | const |
Completes when there is a change in the current GPRS class of the mobile station.
This is an asynchronous function.
Once the notification completes, the client must then re-post the notification if they wish to continue receiving further notifications.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketNotifyMSClassChange) to cancel a previously placed asynchronous NotifyMSClassChange() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, otherwise another of the system wide error codes. |
TMSClass & aNewClass | On completion, the new packet class. |
IMPORT_C void | NotifyMbmsNetworkServiceStatusChange | ( | TRequestStatus & | aStatus, |
TMbmsNetworkServiceStatus & | aServiceStatus | |||
) | const |
Allows a client to be notified whenever a change in the MBMS network service status identified. There can be 3 states that MBMS feature availability could return, Unknown - when UE is not GMM Attached. Supported - When UE is GMM Attached and it is known that cell supports MBMS. Not Supported - When UE is GMM Attached and it is known that cell does not support MBMS.
This is an asynchronous function.
Once the notification completes, the client must re-post the notification if the client wish to continue receiving further notifications.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketNotifyMbmsNetworkServiceStatusChange) to cancel a previously placed asynchronous NotifyMbmsNetworkServiceStatusChange() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or a system-wide error code if not successful. |
TMbmsNetworkServiceStatus & aServiceStatus | On completion, the current mbms network service status of the phone. |
IMPORT_C void | NotifyMbmsServiceAvailabilityChange | ( | TRequestStatus & | aReqStatus | ) | const |
Notifies the client that changes have been made to the MBMS Service availability list. When it completes, it does not return the new version of the list so the client will have to retrieve the list again if interested in the new list.
TRequestStatus & aReqStatus | returns the result code after the asynchronous call completes. |
IMPORT_C void | NotifyReleaseModeChange | ( | TRequestStatus & | aStatus, |
TPacketReleaseMode & | aReleaseMode | |||
) | const |
This asynchronous notification function may be called by the client.
It completes if the packet release mode of the network changes.
TRequestStatus & aStatus | This is a reference to a TRequestStatus. |
TPacketReleaseMode & aReleaseMode | This will contain the new mode (Release97/98, Release 99 or Release 4) |
IMPORT_C void | NotifyStatusChange | ( | TRequestStatus & | aStatus, |
TStatus & | aPacketStatus | |||
) | const |
Allows a client to be notified of a change in the status of the connection to the packet service.
This is an asynchronous function.
Once the notification completes, the client must then re-post the notification if they wish to continue receiving further notifications.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketNotifyStatusChange) to cancel a previously placed asynchronous NotifyStatusChange() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, otherwise another of the system wide error codes. |
TStatus & aPacketStatus | On completion, the new packet status |
IMPORT_C TInt | Open | ( | RPhone & | aPhone | ) |
Creates a RPacketService subsession from an existing RPhone session.
An opened RPacketService must be closed explicitily by calling Close() to prevent a resource (memory) leak.
RPhone & aPhone | A reference to an existing RPhone session the client has previously created. |
TInt | PrepareOpenSecondary | ( | const TDesC & | aOriginalContextName | ) | [private] |
This is an internal API method. It is not intended for direct client access. It is called from RPacketContext::OpenNewSecondaryContext() .
It passes the name of the context (which is to spawn a secondary context) to the TSY. This alerts the TSY to the fact that the next context creation call is going to be for a secondary context.
const TDesC & aOriginalContextName | Name of the original context that this secondary context is spawned from. |
IMPORT_C void | RejectActivationRequest | ( | TRequestStatus & | aStatus | ) | const |
Causes the phone to reject the network's request for a PDP context activation.
This is an asynchronous function.
There is no corresponding "accept" message for the phone to send. To accept, the phone should simply begin to activate a PDP context with the appropriate IP address before the network's timer expires. On GPRS, this timer last between 5 and 8 seconds, but may effectively last between around 25 and 40 seconds, as the specifications state that the activation request should be re-sent up to five times.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketRejectActivationRequest) to cancel a previously placed asynchronous RejectActivationRequest() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, or a system-wide error code if not successful. |
IMPORT_C TInt | SetAttachMode | ( | TAttachMode | aMode | ) | const |
Sets when the attachment to the GPRS network should occur, in version 1 of the API.
In either mode, the manual Attach() and Detach() functions will force the attach or detach respectively, as long as it is a valid action.
The asynchronous version should be used from v7.0S.
TAttachMode aMode | The attach mode. |
IMPORT_C void | SetAttachMode | ( | TRequestStatus & | aStatus, |
TAttachMode | aMode | |||
) | const |
This asynchronous method may be called by the client. It has superseded the synchronous variant of this method.
It sets when the 'attach' to the packet network should occur.
TRequestStatus & aStatus | A reference to a TRequestStatus. |
TAttachMode aMode | This parameter contains instructions for this method: RPacketService::EAttachWhenPossible and RPacketService::EAttachWhenNeeded. |
IMPORT_C TInt | SetDefaultContextParams | ( | const TDesC8 & | aPckg | ) | const |
Sets the default context parameters in the phone, in version 1 of the API. The default context parameters are the parameters which the phone will use if no context parameters have been explicitly set up via either the ETel API or AT commands from an external PC.
The actual context parameters are set up in the RPacketContext::TContextConfigGPRS or RPacketContext::TContextConfigCDMA structure.
To determine how to correctly unpack the descriptor inside the TSY, the TSY must first cast the descriptor to a TPacketDataConfigBase pointer and check whether ExtensionId() returns KConfigGPRS, KConfigCDMA or KConfigRel99Rel4. The TSY will then cast the descriptor to the correct TPacketDataConfigBase-derived class.
The asynchronous version should be used from v7.0S.
const TDesC8 & aPckg | A TContextConfigXXX context configuration class packaged as a TPckg<TContextConfigXXX>. |
IMPORT_C void | SetDefaultContextParams | ( | TRequestStatus & | aStatus, |
const TDesC8 & | aPckg | |||
) | const |
This asynchronous method may be called by the client. It has superseded the synchronous variant of this method.
It will set the default context parameters in the ME. These are the parameters the ME will use if no explicit context parameters have previously been set up.
To determine how to correctly unpack the descriptor inside the TSY, the TSY must first cast The descriptor to a TPacketDataConfigBase pointer and check the iExtensionId. Depending on the iExtensionId, the TSY will then cast the descriptor to the correct TPacketDataConfigBase-derived class.
TRequestStatus & aStatus | A reference to a TRequestStatus. |
const TDesC8 & aPckg | A TContextConfigGPRS or TContextConfigCDMA context configuration class packaged inside a TPckg<TContextConfigGPRS> or TPckg<TContextConfigCDMA> class. |
IMPORT_C void | SetMSClass | ( | TRequestStatus & | aStatus, |
TMSClass | aClass | |||
) | const |
Sets the current packet class of the mobile station. This should never be higher than the maximum packet class of the mobile station.
It is expected that this function will be used to force a ClassSuspensionRequired mobile into a Class C mode of operation: either packet or circuit-switched only. This is useful, for instance, in a situation where the user is billed for incoming circuit-switched calls (a practice of U.S. network operators) and does not wish to be available for incoming calls for long periods of time, but does want to keep the packet side of the phone always on and always connected.
This is an asynchronous function.
Once the notification completes, the client must then re-post the notification if they wish to continue receiving further notifications.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketSetMSClass) to cancel a previously placed asynchronous SetMSClass() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, orKErrTooBig if the requested class is higher than the maximum class supported by the phone. |
TMSClass aClass | The new packet class for the mobile station. |
IMPORT_C void | SetPreferredBearer | ( | TRequestStatus & | aStatus, |
TPreferredBearer | aBearer | |||
) | const |
Sets the preferred bearer for the Mobile Terminal to use when as default when dropping from Class B operation to Class C. This could happen when the Mobile Terminal moves into a Routing Area of cells or new GPRS network which operates in Network Mode III. (Class C operation requires that the Mobile Terminal is attached to either GSM or GPRS, not both.)
Should the Mobile Terminal be a Class C only device, this function is used simply to switch bearers. If the required bearer is GSM, the Mobile Terminal will immediately attempt to attach to the GSM service. If GPRS, the Mobile Terminal may either immediately attempt to attach to the GPRS service or wait until context activation to attach, depending on the current attach mode as defined by TAttachMode.
This is an asynchronous function.
Use RTelSubSessionBase::CancelAsyncRequest(EPacketSetPrefBearer) to cancel a previously placed asynchronous SetPreferredBearer() request.
TRequestStatus & aStatus | On completion, KErrNone if successful, a system-wide error code if not. |
TPreferredBearer aBearer | The new preferred bearer. |
IMPORT_C void | UpdateMbmsMonitorServiceListL | ( | TRequestStatus & | aReqStatus, |
const TMbmsAction | aAction, | |||
CPcktMbmsMonitoredServiceList * | aList = NULL | |||
) | const |
Updates the MBMS monitor service availability list with the entries as per the action mentioned in second parameter. The list, which is supplied by the client in an instance of CRetrievePcktMbmsServiceAvailability, should not contain more entries than can be stored. This method will store all the mbms service availability list entries in the CPcktMbmsMonitoredServiceList into the packet storage.
TRequestStatus & aReqStatus | returns the result code after the asynchronous call completes. Completes with KErrNotFound, if all the supplied entries are invalid for removal. Completes with KErrMbmsImpreciseServiceEntries, if some of the valid entries cannot be removed. |
const TMbmsAction aAction | Holds the MBMS action(add, remove or remove all). |
CPcktMbmsMonitoredServiceList * aList = NULL | List of Mbms service availability to be stored phone-side. |
Defines when the attachment to the GPRS network should occur.
Modes: GPRS
EAttachWhenPossible |
The phone will attach to the packet network whenever it can. |
EAttachWhenNeeded |
The phone will attach to the packet network only when required (e.g. when activating a connection). |
Dynamic capabilities.
Modes: GPRS/CDMA
KCapsActivate = 0x00000001 |
Activate supported. Modes: GPRS/CDMA |
KCapsRxCSCall = 0x00000002 |
Rx Circuit Switched call supported. Modes: GPRS/CDMA |
KCapsRxContextActivationReq = 0x00000004 |
RX context activation request supported. Modes: GPRS/CDMA |
KCapsManualAttach = 0x00000008 |
Manual attach supported. Modes: GPRS |
KCapsManualDetach = 0x00000010 |
Manual detach supported. Modes: GPRS |
KCapsSMSTransfer = 0x00000020 |
SMS transfer supported. Modes: GPRS |
KCapsCDMAOneLowSpeedDataAllowed = 0x00000040 |
Service Option (7,15) or (8,16). Modes: CDMA 9.5 |
KCapsCDMAOneHighSpeedDataAllowed = 0x00000080 |
Service Option (22-25) or (26-29). Modes: CDMA 9.5 |
KCapsCDMA2000HighSpeedDataAllowed = 0x00000100 |
Service Option 33 or 34. Modes: CDMA 9.5 |
KCapsHSDPA = 0x00000200 |
HSDPA is currently being used Modes: WCDMA |
KCapsEGPRS = 0x00000400 |
EGPRS is currently being used Modes: GPRS/WCDMA |
KCapsHSUPA = 0x00000800 |
HSUPA is currently being used Modes: WCDMA |
KCapsMBMS = 0x00001000 |
MBMS is currently being used Modes: GPRS/WCDMA |
MS class configuration.
EMSClassDualMode |
Active simultaneous PS and CS calls supported (Class A). |
EMSClassSuspensionRequired |
Active CS and Suspended PS simultaneous calls supported (Class B). |
EMSClassAlternateMode |
Active CS or Active PS only call supported (Class C). |
EMSClassCircuitSwitchedOnly |
Active CS only call supported (Class C). |
EMSClassPacketSwitchedOnly |
Active PS only call supported (Class C) |
EMSClassUnknown |
Unknown what configuration is supported |
EReleaseModeUnknown | |
EReleaseModeUnregistered | |
EReleaseMode97_98 | |
EReleaseMode99 | |
EReleaseMode4 | |
EReleaseModeCDMA2000 |
The preferred bearer.
EBearerPacketSwitched |
Packet Switched (PS) bearer preferred. |
EBearerCircuitSwitched |
Circuit Switched (CS) bearer preferred. |
Packet Network Registration/Availability.
ENotRegisteredNotSearching |
Not registered and not searching for a network. A network may or may not be available. |
ERegisteredOnHomeNetwork |
Registered on a home network. |
ENotRegisteredSearching |
Not registered but searching for a network. |
ERegistrationDenied |
Registration denied. |
EUnknown |
Registration status unknown. |
ERegisteredRoaming |
Registered on foreign network. |
ENotRegisteredButAvailable |
Not registered or searching, but network available. |
ENotRegisteredAndNotAvailable |
Not registered or searching, and network not available. |
Static capabilities.
Modes: GPRS
KCapsSuspendSupported = 0x0001 |
Suspend supported. Modes: GPRS |
KCapsAASupported = 0x0002 |
Anonymous Access supported. Modes: GPRS |
KCapsNetworkAvailabilitySupported = 0x0004 |
Network availability supported. Modes: GPRS |
KCapsSetDefaultContextSupported = 0x0008 |
Set default context supported. Modes: GPRS |
KCapsChangeAttachModeSupported = 0x0010 |
Change attach mode supported. Modes: GPRS |
KCapsGetDataTransferredSupported = 0x0020 |
Get data transferred supported. Modes: GPRS |
KCapsNotifyDataTransferredSupported = 0x0040 |
Notify data transferred supported Modes: GPRS |
KCapsPreferredBearerSupported = 0x0080 |
Preferred bearer supported. Modes: GPRS |
KCapsPdpDataCompSupported = 0x0100 |
PDP data compression supported. Modes: GPRS |
KCapsPdpHeaderCompSupported = 0x0200 |
PDP header compression supported Modes: GPRS |
KCapsMSClassSupported = 0x0400 |
MS class supported. Modes: GPRS |
KCapsNotifyMSClassSupported = 0x0800 |
Notify MS class changes supported. Modes: GPRS |
KCapsCDMAOneLowSpeedDataSupported = 0x00001000 |
Service Option (7,15) or (8,16). Modes: CDMA2000 9.5 |
KCapsCDMAOneHighSpeedDataSupported = 0x00002000 |
Service Option (22-25) or (26-29). Modes: CDMA2000 9.5 |
KCapsCDMA2000HighSpeedDataSupported = 0x00004000 |
Service Option 33 or 34. Modes: CDMA2000 9.5 |
KCapsProtocolPPPSupported = 0x00008000 |
PPP protocol supported. Modes: CDMA2000 9.5 |
KCapsProtocolCDPDSupported = 0x00010000 |
CDPD protocol supported Modes: CDMA2000 9.5 |
KCapsPacketReleaseModeSupported = 0x00020000 | |
KCapsNotifyReleaseModeChangeSupported = 0x00040000 | |
KCapsHSDPASupported = 0x00080000 |
The phone supports HSDPA Modes: WCDMA |
KCapsEGPRSSupported = 0x00100000 |
The phone supports EGPRS Modes: GPRS/WCDMA |
KCapsHSUPASupported = 0x00200000 |
The phone supports HSUPA Modes: WCDMA |
KCapsMBMSSupported = 0x00400000 |
The phone supports MBMS Modes: GPRS/WCDMA |
Defines the packet data connection status.
EStatusUnattached |
Unattached to network and inactive packet data connection. |
EStatusAttached |
Attached to network and inactive packet data connection. |
EStatusActive |
Attached to network and active packet data connection. |
EStatusSuspended |
Attached to network and suspended packet data connection. |
typedef TUint | TDynamicCapsFlags |
Typedef to hold the RPacketService::TDynamicCaps .
typedef TPckg < TMbmsServiceAvailabilityV1 > | TMbmsServiceAvailabilityV1Pckg |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.