CSmsIEOperation Class Reference

#include <gsmuieoperations.h>

class CSmsIEOperation : public CBase, public CBase

Inherits from

Protected Attributes
CSmsMessage &iMessage
Public Member Functions
virtual ~CSmsIEOperation()
IMPORT_C CSmsInformationElement::TSmsInformationElementIdentifierId()
CSmsIEOperation *NewL(CSmsInformationElement::TSmsInformationElementIdentifier, CSmsMessage &, CCnvCharacterSetConverter &, RFs &)
Protected Member Functions
CSmsIEOperation(CSmsInformationElement::TSmsInformationElementIdentifier, CSmsMessage &)
virtual TBool MessageTypeSupported()
virtual voidValidateOperationL()
voidoperator=(const CSmsIEOperation &)
TBool operator==(const CSmsIEOperation &)
Inherited Functions
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)

Detailed Description

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.

Member Attribute Documentation


CSmsMessage &iMessage[protected]

Constructor & Destructor Documentation

CSmsIEOperation ( CSmsInformationElement::TSmsInformationElementIdentifier, CSmsMessage & )

CSmsMessage &aMessage

~CSmsIEOperation ( )

~CSmsIEOperation()[inline, virtual]

Member Function Documentation

Id ( )

IMPORT_C CSmsInformationElement::TSmsInformationElementIdentifierId()const

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

Return Value
The information element ID supported by this operations class.

MessageTypeSupported ( )

TBool MessageTypeSupported()const [protected, virtual]

Identifies whether the message type supports is supported

Return Value
True if the message type is supported. False otherwise.

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

CSmsIEOperation *NewL(CSmsInformationElement::TSmsInformationElementIdentifieraId,
CSmsMessage &aMessage,
CCnvCharacterSetConverter &aCharacterSetConverter,
RFs &aFs

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.

aIdThe ID for the CSmsInformationElement for whom an operation class needs to be created.
aMessageThe CSmsMessage that this operations class belongs to.
aCharacterSetConverterA reference to a character set converter, needed by some derived operation classes.
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.


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.