CRemConNowPlayingTargetBase Class Reference

class CRemConNowPlayingTargetBase : public CRemConInterfaceBase

A parent class for CRemConDatabaseAwareNowPlayingTarget and CRemConDatabaseUnawareNowPlayingTarget.

This class is not intended for instantiation. Clients should instead use the appropriate derived class - either CRemConDatabaseAwareNowPlayingTarget or CRemConDatabaseUnawareNowPlayingTarget.

This class is only to be used by classes currently derived from it.

CRemConDatabaseAwareNowPlayingTarget CRemConDatabaseUnawareNowPlayingTarget

Inherits from

Public Member Functions
IMPORT_C voidAddToNowPlayingResponse(TInt)
IMPORT_C voidNowPlayingContentChanged()
IMPORT_C voidPlayItemResponse(TInt)
Protected Member Functions
CRemConNowPlayingTargetBase(CRemConInterfaceSelector &, MRemConDatabaseAwareNowPlayingTargetObserver &)
CRemConNowPlayingTargetBase(CRemConInterfaceSelector &, MRemConDatabaseUnawareNowPlayingTargetObserver &)
~CRemConNowPlayingTargetBase()
voidBaseConstructL()
Private Member Functions
voidAddToOperationQueue(TInt, const TDesC8 &)
voidDoNextMessage()
TAny *GetInterfaceIf(TUid)
voidMrcibNewMessage(TUint, const TDesC8 &, TRemConMessageSubType)
TInt NextMessageCb(TAny *)
voidProcessAddToNowPlaying(const TDesC8 &)
voidProcessGetStatus()
voidProcessGetStatusAndBeginObserving()
TBool ProcessNowPlaying(const TDesC8 &, TUint, TUint64 &, TRemConFolderScope &, TUint16 &)
voidProcessPlayItem(const TDesC8 &)
voidSendError(TInt, TUint)
voidSendNotificationResponse(TRemConMessageSubType)
voidSendResponse(TUint8, TUint)
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(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
MRemConDatabaseAwareNowPlayingTargetObserver *iDaObserver
MRemConDatabaseUnawareNowPlayingTargetObserver *iDuObserver
TBool iInProgress
CRemConInterfaceSelector &iInterfaceSelector
TRemConMessageQueue *iMsgQueue
CAsyncCallBack *iNextMessageCallBack
TBool iNotificationPending
RBuf8 iOutBuf

Constructor & Destructor Documentation

CRemConNowPlayingTargetBase(CRemConInterfaceSelector &, MRemConDatabaseAwareNowPlayingTargetObserver &)

CRemConNowPlayingTargetBase(CRemConInterfaceSelector &aInterfaceSelector,
MRemConDatabaseAwareNowPlayingTargetObserver &aObserver
)[protected]

CRemConNowPlayingTargetBase(CRemConInterfaceSelector &, MRemConDatabaseUnawareNowPlayingTargetObserver &)

CRemConNowPlayingTargetBase(CRemConInterfaceSelector &aInterfaceSelector,
MRemConDatabaseUnawareNowPlayingTargetObserver &aObserver
)[protected]

~CRemConNowPlayingTargetBase()

IMPORT_C~CRemConNowPlayingTargetBase()[protected, virtual]

Member Functions Documentation

AddToNowPlayingResponse(TInt)

IMPORT_C voidAddToNowPlayingResponse(TIntaErr)

Sends the response for the request MrcnptoAddToNowPlaying()

The client must call NowPlayingContentChanged() if the content of the now playing list has been changed after the client successfully adds the item to the now playing list and provides the response with KErrNone through this function.

param aErr The result of add to now playing operation.
  • KErrNone if the operation was successful.

  • KErrInvalidMediaLibraryStateCookie if the client is able to maintain unique UIDs accross the entire virtual filesystem, but the media library state cookie provided does not match the client's state cookie.

  • KErrInvalidUid if the uid of the item provided does not refer to any valid item.

  • KErrNowPlayingUidIsADirectory if the uid of the item provided refers to a directory which can not be handled by this media player.

  • KErrNowPlayingMediaInUse if the item is in use and can not be added to now playing list.

  • KErrNowPlayingListFull if the now playing list if full and no more items can be added.

  • System wide error code otherwise.

NowPlayingContentChanged()

Parameters

TInt aErr

AddToOperationQueue(TInt, const TDesC8 &)

voidAddToOperationQueue(TIntaOperationId,
const TDesC8 &aData
)[private]

Parameters

TInt aOperationId
const TDesC8 & aData

BaseConstructL()

voidBaseConstructL()[protected, virtual]

Must be called by concrete types at construction time. Registers the interface with the interface selector.

DoNextMessage()

voidDoNextMessage()[private]

GetInterfaceIf(TUid)

TAny *GetInterfaceIf(TUidaUid)[private, virtual]

Gets a pointer to a specific interface version.

Parameters

TUid aUid

MrcibNewMessage(TUint, const TDesC8 &, TRemConMessageSubType)

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

Parameters

TUint aOperationId
const TDesC8 & aData
TRemConMessageSubType aMsgSubType

NextMessageCb(TAny *)

TInt NextMessageCb(TAny *aThis)[private, static]

Parameters

TAny * aThis

NowPlayingContentChanged()

IMPORT_C voidNowPlayingContentChanged()

Called by the client in the case that the now playing content changed.

PlayItemResponse() AddToNowPlayingResponse()

PlayItemResponse(TInt)

IMPORT_C voidPlayItemResponse(TIntaErr)

Provide a response to the play item command. For database aware clients this would have been called via MrcdanptoPlayItem(). For database unaware client this would have been called via MrcdunptoPlayItem()

The client must call NowPlayingContentChanged() if the content of the now playing list has been changed after the client successfully plays the item and provides the response with KErrNone through this function.

NowPlayingContentChanged()

Parameters

TInt aErrThe result of play item operation.KErrNone if the operation was successful.KErrInvalidMediaLibraryStateCookie if the client is able to maintain unique UIDs accross the entire virtual filesystem, but the media library state cookie provided does not match the client's state cookie.KErrInvalidUid if the uid of the item provided does not refer to any valid item.KErrNowPlayingUidIsADirectory if the uid of the item provided refers to a directory which can not be handled by this media player.KErrNowPlayingMediaInUse if the item is in use and can not be played.System wide error code otherwise.

ProcessAddToNowPlaying(const TDesC8 &)

voidProcessAddToNowPlaying(const TDesC8 &aData)[private]

Parameters

const TDesC8 & aData

ProcessGetStatus()

voidProcessGetStatus()[private]

ProcessGetStatusAndBeginObserving()

voidProcessGetStatusAndBeginObserving()[private]

ProcessNowPlaying(const TDesC8 &, TUint, TUint64 &, TRemConFolderScope &, TUint16 &)

TBool ProcessNowPlaying(const TDesC8 &aData,
TUintaOperationId,
TUint64 &aItem,
TRemConFolderScope &aScope,
TUint16 &aMediaLibraryStateCookie
)[private]

Parameters

const TDesC8 & aData
TUint aOperationId
TUint64 & aItem
TRemConFolderScope & aScope
TUint16 & aMediaLibraryStateCookie

ProcessPlayItem(const TDesC8 &)

voidProcessPlayItem(const TDesC8 &aData)[private]

Parameters

const TDesC8 & aData

SendError(TInt, TUint)

voidSendError(TIntaError,
TUintaOperationId
)[private]

Parameters

TInt aError
TUint aOperationId

SendNotificationResponse(TRemConMessageSubType)

voidSendNotificationResponse(TRemConMessageSubTypeaMsgSubType)[private]

Parameters

TRemConMessageSubType aMsgSubType

SendResponse(TUint8, TUint)

voidSendResponse(TUint8aStatus,
TUintaOperationId
)[private]

Parameters

TUint8 aStatus
TUint aOperationId

Member Data Documentation

MRemConDatabaseAwareNowPlayingTargetObserver * iDaObserver

MRemConDatabaseAwareNowPlayingTargetObserver *iDaObserver[private]

MRemConDatabaseUnawareNowPlayingTargetObserver * iDuObserver

MRemConDatabaseUnawareNowPlayingTargetObserver *iDuObserver[private]

TBool iInProgress

TBool iInProgress[private]

CRemConInterfaceSelector & iInterfaceSelector

CRemConInterfaceSelector &iInterfaceSelector[private]

TRemConMessageQueue * iMsgQueue

TRemConMessageQueue *iMsgQueue[private]

CAsyncCallBack * iNextMessageCallBack

CAsyncCallBack *iNextMessageCallBack[private]

TBool iNotificationPending

TBool iNotificationPending[private]

RBuf8 iOutBuf

RBuf8 iOutBuf[private]