CSmsIEOperation Class Reference

class CSmsIEOperation : public CBase

SMS Stack clients use specialisations of this class to configure a SMS Message with Control Information Elements which have been introduced in 23.040 v6.5.0.

The 23.040 v6.5.0 standard defines individual requirements for how each of these control information elements is to be encoded and decoded. These requirements mean that these control information elements need to be configured in the CSmsMessage using derivations of this interface, rather than CSmsUserData::AddInformationElementL().

CSmsUserData::AddInformationElement specifies those information elements it supports and those that are supported by CSmsIEOperation and its derivatives.

Each control information element that uses this interface is supported by a class derived from CSmsIEOperation. The derived class operates on the CSmsMessage, allowing the client to add, remove and access control information elements inside the CSmsMessage.

The client gets access to an operations class using the following interface:

CSmsIEOperation& CSmsMessage::GetOperationsForIEL(CSmsInformationElement::TSmsInformationElementIdentifier aId);

When the CSmsMessage is deleted, all its associated CSmsIEOperations classes are also deleted and references to them become stale. Each instance of the CSmsIEOperation Class is an attributes of the CSmsMessage itself.

Inherits from

Constructor & Destructor Documentation

CSmsIEOperation(CSmsInformationElement::TSmsInformationElementIdentifier, CSmsMessage &)

CSmsIEOperation(CSmsInformationElement::TSmsInformationElementIdentifieraId,
CSmsMessage &aMessage
)[protected]

~CSmsIEOperation()

~CSmsIEOperation()[inline, virtual]

Member Functions Documentation

ConstructL()

voidConstructL()[private]

Id()

IMPORT_C CSmsInformationElement::TSmsInformationElementIdentifierId()const

Identifies the information element which is supported by this operations class.

capability
None

MessageTypeSupported()

TBool MessageTypeSupported()const [protected, virtual]

Identifies whether the message type supports is supported

NewL(CSmsInformationElement::TSmsInformationElementIdentifier, CSmsMessage &, CCnvCharacterSetConverter &, RFs &)

CSmsIEOperation *NewL(CSmsInformationElement::TSmsInformationElementIdentifieraId,
CSmsMessage &aMessage,
CCnvCharacterSetConverter &aCharacterSetConverter,
RFs &aFs
)[static]

This is used by the CSmsMessage to create a CSmsIEOperation. Each instance is owned by the CSmsMessage which created it. Therefore only the CSmsMessage (GSMU component) is allowed to create and delete CSmsIEOperations.

Parameters

CSmsInformationElement::TSmsInformationElementIdentifier aIdThe ID for the CSmsInformationElement for whom an operation class needs to be created.
CSmsMessage & aMessageThe CSmsMessage that this operations class belongs to.
CCnvCharacterSetConverter & aCharacterSetConverterA reference to a character set converter, needed by some derived operation classes.
RFs & aFsA reference to the file server, needed by some derived operations classes.

ValidateOperationL()

voidValidateOperationL()const [protected, inline, virtual]

operator=(const CSmsIEOperation &)

voidoperator=(const CSmsIEOperation &)[protected]

Prevent clients from using the assignment operator by including it in the class definition but making it protected and not exporting it.

capability
None

Parameters

const CSmsIEOperation &

operator==(const CSmsIEOperation &)

TBool operator==(const CSmsIEOperation &)[protected]

Prevent clients from using the equality operator by including it in the class definition but making it protected and not exporting it.

capability
None

Parameters

const CSmsIEOperation &

Member Data Documentation

CSmsInformationElement::TSmsInformationElementIdentifier iId

CSmsInformationElement::TSmsInformationElementIdentifier iId[private]

CSmsMessage & iMessage

CSmsMessage &iMessage[protected]