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::TSmsInformationElementIdentifier aId,
CSmsMessage & aMessage
) [protected]

~CSmsIEOperation()

~CSmsIEOperation ( ) [inline, virtual]

Member Functions Documentation

ConstructL()

void ConstructL ( ) [private]

Id()

IMPORT_C CSmsInformationElement::TSmsInformationElementIdentifier Id ( ) 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::TSmsInformationElementIdentifier aId,
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 aId The ID for the CSmsInformationElement for whom an operation class needs to be created.
CSmsMessage & aMessage The CSmsMessage that this operations class belongs to.
CCnvCharacterSetConverter & aCharacterSetConverter A reference to a character set converter, needed by some derived operation classes.
RFs & aFs A reference to the file server, needed by some derived operations classes.

ValidateOperationL()

void ValidateOperationL ( ) const [protected, inline, virtual]

operator=(const CSmsIEOperation &)

void operator= ( 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]