class CRemConAbsoluteVolumeController : public CRemConInterfaceBase |
This class is used to set and observer the volume level on a remote device.
An active scheduler is required in order to use this class.
Public Member Functions | |
---|---|
~CRemConAbsoluteVolumeController() | |
IMPORT_C void | CancelAbsoluteVolumeNotification() |
IMPORT_C void | CancelSetAbsoluteVolume() |
IMPORT_C CRemConAbsoluteVolumeController * | NewL(CRemConInterfaceSelector &, MRemConAbsoluteVolumeControllerObserver &, TUint32) |
IMPORT_C void | RegisterAbsoluteVolumeNotification() |
IMPORT_C void | SetAbsoluteVolume(TRequestStatus &, TUint32, TUint &) |
Private Member Functions | |
---|---|
CRemConAbsoluteVolumeController(CRemConInterfaceSelector &, MRemConAbsoluteVolumeControllerObserver &, TUint32) | |
TInt | AsyncErrorCallBack(TAny *) |
void | ConstructL() |
TAny * | GetInterfaceIf(TUid) |
void | HandleNotify(const TDesC8 &, TRemConMessageSubType) |
void | HandleSetAbsoluteVolumeResponse(const TDesC8 &) |
void | KickOffSendIfNeeded() |
void | MavsoSendComplete(TInt) |
void | MrcibNewMessage(TUint, const TDesC8 &, TRemConMessageSubType) |
void | RegisterNotifySendComplete() |
void | SendNotify() |
void | SendSetAbsoluteVolume() |
void | SetAbsoluteVolumeSendComplete(TInt) |
void | VolumeUpdate(TUint32, TUint32) |
Private Member Enumerations | |
---|---|
enum | TRequestState { ENotInUse = 0, ESending, EPending } |
CRemConAbsoluteVolumeController | ( | CRemConInterfaceSelector & | aInterfaceSelector, |
MRemConAbsoluteVolumeControllerObserver & | aObserver, | ||
TUint32 | aMaxVolume | ||
) | [private] |
Constructor.
CRemConInterfaceSelector & aInterfaceSelector | The interface selector. |
MRemConAbsoluteVolumeControllerObserver & aObserver | The observer. |
TUint32 aMaxVolume |
TInt | AsyncErrorCallBack | ( | TAny * | aObserver | ) | [private, static] |
TAny * aObserver |
IMPORT_C void | CancelAbsoluteVolumeNotification | ( | ) |
Called by the client to tell the controller that the client doesn't wish to receicve the volume change notification until the client re-register again.
TAny * | GetInterfaceIf | ( | TUid | aUid | ) | [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.
TUid aUid |
void | HandleNotify | ( | const TDesC8 & | aData, |
TRemConMessageSubType | aMessageSubType | |||
) | [private] |
Process the 'volume changed notification response'
const TDesC8 & aData | The response data. |
TRemConMessageSubType aMessageSubType | The RemCon submessage type. |
void | HandleSetAbsoluteVolumeResponse | ( | const TDesC8 & | aData | ) | [private] |
Process the 'set absolute volume response'
const TDesC8 & aData | The response data. |
void | MrcibNewMessage | ( | TUint | aOperationId, |
const TDesC8 & | aData, | |||
TRemConMessageSubType | aMessageSubType | |||
) | [private] |
TUint aOperationId | |
const TDesC8 & aData | |
TRemConMessageSubType aMessageSubType |
IMPORT_C CRemConAbsoluteVolumeController * | NewL | ( | CRemConInterfaceSelector & | aInterfaceSelector, |
MRemConAbsoluteVolumeControllerObserver & | aObserver, | |||
TUint32 | aMaxVolume | |||
) | [static] |
Allocates and constructs a new CRemConAbsoluteVolumeController object
A new CRemConAbsoluteVolumeController, owned by the interface selector
panic
AbsoluteVolumeController 0 if aMaxVolume is zero.
CRemConInterfaceSelector & aInterfaceSelector | The interface selector. The client must have created one of these first. |
MRemConAbsoluteVolumeControllerObserver & aObserver | The observer. The client must have implemented the observer, owned by the client. |
TUint32 aMaxVolume | The client maximum volume. |
IMPORT_C void | RegisterAbsoluteVolumeNotification | ( | ) |
Requests notification when the volume on the target device changes, Any responses will be returned via the observer interface.
Volume changes will continue to be provided until either the CancelAbsoluteVolumeNotification function is called, or MrcavcoCurrentVolume is called on the client with an error.
MRemConAbsoluteVolumeControllerObserver::MrcavcoCurrentVolume
CRemConAbsoluteVolumeController::CancelAbsoluteVolumeNotification
The client is not currently registered to receive absolute volume notifications.
IMPORT_C void | SetAbsoluteVolume | ( | TRequestStatus & | aStatus, |
TUint32 | aVolume, | |||
TUint & | aNumRemotes | |||
) |
Sets an absolute volume on the target device, Any responses will be returned via the observer interface.
The send of any previous SetAbsoluteVolume command has completed.
panic
AbsoluteVolumeController 1, if aVolume greater than the client max volume.
TRequestStatus & aStatus | Indicates the completion of the send request. The client must not block execution by using User::WaitForRequest to await completion of this send. |
TUint32 aVolume | The relative volume against the client max volume. |
TUint & aNumRemotes | The number of remotes to which the command was sent. |
void | SetAbsoluteVolumeSendComplete | ( | TInt | aResult | ) | [private] |
TInt aResult |
TBuf8< KAbsoluteVolumeRequestDataSize > | iNotifyData | [private] |
MRemConAbsoluteVolumeControllerObserver & | iObserver | [private] |
TBuf8< KAbsoluteVolumeRequestDataSize > | iSetData | [private] |