CRemConAbsoluteVolumeTarget Class Reference

class CRemConAbsoluteVolumeTarget : public CRemConInterfaceBase

Client-instantiable type supporting sending absolute volume API responses for Set Absolute Volume and Register Absolute Volume Change Notification. This API should be used in preference to the extapi.

Inherits from

Public Member Functions
~CRemConAbsoluteVolumeTarget()
IMPORT_C voidAbsoluteVolumeChanged(TUint32)
IMPORT_C CRemConAbsoluteVolumeTarget *NewL(CRemConInterfaceSelector &, MRemConAbsoluteVolumeTargetObserver &, TUint32, TUint32)
IMPORT_C voidSetAbsoluteVolumeResponse(TUint32, TInt)
Private Member Functions
CRemConAbsoluteVolumeTarget(CRemConInterfaceSelector &, MRemConAbsoluteVolumeTargetObserver &, TUint32, TUint32)
voidConstructL()
TAny *GetInterfaceIf(TUid)
voidMrcibNewMessage(TUint, const TDesC8 &, TRemConMessageSubType)
voidProcessGetStatus()
voidProcessGetStatusAndBeginObserving()
voidProcessSetAbsoluteVolume(const TDesC8 &)
voidSendError(TInt, TUint)
voidSendNotificationResponse(TRemConMessageSubType)
Inherited Functions
CBase::CBase()
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)
CBase::~CBase()
CRemConInterfaceBase::BaseConstructL()
CRemConInterfaceBase::BaseConstructL(RRemConInterfaceFeatures &)
CRemConInterfaceBase::BaseConstructL(RRemConInterfaceFeatures &,TBool)
CRemConInterfaceBase::Bulk()const
CRemConInterfaceBase::CRemConInterfaceBase(TUid,TUint,CRemConInterfaceSelector &,TRemConClientType)
CRemConInterfaceBase::Cancel()
CRemConInterfaceBase::InterfaceSelector()
CRemConInterfaceBase::InterfaceUid()const
CRemConInterfaceBase::MaxLength()const
CRemConInterfaceBase::Target(TRemConClientType)
CRemConInterfaceBase::Type()const
CRemConInterfaceBase::~CRemConInterfaceBase()
Private Attributes
TBool iAbsoluteVolumeNotificationRequest
TUint32 iClientMaxVolume
TUint32 iClientVolume
MRemConAbsoluteVolumeTargetObserver &iObserver
RBuf8 iOutBuf

Constructor & Destructor Documentation

CRemConAbsoluteVolumeTarget(CRemConInterfaceSelector &, MRemConAbsoluteVolumeTargetObserver &, TUint32, TUint32)

CRemConAbsoluteVolumeTarget(CRemConInterfaceSelector &aInterfaceSelector,
MRemConAbsoluteVolumeTargetObserver &aObserver,
TUint32aVolume,
TUint32aMaxVolume
)[private]

Constructor.

Parameters

CRemConInterfaceSelector & aInterfaceSelectorThe interface selector.
MRemConAbsoluteVolumeTargetObserver & aObserverThe observer of this interface.
TUint32 aVolumeThe initial relative volume on the client
TUint32 aMaxVolumeThe maximum volume on the client against which aVolume is relative.

~CRemConAbsoluteVolumeTarget()

IMPORT_C~CRemConAbsoluteVolumeTarget()

Member Functions Documentation

AbsoluteVolumeChanged(TUint32)

IMPORT_C voidAbsoluteVolumeChanged(TUint32aVolume)

Must be called each time the volume changes on the client.

It is used to inform the controller if it has requested updates on the client volume change.

panic

AbsoluteVolume 1, if volume greater than the client max volume.

Parameters

TUint32 aVolumeThe relative volume against the client maximum volume.

ConstructL()

voidConstructL()[private]

GetInterfaceIf(TUid)

TAny *GetInterfaceIf(TUidaUid)[private, virtual]

Called by the interface selector to get a pointer to an object which implements the interface API with UID aUid. This is a mechanism for allowing future change to the interface API without breaking BC in existing (non-updated) interfaces.

Parameters

TUid aUid

MrcibNewMessage(TUint, const TDesC8 &, TRemConMessageSubType)

voidMrcibNewMessage(TUintaOperationId,
const TDesC8 &aData,
TRemConMessageSubTypeaMsgSubType
)[private]

Parameters

TUint aOperationId
const TDesC8 & aData
TRemConMessageSubType aMsgSubType

NewL(CRemConInterfaceSelector &, MRemConAbsoluteVolumeTargetObserver &, TUint32, TUint32)

IMPORT_C CRemConAbsoluteVolumeTarget *NewL(CRemConInterfaceSelector &aInterfaceSelector,
MRemConAbsoluteVolumeTargetObserver &aObserver,
TUint32aVolume,
TUint32aMaxVolume
)[static]

Allocates and constructs a new CRemConAbsoluteVolumeTarget object

A new CRemConAbsoluteVolumeTarget, owned by the interface selector.

panic

AbsoluteVolumeTarget 0 if aMaxVolume is zero AbsoluteVolumeTarget 1 if aVolume greater than aMaxVolume

Parameters

CRemConInterfaceSelector & aInterfaceSelectorThe interface selector. The client must have created one of these first.
MRemConAbsoluteVolumeTargetObserver & aObserverThe observer through which the client will receive absolute volume commands from M class MRemConAbsoluteVolumeTargetObserver.
TUint32 aVolumeThe initial relative volume on the client.
TUint32 aMaxVolumeThe client maximum volume against which aVolume is relative.

ProcessGetStatus()

voidProcessGetStatus()[private]

Processes the request for notify command waiting changed.

ProcessGetStatusAndBeginObserving()

voidProcessGetStatusAndBeginObserving()[private]

Processes the request for notify command waiting interim.

ProcessSetAbsoluteVolume(const TDesC8 &)

voidProcessSetAbsoluteVolume(const TDesC8 &aData)[private]

Processes the request for setting absolute volume.

Parameters

const TDesC8 & aDataThe absolute volume data to be setted.

SendError(TInt, TUint)

voidSendError(TIntaError,
TUintaOperationId
)[private]

Parameters

TInt aError
TUint aOperationId

SendNotificationResponse(TRemConMessageSubType)

voidSendNotificationResponse(TRemConMessageSubTypeaMsgSubType)[private]

Sends absolute volume interim or change response according to the message type aMsgSubType

Parameters

TRemConMessageSubType aMsgSubTypeThe remcon submessage type.

SetAbsoluteVolumeResponse(TUint32, TInt)

IMPORT_C voidSetAbsoluteVolumeResponse(TUint32aVolume,
TIntaErr
)

Called by the client in response to a MrcavtoSetAbsoluteVolume() call.

panic

AbsoluteVolumeTarget 1, if volume is greater than max volume.

Parameters

TUint32 aVolumeThe relative volume against the client maximum volume.
TInt aErrThe error code.KErrNone if the client has changed its absolute volume.System wide error code otherwise.

Member Data Documentation

TBool iAbsoluteVolumeNotificationRequest

TBool iAbsoluteVolumeNotificationRequest[private]

TUint32 iClientMaxVolume

TUint32 iClientMaxVolume[private]

TUint32 iClientVolume

TUint32 iClientVolume[private]

MRemConAbsoluteVolumeTargetObserver & iObserver

MRemConAbsoluteVolumeTargetObserver &iObserver[private]

RBuf8 iOutBuf

RBuf8 iOutBuf[private]