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 void AddToNowPlayingResponse ( TInt )
IMPORT_C void NowPlayingContentChanged ()
IMPORT_C void PlayItemResponse ( TInt )
Protected Member Functions
CRemConNowPlayingTargetBase ( CRemConInterfaceSelector &, MRemConDatabaseAwareNowPlayingTargetObserver &)
CRemConNowPlayingTargetBase ( CRemConInterfaceSelector &, MRemConDatabaseUnawareNowPlayingTargetObserver &)
~CRemConNowPlayingTargetBase ()
void BaseConstructL ()
Private Member Functions
void AddToOperationQueue ( TInt , const TDesC8 &)
void DoNextMessage ()
TAny * GetInterfaceIf ( TUid )
void MrcibNewMessage ( TUint , const TDesC8 &, TRemConMessageSubType )
TInt NextMessageCb ( TAny *)
void ProcessAddToNowPlaying (const TDesC8 &)
void ProcessGetStatus ()
void ProcessGetStatusAndBeginObserving ()
TBool ProcessNowPlaying (const TDesC8 &, TUint , TUint64 &, TRemConFolderScope &, TUint16 &)
void ProcessPlayItem (const TDesC8 &)
void SendError ( TInt , TUint )
void SendNotificationResponse ( TRemConMessageSubType )
void SendResponse ( 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 void AddToNowPlayingResponse ( TInt aErr )

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 &)

void AddToOperationQueue ( TInt aOperationId,
const TDesC8 & aData
) [private]

Parameters

TInt aOperationId
const TDesC8 & aData

BaseConstructL()

void BaseConstructL ( ) [protected, virtual]

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

DoNextMessage()

void DoNextMessage ( ) [private]

GetInterfaceIf(TUid)

TAny * GetInterfaceIf ( TUid aUid ) [private, virtual]

Gets a pointer to a specific interface version.

Parameters

TUid aUid

MrcibNewMessage(TUint, const TDesC8 &, TRemConMessageSubType)

void MrcibNewMessage ( TUint aOperationId,
const TDesC8 & aData,
TRemConMessageSubType aMsgSubType
) [private]

Parameters

TUint aOperationId
const TDesC8 & aData
TRemConMessageSubType aMsgSubType

NextMessageCb(TAny *)

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

Parameters

TAny * aThis

NowPlayingContentChanged()

IMPORT_C void NowPlayingContentChanged ( )

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

PlayItemResponse() AddToNowPlayingResponse()

PlayItemResponse(TInt)

IMPORT_C void PlayItemResponse ( TInt aErr )

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 aErr The 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 &)

void ProcessAddToNowPlaying ( const TDesC8 & aData ) [private]

Parameters

const TDesC8 & aData

ProcessGetStatus()

void ProcessGetStatus ( ) [private]

ProcessGetStatusAndBeginObserving()

void ProcessGetStatusAndBeginObserving ( ) [private]

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

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

Parameters

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

ProcessPlayItem(const TDesC8 &)

void ProcessPlayItem ( const TDesC8 & aData ) [private]

Parameters

const TDesC8 & aData

SendError(TInt, TUint)

void SendError ( TInt aError,
TUint aOperationId
) [private]

Parameters

TInt aError
TUint aOperationId

SendNotificationResponse(TRemConMessageSubType)

void SendNotificationResponse ( TRemConMessageSubType aMsgSubType ) [private]

Parameters

TRemConMessageSubType aMsgSubType

SendResponse(TUint8, TUint)

void SendResponse ( TUint8 aStatus,
TUint aOperationId
) [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]