RMobileSmsMessaging Class Reference

class RMobileSmsMessaging : public RTelSubSessionBase

Provides client access to SMS messaging functionality provided by TSY.

Inherits from

Public Member Functions
RMobileSmsMessaging()
IMPORT_C voidAckSmsStored(TRequestStatus &, const TDesC8 &, TBool)
IMPORT_C voidClose()
IMPORT_C TIntEnumerateMessageStores(TInt &)
IMPORT_C TIntGetCaps(TDes8 &)
IMPORT_C voidGetMessageStoreInfo(TRequestStatus &, TInt, TDes8 &)
IMPORT_C TIntGetMoSmsBearer(TMobileSmsBearer &)
IMPORT_C TIntGetReceiveMode(TMobileSmsReceiveMode &)
IMPORT_C voidNackSmsStored(TRequestStatus &, const TDesC8 &, TInt)
IMPORT_C voidNotifyMoSmsBearerChange(TRequestStatus &, TMobileSmsBearer &)
IMPORT_C voidNotifyReceiveModeChange(TRequestStatus &, TMobileSmsReceiveMode &)
IMPORT_C voidNotifySmspListChange(TRequestStatus &)
IMPORT_C TIntOpen(RMobilePhone &)
IMPORT_C voidReceiveMessage(TRequestStatus &, TDes8 &, TDes8 &)
IMPORT_C voidResumeSmsReception(TRequestStatus &)
IMPORT_C voidSendMessage(TRequestStatus &, const TDesC8 &, TDes8 &)
IMPORT_C voidSendMessageNoFdnCheck(TRequestStatus &, const TDesC8 &, TDes8 &)
IMPORT_C voidSetMoSmsBearer(TRequestStatus &, TMobileSmsBearer)
IMPORT_C voidSetReceiveMode(TRequestStatus &, TMobileSmsReceiveMode)
IMPORT_C voidStoreSmspListL(TRequestStatus &, CMobilePhoneSmspList *)
Protected Member Functions
IMPORT_C voidConstructL()
IMPORT_C voidDestruct()
Private Member Functions
RMobileSmsMessaging(const RMobileSmsMessaging &)
Inherited Functions
RSubSessionBase::CloseSubSession(TInt)
RSubSessionBase::CreateAutoCloseSubSession(RSessionBase &,TInt,const TIpcArgs &)
RSubSessionBase::CreateSubSession(const RSessionBase &,TInt)
RSubSessionBase::CreateSubSession(const RSessionBase &,TInt,const TIpcArgs &)
RSubSessionBase::RSubSessionBase()
RSubSessionBase::Send(TInt)const
RSubSessionBase::Send(TInt,const TIpcArgs &)const
RSubSessionBase::SendReceive(TInt)const
RSubSessionBase::SendReceive(TInt,TRequestStatus &)const
RSubSessionBase::SendReceive(TInt,const TIpcArgs &)const
RSubSessionBase::SendReceive(TInt,const TIpcArgs &,TRequestStatus &)const
RSubSessionBase::Session()const
RSubSessionBase::SubSessionHandle()const
RTelSubSessionBase::Blank(const TInt,TReqPriorityType)const
RTelSubSessionBase::Blank(const TInt,TRequestStatus &,TReqPriorityType)const
RTelSubSessionBase::CancelAsyncRequest(TInt)const
RTelSubSessionBase::CancelReq(const TInt,const TInt)const
RTelSubSessionBase::CancelSubSession()const
RTelSubSessionBase::Get(const TInt,TDes16 &,TDes16 &,TReqPriorityType)const
RTelSubSessionBase::Get(const TInt,TDes16 &,TReqPriorityType)const
RTelSubSessionBase::Get(const TInt,TDes8 &,TDes16 &,TReqPriorityType)const
RTelSubSessionBase::Get(const TInt,TDes8 &,TDes8 &,TReqPriorityType)const
RTelSubSessionBase::Get(const TInt,TDes8 &,TReqPriorityType)const
RTelSubSessionBase::Get(const TInt,TRequestStatus &,TDes16 &,TDes16 &,TReqPriorityType)const
RTelSubSessionBase::Get(const TInt,TRequestStatus &,TDes16 &,TReqPriorityType)const
RTelSubSessionBase::Get(const TInt,TRequestStatus &,TDes8 &,TDes16 &,TReqPriorityType)const
RTelSubSessionBase::Get(const TInt,TRequestStatus &,TDes8 &,TDes8 &,TReqPriorityType)const
RTelSubSessionBase::Get(const TInt,TRequestStatus &,TDes8 &,TReqPriorityType)const
RTelSubSessionBase::RTelSubSessionBase()
RTelSubSessionBase::ResetSessionHandle()
RTelSubSessionBase::SessionHandle()const
RTelSubSessionBase::Set(const TInt,TRequestStatus &,const TDesC16 &,TReqPriorityType)const
RTelSubSessionBase::Set(const TInt,TRequestStatus &,const TDesC16 &,const TDesC16 &,TReqPriorityType)const
RTelSubSessionBase::Set(const TInt,TRequestStatus &,const TDesC8 &,TReqPriorityType)const
RTelSubSessionBase::Set(const TInt,TRequestStatus &,const TDesC8 &,const TDesC16 &,TReqPriorityType)const
RTelSubSessionBase::Set(const TInt,TRequestStatus &,const TDesC8 &,const TDesC8 &,TReqPriorityType)const
RTelSubSessionBase::Set(const TInt,const RFile &,TReqPriorityType)const
RTelSubSessionBase::Set(const TInt,const TDesC16 &,TReqPriorityType)const
RTelSubSessionBase::Set(const TInt,const TDesC16 &,const TDesC16 &,TReqPriorityType)const
RTelSubSessionBase::Set(const TInt,const TDesC8 &,TReqPriorityType)const
RTelSubSessionBase::Set(const TInt,const TDesC8 &,const TDesC16 &,TReqPriorityType)const
RTelSubSessionBase::Set(const TInt,const TDesC8 &,const TDesC8 &,TReqPriorityType)const
RTelSubSessionBase::SetAndGet(const TInt,TRequestStatus &,TDes8 &,const TDesC16 &,TReqPriorityType)const
RTelSubSessionBase::SetAndGet(const TInt,TRequestStatus &,const TDesC16 &,TDes16 &,TReqPriorityType)const
RTelSubSessionBase::SetAndGet(const TInt,TRequestStatus &,const TDesC8 &,TDes16 &,TReqPriorityType)const
RTelSubSessionBase::SetAndGet(const TInt,TRequestStatus &,const TDesC8 &,TDes8 &,TReqPriorityType)const
RTelSubSessionBase::SetSessionHandle(RSessionBase &)
RTelSubSessionBase::SubSessionHandle()
Public Member Enumerations
enumanonymous { KGsmTpduSize = 165, KCdmaTpduSize = 256 }
enumTMobileSmsAttributeExtensionId { KETelMobileSmsAttributesV1 = KETelExtMultimodeV1, KETelMobileSmsReceiveAttributesV1, KETelMobileSmsSendAttributesV1, KETelMobileSmsCdmaSendAttributesV4 = KETelExtMultimodeV4 }
enumTMobileSmsAttributeFlags {
KCdmaTeleservice = 0x00000001, KCdmaServiceCategory = 0x00000002, KGsmServiceCentre = 0x00000004, KSmsDataFormat = 0x00000008, KRemotePartyInfo = 0x00000010, KIncomingStatus = 0x00000020, KStorageLocation = 0x00000040, KMessageReference = 0x00000080, KGsmSubmitReport = 0x00000100, KMoreToSend = 0x00000200, KCdmaKeepChannelOpen = 0x00000400, KCdmaTLAckRequired = 0x00000800, KCdmaAddressAuthentication = 0x00001000
}
enumTMobileSmsBearer { ESmsBearerPacketOnly, ESmsBearerCircuitOnly, ESmsBearerPacketPreferred, ESmsBearerCircuitPreferred }
enumTMobileSmsControlCaps {
KCapsReceiveStored = 0x00000001, KCapsReceiveUnstoredPhoneAck = 0x00000002, KCapsReceiveUnstoredClientAck = 0x00000004, KCapsReceiveEither = 0x00000008, KCapsCreateAck = 0x00000010, KCapsSendNoAck = 0x00000020, KCapsSendWithAck = 0x00000040, KCapsGetSmspList = 0x00000080, KCapsSetSmspList = 0x00000100
}
enumTMobileSmsDataFormat { EFormatUnspecified, EFormatGsmTpdu, EFormatCdmaTpdu }
enumTMobileSmsIncomingStatus { EMtMessageUnknownStatus, EMtMessageUnstoredPhoneAck, EMtMessageUnstoredClientAck, EMtMessageStored }
enumTMobileSmsModeCaps { KCapsGsmSms = 0x00000001, KCapsCdmaSms = 0x00000002 }
enumTMobileSmsReceiveMode { EReceiveModeUnspecified, EReceiveUnstoredPhoneAck, EReceiveUnstoredClientAck, EReceiveStored, EReceiveEither }
enumTMobileSmspStoreValidParams { KDestinationIncluded = 0x00000001, KSCAIncluded = 0x00000002, KProtocolIdIncluded = 0x00000004, KDcsIncluded = 0x00000008, KValidityPeriodIncluded = 0x00000010 }
Inherited Enumerations
RTelSubSessionBase:TReqPriorityType
Public Member Type Definitions
typedef TPckg< TMobileSmsAttributesV1 > TMobileSmsAttributesV1Pckg
typedef TPckg< TMobileSmsCapsV1 > TMobileSmsCapsV1Pckg
typedef TPckg< TMobileSmsCdmaSendAttributesV4 > TMobileSmsCdmaSendAttributesV4Pckg
typedef TBuf8< KCdmaTpduSize > TMobileSmsCdmaTpdu
typedef TBuf8< KGsmTpduSize > TMobileSmsGsmTpdu
typedef TPckg< TMobileSmsReceiveAttributesV1 > TMobileSmsReceiveAttributesV1Pckg
typedef TPckg< TMobileSmsSendAttributesV1 > TMobileSmsSendAttributesV1Pckg
typedef TPckg< TMobileSmspEntryV1 > TMobileSmspEntryV1Pckg
Private Attributes
CSmsMessagingPtrHolder *iSmsMessagingPtrHolder
Inherited Attributes
RTelSubSessionBase::iPtrHolder

Constructor & Destructor Documentation

RMobileSmsMessaging()

IMPORT_CRMobileSmsMessaging()

Standard constructor. This member is internal and not intended for public use.

RMobileSmsMessaging(const RMobileSmsMessaging &)

RMobileSmsMessaging(const RMobileSmsMessaging &)[private]

Parameters

const RMobileSmsMessaging &

Member Functions Documentation

AckSmsStored(TRequestStatus &, const TDesC8 &, TBool)

IMPORT_C voidAckSmsStored(TRequestStatus &aReqStatus,
const TDesC8 &aMsgData,
TBoolaFull = EFalse
)const

When the client receives an unstored SMS, it will use this member function to return a positive acknowledgment if it manages to successfully decode and store that SMS. If the client wishes to send a SMS-DELIVER-REPORT in response to the received SMS-DELIVER , than the aMsgData parameter will be used to hold the TPDU defined for a SMS-DELIVER-REPORT (for RP-ACK) in GSM 03.40.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingAckSmsStored) to cancel a previously placed asynchronous AckSmsStored() request.

capability
NetworkServices
capability
NetworkControl

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful.
const TDesC8 & aMsgDataHolds the TPDU defined for a SMS-DELIVER-REPORT (for RP-ACK) in GSM 03.40.
TBool aFull = EFalseIndicates whether, after storing the acknowledged message, the client-side message store is now full or not. If client sets it to ETrue then it is informing the TSY that the store is full (or almost full) and that it does not want to receive any more messages until it calls ResumeSmsReception().

Close()

IMPORT_C voidClose()

This method closes a RMobileSmsMessaging subsession

capability
None

ConstructL()

IMPORT_C voidConstructL()[protected]

Constructor.

Destruct()

IMPORT_C voidDestruct()[protected]

Destructor.

EnumerateMessageStores(TInt &)

IMPORT_C TIntEnumerateMessageStores(TInt &aCount)const

This request gets the number of phone-side SMS message stores supported by the phone in the aCount parameter.

capability
None

Parameters

TInt & aCountOn return, the number of phone-side SMS message stores.

GetCaps(TDes8 &)

IMPORT_C TIntGetCaps(TDes8 &aCaps)const

This member function gets a class that reflects the SMS messaging capabilities of the phone.

TMobileSmsCapsV1
capability
None

Parameters

TDes8 & aCapsOn return, a TMobileSmsCapsV1Pckg with the SMS messaging capabilities of the phone.

GetMessageStoreInfo(TRequestStatus &, TInt, TDes8 &)

IMPORT_C voidGetMessageStoreInfo(TRequestStatus &aReqStatus,
TIntaIndex,
TDes8 &aInfo
)const

This request gets information about the SMS message store.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingGetMessageStoreInfo) to cancel a previously placed asynchronous GetMessageStoreInfo() request.

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful
TInt aIndexThe index of the store, valid values are between 0 and (n-1), where n is given by the EnumerateMessageStores() request.
TDes8 & aInfoOn comletion, a RMobilePhoneStore::TMobilePhoneStoreInfoV1Pckg holding the SMS message store info.

GetMoSmsBearer(TMobileSmsBearer &)

IMPORT_C TIntGetMoSmsBearer(TMobileSmsBearer &aBearer)const

This member function is used to retrieve the current setting for the bearer type (GSM or GPRS) used for sending SMS messages.

capability
None

Parameters

TMobileSmsBearer & aBearerOn return, the current bearer type.

GetReceiveMode(TMobileSmsReceiveMode &)

IMPORT_C TIntGetReceiveMode(TMobileSmsReceiveMode &aReceiveMode)const

This member function retrieves the current setting of the TSY-phone incoming SMS receive mode. This setting dictates how the phone will handle incoming SMS messages before passing them on to TSY.

capability
None

Parameters

TMobileSmsReceiveMode & aReceiveModeOn return, the current receive mode.

NackSmsStored(TRequestStatus &, const TDesC8 &, TInt)

IMPORT_C voidNackSmsStored(TRequestStatus &aReqStatus,
const TDesC8 &aMsgData,
TIntaRpCause
)const

When the client receives an unstored SMS, it will use this member function to return a negative acknowledgment if it fails to decode and/or store that SMS.

This TPDU will contain the TP error cause that prevents the client from acknowledging the SMS. The client should also provide the RP error cause by placing it in the aRpCause parameter.

In GSM mode, once a client has rejected a received SMS due to storage full, the network will keep this message for later and suspend the forwarding of any further received SMS to this MS.

In CDMA mode, the network will save the message but it will repeat sending of the message to the MS until either the MS eventually accepts it or the retry limit is reached.

If retry limit is reached the network will tell the originator of the message that the transmission failed. In either case, when client-side memory is freed-up, the client must call ResumeSmsReception() in order to tell the phone and possibly the network that SMS can be received again.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingNackSmsStored) to cancel a previously placed asynchronous NackSmsStored() request.

capability
NetworkServices
capability
NetworkControl

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful.
const TDesC8 & aMsgDataHolds the TPDU defined for a SMS-DELIVER-REPORT (for RP-ERROR) in GSM 03.40.
TInt aRpCauseContain one of the MS related extended error codes.

NotifyMoSmsBearerChange(TRequestStatus &, TMobileSmsBearer &)

IMPORT_C voidNotifyMoSmsBearerChange(TRequestStatus &aReqStatus,
TMobileSmsBearer &aBearer
)

This member function is used t notify the client if there is a change to the setting for the bearer type used for sending SMS messages.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingNotifyMoSmsBearerChange) to cancel a previously placed asynchronous NotifyMoSmsBearerChange() request.

capability
None

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful.
TMobileSmsBearer & aBearerOn completion, the new bearer.

NotifyReceiveModeChange(TRequestStatus &, TMobileSmsReceiveMode &)

IMPORT_C voidNotifyReceiveModeChange(TRequestStatus &aStatus,
TMobileSmsReceiveMode &aReceiveMode
)

This member function is used to notify the client if there is a change to the setting of the TSY-Phone receive mode.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingNotifyReceiveModeChange) to cancel a previously placed asynchronous NotifyReceiveModeChange() request.

capability
None

Parameters

TRequestStatus & aStatusOn return, KErrNone if successful
TMobileSmsReceiveMode & aReceiveModeOn return, the new SMS receive mode.

NotifySmspListChange(TRequestStatus &)

IMPORT_C voidNotifySmspListChange(TRequestStatus &aReqStatus)const

This member function allows a client to be notified that changes have been made to the SMSP 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 it is interested in the new list.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingNotifySmspListChange) to cancel a previously placed asynchronous NotifySmspListChange() request.

capability
None

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful.

Open(RMobilePhone &)

IMPORT_C TIntOpen(RMobilePhone &aPhone)

This member function opens a SMS Messaging object. The name of the sub-session opened in the TSY will equal the string defined by the KETelSmsMessaging LIT definition.

capability
None

Parameters

RMobilePhone & aPhoneAn existing RMobilePhone session.

ReceiveMessage(TRequestStatus &, TDes8 &, TDes8 &)

IMPORT_C voidReceiveMessage(TRequestStatus &aReqStatus,
TDes8 &aMsgData,
TDes8 &aMsgAttributes
)const

This member function will be used to wait for the next incoming SMS message. Once this member function completes, the client should immediately repost it if they want to receive the next incoming SMS message.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingReceiveMessage) to cancel a previously placed asynchronous ReceiveMessage() request.

TMobileSmsReceiveAttributesV1
capability
NetworkServices
capability
ReadUserData

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful.
TDes8 & aMsgDataOn completion, the message data.
TDes8 & aMsgAttributesOn completion, a TMobileSmsReceiveAttributesV1Pckg containing the message attributes.

ResumeSmsReception(TRequestStatus &)

IMPORT_C voidResumeSmsReception(TRequestStatus &aReqStatus)const

This member functions resumes the reception of SMS messages.

SMS reception can become suspended because SMS storage is full. Therefore if client-side storage is full, the client must stop receiving unstored messages. However, if the user deletes some client-side stored SMS messages, the client must use this member function to tell the TSY to inform a GSM network that messages can be received again or the phone that CDMA messages can be accepted again.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingResumeSmsReception) to cancel a previously placed asynchronous ResumeSmsReception() request.

capability
NetworkServices
capability
NetworkControl

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful.

SendMessage(TRequestStatus &, const TDesC8 &, TDes8 &)

IMPORT_C voidSendMessage(TRequestStatus &aReqStatus,
const TDesC8 &aMsgData,
TDes8 &aMsgAttributes
)const

This member function sends an SMS message to the network.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingSendMessage) to cancel a previously placed asynchronous SendMessage() request.

TMobileSmsSendAttributesV1
capability
NetworkServices
capability
WriteUserData

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful, KErrNotSupported if the phone does not support outgoing SMS, KErrMMEtelFormatNotSupported if the phone does not support the client's chosen message data format, any of the KErrGsmSms extended errors if the phone is in GSM mode and this is the error returned by the GSM network/service centre, Any of the KErrCdmaSms extended errors if the phone is in CDMA mode and this is the error returned by the CDMA network/service centre. Please note that the last three examples are "extended" errors and will only be returned to those clients that request them. Clients that only understand core Symbian OS and ETel errors will receive KErrGeneral for any error cases that the TSY can not interpret.
const TDesC8 & aMsgDataThe message data
TDes8 & aMsgAttributesA TMobileSmsSendAttributesV1Pckg with the message attributes. The fields required will probably be message data format, destination and possibly a new service centre address. On return, for either successful or failed transmission, the message reference number assigned to this sent message will be placed by the TSY in the iMsgRef field. Also, if the SMS was sent during GSM or WCDMA mode, then the SMS-SUBMIT-REPORT will be placed by the TSY in the iSubmitReport field.

SendMessageNoFdnCheck(TRequestStatus &, const TDesC8 &, TDes8 &)

IMPORT_C voidSendMessageNoFdnCheck(TRequestStatus &aReqStatus,
const TDesC8 &aMsgData,
TDes8 &aMsgAttributes
)const

Sends an outgoing SMS to the network.

The number used for sending the SMS is not checked against those in the Fixed Dialling Number list even if the FDN service is enabled.

capability
NetworkServices
capability
NetworkControl

Parameters

TRequestStatus & aReqStatus
const TDesC8 & aMsgDataSupplies the TPDU to send
TDes8 & aMsgAttributesSupplies the attributes of the outgoing message

SetMoSmsBearer(TRequestStatus &, TMobileSmsBearer)

IMPORT_C voidSetMoSmsBearer(TRequestStatus &aReqStatus,
TMobileSmsBeareraBearer
)const

This member function sets the bearer type (GSM or GPRS) for sending SMS messages.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingSetMoSmsBearer) to cancel a previously placed asynchronous SetMoSmsBearer() request.

capability
WriteDeviceData

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful.
TMobileSmsBearer aBearerThe bearer type to set.

SetReceiveMode(TRequestStatus &, TMobileSmsReceiveMode)

IMPORT_C voidSetReceiveMode(TRequestStatus &aReqStatus,
TMobileSmsReceiveModeaReceiveMode
)const

This member function sets the setting of the TSY-phone incoming SMS receive mode. This setting dictates how the phone will handle incoming SMS messages before passing them on to TSY.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingSetReceiveMode) to cancel a previously placed asynchronous SetReceiveMode() request.

capability
WriteDeviceData

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful.
TMobileSmsReceiveMode aReceiveModeThe receive mode to set.

StoreSmspListL(TRequestStatus &, CMobilePhoneSmspList *)

IMPORT_C voidStoreSmspListL(TRequestStatus &aReqStatus,
CMobilePhoneSmspList *aSmspList
)const

This member function may be used to store a new version of the entire list of SMSP entries. It will overwrite the current contents of the storage and may cause other clients to be notified of the change in SMSP list.

Use RTelSubSessionBase::CancelAsyncRequest(EMobileSmsMessagingStoreSmspList) to cancel a previously placed asynchronous StoreSmspListL() request.

leave
k Will leave if the CBufFlat to hold the streamed contents can not be allocated
capability
WriteDeviceData

Parameters

TRequestStatus & aReqStatusOn return, KErrNone if successful.
CMobilePhoneSmspList * aSmspListThe list of SMSP entries to store, should not contain more entries than can be stored phone-side.

Member Enumerations Documentation

Enum anonymous

Enumerators

KGsmTpduSize = 165
KCdmaTpduSize = 256

Enum TMobileSmsAttributeExtensionId

Used by TSY to distinguish which SMS attribute class is used by client.

Modes: Common

RMobileSmsMessaging::TMobileSmsSendAttributesV1

Enumerators

KETelMobileSmsAttributesV1 = KETelExtMultimodeV1

The iExtensionId contents indicate that the packaged class is a TMobileSmsAttributesV1.

KETelMobileSmsReceiveAttributesV1

The iExtensionId contents indicate that the packaged class is a TMobileSmsReceiveAttributesV1.

KETelMobileSmsSendAttributesV1

The iExtensionId contents indicate that the packaged class is a TMobileSmsSendAttributesV1.

KETelMobileSmsCdmaSendAttributesV4 = KETelExtMultimodeV4

The iExtensionId contents indicate that the packaged class is a TMobileSmsCdmaSendAttributesV4. 9.5

Enum TMobileSmsAttributeFlags

Defines common attributes of all SMS messages.

Modes: CDMA

TMobileSmsAttributesV1 9.5

Enumerators

KCdmaTeleservice = 0x00000001

The iCdmaTeleservice field is valid in the attribute class.

Modes: CDMA 9.5

KCdmaServiceCategory = 0x00000002

The iCdmaServiceCategory field is valid in the attribute class.

Modes: CDMA 9.5

KGsmServiceCentre = 0x00000004

The iGsmServiceCentre field is valid in the attribute class.

Modes: GSM/WCDMA

KSmsDataFormat = 0x00000008

The iDataFormat field is valid in the attribute class.

Modes: Common

KRemotePartyInfo = 0x00000010

The iOriginator or iDestination field is valid in the attribute class.

Modes: Common

KIncomingStatus = 0x00000020

The iStatus field is valid in the attribute class.

Modes: Common

KStorageLocation = 0x00000040

The iStore and iStoreIndex fields are valid in the attribute class.

Modes: Common

KMessageReference = 0x00000080

The iMsgRef field is valid in the attribute class.

Modes: Common

KGsmSubmitReport = 0x00000100

The iSubmitReport field is valid in the attribute class.

Modes: GSM/WCDMA

KMoreToSend = 0x00000200

The iMore field is valid in the attribute class.

Modes: Common

KCdmaKeepChannelOpen = 0x00000400

Indicates to the TSY that it should keep the traffic channel open since there is another message ready to be sent immediately after this one (typically used when sending messages to multiple recipients). TSY should then keep the channel open until a message is sent with this bit cleared.

Modes: CDMA 9.5

KCdmaTLAckRequired = 0x00000800

Indicates to the TSY that it must wait for the Transport Layer Acknowledgement from the network

Modes: CDMA 9.5

KCdmaAddressAuthentication = 0x00001000

The iAddressAuthentication field is valid in the attribute class.

Modes: CDMA 9.5

Enum TMobileSmsBearer

Defines the SMS bearer.

Modes: GSM

Enumerators

ESmsBearerPacketOnly

SMS messages will only be sent over a packet-switched (GPRS) network.

ESmsBearerCircuitOnly

SMS messages will only be sent over a circuit-switched (GSM) network.

ESmsBearerPacketPreferred

SMS messages will be sent over the packet-switched (GPRS) network if possible, otherwise over circuit-switched (GSM) network.

ESmsBearerCircuitPreferred

SMS messages will be sent over the circuit-switched (GSM) network if possible, otherwise over packet-switched (GPRS) network.

Enum TMobileSmsControlCaps

Defines SMS control capabilities.

Modes: Common

Enumerators

KCapsReceiveStored = 0x00000001

TSY supports receiving incoming SMS that have been stored and acknowledged by the phone prior to forwarding to the TSY. If this flag is set then KCapsReceiveEither will not be set and the client can receive stored messages only while the TSY-phone link is in "receive stored" mode.

Modes: Common

KCapsReceiveUnstoredPhoneAck = 0x00000002

TSY supports receiving incoming SMS that have been acknowledged by the phone but have NOT already been stored. It is the client's responsibility to do the storage. If this flag is set then KCapsReceiveEither will not be set and the client can receive unstored messages only while the TSY-phone link is in "receive unstored with phone ack" mode.

Modes: Common

KCapsReceiveUnstoredClientAck = 0x00000004

TSY supports receiving incoming SMS that have NOT already been stored and acknowledged by the phone. It is the client's responsibility to do both the storage and the acknowledgment or rejection. If this flag is set then KCapsReceiveEither will not be set and the client can receive unstored messages only while the TSY-phone link is in "receive unstored with client ack" mode.

Modes: Common

KCapsReceiveEither = 0x00000008

TSY supports receiving either stored or unstored incoming SMS at any time. If this flag is set then any other KCapsReceive... flags will not be set and the client can receive stored or unstored messages while the TSY-phone link is in "receive either" mode.

Modes: Common

KCapsCreateAck = 0x00000010

TSY supports creating a default acknowledgment or rejection TPDU using only a "cause code" supplied by the client. If this flag is not set then the client must supply the full ack or nack TPDU if it calls RMobileSmsMessaging::AckSmsStored() or RMobileSmsMessaging::NackSmsStored().

Modes: Common

KCapsSendNoAck = 0x00000020

TSY supports sending SMS messages but does not support returning the service centre's acknowledgment of the submitted message to the client.

Modes: Common

KCapsSendWithAck = 0x00000040

TSY supports sending SMS messages and also supports returning the service centre's acknowledgment of the submitted message to the client.

Modes: GSM/WCDMA

KCapsGetSmspList = 0x00000080

TSY supports retrieval of the SMS parameter list.

Modes: GSM/WCDMA

KCapsSetSmspList = 0x00000100

TSY supports storage of the SMS parameter list

Modes: GSM/WCDMA

Enum TMobileSmsDataFormat

Defines the SMS data format.

Modes: Common

Enumerators

EFormatUnspecified

The format is not specified.

Modes: Common

EFormatGsmTpdu

The message data format complies to a SMS TPDU coded as octets according to GSM 03.40.

Modes: GSM/WCDMA

EFormatCdmaTpdu

The message data format complies to a SMS Teleservice PDU coded as octets according to IS-637.

Modes: CDMA 9.5

Enum TMobileSmsIncomingStatus

Defines attributes of incoming SMS messages.

Modes: Common

Enumerators

EMtMessageUnknownStatus

The status of the incoming SMS is unknown.

EMtMessageUnstoredPhoneAck

The incoming SMS is not stored phone-side but has already been acknowledged by the phone.

EMtMessageUnstoredClientAck

The incoming SMS is not stored phone-side and needs to be acknowledged by the client.

EMtMessageStored

The incoming SMS is stored phone-side.

Enum TMobileSmsModeCaps

Defines capabilities of SMS messaging.

Modes: GSM/WCDMA

Enumerators

KCapsGsmSms = 0x00000001

SMS is supported in GSM and WCDMA modes. SMS are sent across MM ETel API in a GSM 03.40 TPDU format.

Modes: GSM/WCDMA

KCapsCdmaSms = 0x00000002

SMS is supported in CDMA mode. SMS are sent across MM ETel API in a IS-637 Teleservice message PDU format.

Modes: CDMA 9.5

Enum TMobileSmsReceiveMode

Defines the SMS receive modes.

Modes: Common

Enumerators

EReceiveModeUnspecified

Receive mode is unspecified and phone will use its default.

EReceiveUnstoredPhoneAck

Phone will acknowledge but NOT store all incoming messages before passing them onto TSY. It is client's responsibility to store the message.

EReceiveUnstoredClientAck

Phone will NOT acknowledge or store any incoming messages before passing them onto TSY. It is client's responsibility to attempt storage and then either acknowledge or reject the message.

EReceiveStored

Phone will store and acknowledge all incoming messages before passing them onto TSY.

EReceiveEither

Phone may pass on either stored or unstored messages to TSY. It is client's responsibility to check RMobileSmsMessaging::TMobileSmsReceiveAttributesV1::iStatus to determine what action(s) the client needs to take for a message.

Enum TMobileSmspStoreValidParams

Defines the valid SMS parameters store.

Modes: GSM/WCDMA

TMobileSmspEntryV1

Enumerators

KDestinationIncluded = 0x00000001

The entry includes a valid iDestination field.

KSCAIncluded = 0x00000002

The entry includes a valid iServiceCentre field.

KProtocolIdIncluded = 0x00000004

The entry includes a valid iProtocolId field.

KDcsIncluded = 0x00000008

The entry includes a valid iDcs field.

KValidityPeriodIncluded = 0x00000010

The entry includes a valid iValidityPeriod field.

Member Type Definitions Documentation

Typedef TMobileSmsAttributesV1Pckg

typedef TPckg< TMobileSmsAttributesV1 >TMobileSmsAttributesV1Pckg

A typedef'd packaged TMobileSmsAttributesV1 for passing through a generic API member function.

Typedef TMobileSmsCapsV1Pckg

typedef TPckg< TMobileSmsCapsV1 >TMobileSmsCapsV1Pckg

A typedef'd packaged TMobileSmsCapsV1 for passing through a generic API member function.

Typedef TMobileSmsCdmaSendAttributesV4Pckg

typedef TPckg< TMobileSmsCdmaSendAttributesV4 >TMobileSmsCdmaSendAttributesV4Pckg

A typedef'd packaged TMobileSmsCdmaSendAttributesV4 for passing through a generic API member function.

Typedef TMobileSmsCdmaTpdu

typedef TBuf8< KCdmaTpduSize >TMobileSmsCdmaTpdu

A typedef'd buffer for CDMA message data. 9.5

Typedef TMobileSmsGsmTpdu

typedef TBuf8< KGsmTpduSize >TMobileSmsGsmTpdu

A typedef'd buffer for GSM or WCDMA message data.

Typedef TMobileSmsReceiveAttributesV1Pckg

typedef TPckg< TMobileSmsReceiveAttributesV1 >TMobileSmsReceiveAttributesV1Pckg

A typedef'd packaged TMobileSmsReceiveAttributesV1 for passing through a generic API member function.

Typedef TMobileSmsSendAttributesV1Pckg

typedef TPckg< TMobileSmsSendAttributesV1 >TMobileSmsSendAttributesV1Pckg

A typedef'd packaged TMobileSmsSendAttributesV1 for passing through a generic API member function.

Typedef TMobileSmspEntryV1Pckg

typedef TPckg< TMobileSmspEntryV1 >TMobileSmspEntryV1Pckg

A typedef'd packaged TMobileSmspEntryV1 for passing through a generic API member function.

Member Data Documentation

CSmsMessagingPtrHolder * iSmsMessagingPtrHolder

CSmsMessagingPtrHolder *iSmsMessagingPtrHolder[private]