CRemConMediaBrowseTargetBase Class Reference

class CRemConMediaBrowseTargetBase : public CRemConInterfaceBase

This interface enables the client to present a heirarchical view of the local media library for browsing by a remote entity.

The view is a virtual filesystem and does not need to correspond directly to any structure on local storage. It could for example map onto a database of media content.

Each item in the media library is identified by a UID. At a minimum this must uniquely identify an element within a folder. For clients that support it the UID can be persistant accross the entire virtual filesystem. In this case a media library state cookie is used to ensure that that state is consistent between the client and the remote device.

This interface does not have NewL()/NewLC, so the client should use the object CRemConDatabaseAwareMediaBrowseTarget or CRemConDatabaseUnawareMediaBrowseTarget to use its exported functions.

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

CRemConDatabaseAwareMediaBrowseTarget CRemConDatabaseUnawareMediaBrowseTarget

Inherits from

Protected Member Functions
CRemConMediaBrowseTargetBase (CRemConInterfaceSelector &, MRemConDatabaseAwareMediaLibraryBrowseObserver &, MRemConDatabaseAwareNowPlayingBrowseObserver &, TUint16 )
CRemConMediaBrowseTargetBase (CRemConInterfaceSelector &, MRemConDatabaseUnawareMediaLibraryBrowseObserver &, MRemConDatabaseUnawareNowPlayingBrowseObserver &)
~CRemConMediaBrowseTargetBase ()
void BaseConstructL ( TBool )
void DoFolderDownResult ( TUint , TInt )
void DoFolderItemResult (const TRemConItemUid &, const TDesC8 &, TFolderItemType , TFolderItemPlayable , const TArray < TMediaElementAttribute > &, TInt )
void DoFolderListing (const TArray < TRemConItem > &, TUint16 , TInt )
void DoFolderUpResult ( TUint , TInt )
void DoGetPathResult ( TUint , TUint16 , TInt )
void DoMediaElementItemResult (const TRemConItemUid &, const TDesC8 &, TMediaItemType , const TArray < TMediaElementAttribute > &, TInt )
void DoMediaLibraryStateChange ( TUint16 )
void DoSearchResult ( TUint , TUint16 , TInt )
Private Member Functions
void AddToOperationQueue ( TUint8 , TInt , const TDesC8 &)
TBool DatabaseAware ()
void DoAllAttributesCompleted ( TInt )
TInt DoAttributeValue ( TMediaAttributeId , const TDesC8 &)
void DoItemComplete ( TInt )
void DoNextMessage ()
TAny * GetInterfaceIf ( TUid )
TInt ItemAttributesResult (const TArray < TMediaElementAttribute > &)
void MrcibNewMessage ( TUint , const TDesC8 &)
TInt NextItemCallBack ( TAny *)
TInt NextMessageCb ( TAny *)
TInt ParseGetItemAttributesRequest (const TDesC8 &, TRemConFolderScope &, TRemConItemUid &, TUint16 &)
void ProcessChangePath (const TDesC8 &)
void ProcessFolderItemResult (const TRemConItemUid &, const TDesC8 &, TFolderItemType , TFolderItemPlayable , TInt )
void ProcessGetFolderItems (const TDesC8 &)
void ProcessGetItemAttributes (const TDesC8 &)
void ProcessGetItemAttributesResult (const TArray < TMediaElementAttribute > &, TInt )
void ProcessGetPath (const TDesC8 &)
void ProcessMediaElementItemResult (const TRemConItemUid &, const TDesC8 &, TMediaItemType , const TArray < TMediaElementAttribute > &, TInt )
void ProcessMediaLibraryStateCookieUpdate (const TDesC8 &)
void ProcessSearch (const TDesC8 &)
void RequestNextItem ()
void SendChangePathResponse ( TUint , TInt )
void SendError ( TUint8 , TUint , TInt )
void SendGetFolderItemsResponse ( TInt , const TDesC8 &)
void SendGetItemAttributesResponse ( TInt , const TDesC8 &)
void SendInternalNotificationResponse ( TRemConMessageSubType )
void SendMediaLibraryStateCookieUpdateResponse ( TUint16 )
void SendNotificationResponse ( TRemConMessageSubType )
void SendSearchResponse ( TInt , TUint , TUint16 )
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
TMediaAttributeIter iAttributeIterator
TBool iGetFolderListing
TBool iGetItemAttributes
RRemConGetPathResponse * iGetPathResponse
RRemConGetFolderItemsResponse * iGflResponse
RRemConGetItemAttributesResponse * iGiaResponse
TBool iInProgress
CRemConInterfaceSelector & iInterfaceSelector
TUint16 iLastMlscUpdate
RArray < TMediaAttributeId > iMediaAttributeIds
TUint16 iMediaLibraryStateCookie
TBool iMlscUpdatePending
TRemConMessageQueue * iMsgQueue
CAsyncCallBack * iNextItemCallBack
CAsyncCallBack * iNextMessageCallBack
RArray < TMediaAttributeId > iNullArray
TMediaAttributeIter iNullIterator
RBuf8 iOutBuf
MRemConDatabaseAwareMediaLibraryBrowseObserver * iRcdamlbo
MRemConDatabaseAwareNowPlayingBrowseObserver * iRcdanpbo
MRemConDatabaseUnawareMediaLibraryBrowseObserver * iRcdumlbo
MRemConDatabaseUnawareNowPlayingBrowseObserver * iRcdunpbo
TRemConFolderScope iScope
TBool iSearchInProgress
RBuf8 iSearchString
TBool iSearchSupported
TBool iSetAttributeValue

Constructor & Destructor Documentation

CRemConMediaBrowseTargetBase(CRemConInterfaceSelector &, MRemConDatabaseAwareMediaLibraryBrowseObserver &, MRemConDatabaseAwareNowPlayingBrowseObserver &, TUint16)

CRemConMediaBrowseTargetBase ( CRemConInterfaceSelector & aInterfaceSelector,
MRemConDatabaseAwareMediaLibraryBrowseObserver & aMlObserver,
MRemConDatabaseAwareNowPlayingBrowseObserver & aNpObserver,
TUint16 aMediaLibraryStateCookie
) [protected]

Parameters

CRemConInterfaceSelector & aInterfaceSelector
MRemConDatabaseAwareMediaLibraryBrowseObserver & aMlObserver
MRemConDatabaseAwareNowPlayingBrowseObserver & aNpObserver
TUint16 aMediaLibraryStateCookie

CRemConMediaBrowseTargetBase(CRemConInterfaceSelector &, MRemConDatabaseUnawareMediaLibraryBrowseObserver &, MRemConDatabaseUnawareNowPlayingBrowseObserver &)

CRemConMediaBrowseTargetBase ( CRemConInterfaceSelector & aInterfaceSelector,
MRemConDatabaseUnawareMediaLibraryBrowseObserver & aMlObserver,
MRemConDatabaseUnawareNowPlayingBrowseObserver & aNpObserver
) [protected]

Parameters

CRemConInterfaceSelector & aInterfaceSelector
MRemConDatabaseUnawareMediaLibraryBrowseObserver & aMlObserver
MRemConDatabaseUnawareNowPlayingBrowseObserver & aNpObserver

~CRemConMediaBrowseTargetBase()

~CRemConMediaBrowseTargetBase ( ) [protected, virtual]

Member Functions Documentation

AddToOperationQueue(TUint8, TInt, const TDesC8 &)

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

Parameters

TUint8 aPduId
TInt aOperationId
const TDesC8 & aData

BaseConstructL(TBool)

void BaseConstructL ( TBool aSearchSupported ) [protected, virtual]

Parameters

TBool aSearchSupported

DatabaseAware()

TBool DatabaseAware ( ) const [private, inline]

DoAllAttributesCompleted(TInt)

void DoAllAttributesCompleted ( TInt aResult ) [private]

Signals that all attributes requested has been supplied.

Parameters

TInt aResult

DoAttributeValue(TMediaAttributeId, const TDesC8 &)

TInt DoAttributeValue ( TMediaAttributeId aAttributeId,
const TDesC8 & aAttributeData
) [private]

Sets an attribute value for the requested item.

Parameters

TMediaAttributeId aAttributeId
const TDesC8 & aAttributeData

DoFolderDownResult(TUint, TInt)

void DoFolderDownResult ( TUint aItemCount,
TInt aResult
) [protected]

Parameters

TUint aItemCount
TInt aResult

DoFolderItemResult(const TRemConItemUid &, const TDesC8 &, TFolderItemType, TFolderItemPlayable, const TArray< TMediaElementAttribute > &, TInt)

void DoFolderItemResult ( const TRemConItemUid & aFolderID,
const TDesC8 & aFolderName,
TFolderItemType aFolderType,
TFolderItemPlayable aPlayable,
const TArray < TMediaElementAttribute > & aAttributes,
TInt aResult
) [protected]

Parameters

const TRemConItemUid & aFolderID
const TDesC8 & aFolderName
TFolderItemType aFolderType
TFolderItemPlayable aPlayable
const TArray < TMediaElementAttribute > & aAttributes
TInt aResult

DoFolderListing(const TArray< TRemConItem > &, TUint16, TInt)

void DoFolderListing ( const TArray < TRemConItem > & aFolderListing,
TUint16 aMediaLibraryStateCookie,
TInt aResult
) [protected]

Parameters

const TArray < TRemConItem > & aFolderListing
TUint16 aMediaLibraryStateCookie
TInt aResult

DoFolderUpResult(TUint, TInt)

void DoFolderUpResult ( TUint aItemCount,
TInt aResult
) [protected]

Parameters

TUint aItemCount
TInt aResult

DoGetPathResult(TUint, TUint16, TInt)

void DoGetPathResult ( TUint aItemCount,
TUint16 aMediaLibraryStateCookie,
TInt aResult
) [protected]

Parameters

TUint aItemCount
TUint16 aMediaLibraryStateCookie
TInt aResult

DoItemComplete(TInt)

void DoItemComplete ( TInt aResult ) [private]

Parameters

TInt aResult

DoMediaElementItemResult(const TRemConItemUid &, const TDesC8 &, TMediaItemType, const TArray< TMediaElementAttribute > &, TInt)

void DoMediaElementItemResult ( const TRemConItemUid & aMediaID,
const TDesC8 & aMediaName,
TMediaItemType aMediaType,
const TArray < TMediaElementAttribute > & aAttributes,
TInt aResult
) [protected]

Parameters

const TRemConItemUid & aMediaID
const TDesC8 & aMediaName
TMediaItemType aMediaType
const TArray < TMediaElementAttribute > & aAttributes
TInt aResult

DoMediaLibraryStateChange(TUint16)

void DoMediaLibraryStateChange ( TUint16 aMediaLibraryStateCookie ) [protected]

Parameters

TUint16 aMediaLibraryStateCookie

DoNextMessage()

void DoNextMessage ( ) [private]

DoSearchResult(TUint, TUint16, TInt)

void DoSearchResult ( TUint aNumberItemsFound,
TUint16 aMediaLibraryStateCookie,
TInt aResult
) [protected]

Parameters

TUint aNumberItemsFound
TUint16 aMediaLibraryStateCookie
TInt aResult

GetInterfaceIf(TUid)

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

Gets a pointer to a specific interface version.

Parameters

TUid aUid

ItemAttributesResult(const TArray< TMediaElementAttribute > &)

TInt ItemAttributesResult ( const TArray < TMediaElementAttribute > & aAttributes ) [private]

Parameters

const TArray < TMediaElementAttribute > & aAttributes

MrcibNewMessage(TUint, const TDesC8 &)

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

Parameters

TUint aOperationId
const TDesC8 & aData

NextItemCallBack(TAny *)

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

Parameters

TAny * aThis

NextMessageCb(TAny *)

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

Parameters

TAny * aThis

ParseGetItemAttributesRequest(const TDesC8 &, TRemConFolderScope &, TRemConItemUid &, TUint16 &)

TInt ParseGetItemAttributesRequest ( const TDesC8 & aData,
TRemConFolderScope & aScope,
TRemConItemUid & aItemUid,
TUint16 & aMediaLibraryStateCookie
) [private]

Parameters

const TDesC8 & aData
TRemConFolderScope & aScope
TRemConItemUid & aItemUid
TUint16 & aMediaLibraryStateCookie

ProcessChangePath(const TDesC8 &)

void ProcessChangePath ( const TDesC8 & aData ) [private]

Parameters

const TDesC8 & aData

ProcessFolderItemResult(const TRemConItemUid &, const TDesC8 &, TFolderItemType, TFolderItemPlayable, TInt)

void ProcessFolderItemResult ( const TRemConItemUid & aFolderID,
const TDesC8 & aFolderName,
TFolderItemType aFolderType,
TFolderItemPlayable aPlayable,
TInt aResult
) [private]

Parameters

const TRemConItemUid & aFolderID
const TDesC8 & aFolderName
TFolderItemType aFolderType
TFolderItemPlayable aPlayable
TInt aResult

ProcessGetFolderItems(const TDesC8 &)

void ProcessGetFolderItems ( const TDesC8 & aData ) [private]

Parameters

const TDesC8 & aData

ProcessGetItemAttributes(const TDesC8 &)

void ProcessGetItemAttributes ( const TDesC8 & aData ) [private]

Parameters

const TDesC8 & aData

ProcessGetItemAttributesResult(const TArray< TMediaElementAttribute > &, TInt)

void ProcessGetItemAttributesResult ( const TArray < TMediaElementAttribute > & aAttributes,
TInt aResult
) [private]

Parameters

const TArray < TMediaElementAttribute > & aAttributes
TInt aResult

ProcessGetPath(const TDesC8 &)

void ProcessGetPath ( const TDesC8 & aData ) [private]

Parameters

const TDesC8 & aData

ProcessMediaElementItemResult(const TRemConItemUid &, const TDesC8 &, TMediaItemType, const TArray< TMediaElementAttribute > &, TInt)

void ProcessMediaElementItemResult ( const TRemConItemUid & aMediaID,
const TDesC8 & aMediaName,
TMediaItemType aMediaType,
const TArray < TMediaElementAttribute > & aAttributes,
TInt aResult
) [private]

Parameters

const TRemConItemUid & aMediaID
const TDesC8 & aMediaName
TMediaItemType aMediaType
const TArray < TMediaElementAttribute > & aAttributes
TInt aResult

ProcessMediaLibraryStateCookieUpdate(const TDesC8 &)

void ProcessMediaLibraryStateCookieUpdate ( const TDesC8 & aData ) [private]

Parameters

const TDesC8 & aData

ProcessSearch(const TDesC8 &)

void ProcessSearch ( const TDesC8 & aData ) [private]

Parameters

const TDesC8 & aData

RequestNextItem()

void RequestNextItem ( ) [private]

SendChangePathResponse(TUint, TInt)

void SendChangePathResponse ( TUint aItemCount,
TInt aResult
) [private]

Parameters

TUint aItemCount
TInt aResult

SendError(TUint8, TUint, TInt)

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

Parameters

TUint8 aPduId
TUint aOperationId
TInt aError

SendGetFolderItemsResponse(TInt, const TDesC8 &)

void SendGetFolderItemsResponse ( TInt aResult,
const TDesC8 & aData
) [private]

Parameters

TInt aResult
const TDesC8 & aData

SendGetItemAttributesResponse(TInt, const TDesC8 &)

void SendGetItemAttributesResponse ( TInt aResult,
const TDesC8 & aData
) [private]

Parameters

TInt aResult
const TDesC8 & aData

SendInternalNotificationResponse(TRemConMessageSubType)

void SendInternalNotificationResponse ( TRemConMessageSubType aMsgSubType ) [private]

Parameters

TRemConMessageSubType aMsgSubType

SendMediaLibraryStateCookieUpdateResponse(TUint16)

void SendMediaLibraryStateCookieUpdateResponse ( TUint16 aMediaLibraryStateCookie ) [private]

Parameters

TUint16 aMediaLibraryStateCookie

SendNotificationResponse(TRemConMessageSubType)

void SendNotificationResponse ( TRemConMessageSubType aMsgSubType ) [private]

Parameters

TRemConMessageSubType aMsgSubType

SendSearchResponse(TInt, TUint, TUint16)

void SendSearchResponse ( TInt aResult,
TUint aNumberItemsFound,
TUint16 aMediaLibraryStateCookie
) [private]

Parameters

TInt aResult
TUint aNumberItemsFound
TUint16 aMediaLibraryStateCookie

Member Data Documentation

TMediaAttributeIter iAttributeIterator

TMediaAttributeIter iAttributeIterator [private]

TBool iGetFolderListing

TBool iGetFolderListing [private]

TBool iGetItemAttributes

TBool iGetItemAttributes [private]

RRemConGetPathResponse * iGetPathResponse

RRemConGetPathResponse * iGetPathResponse [private]

RRemConGetFolderItemsResponse * iGflResponse

RRemConGetFolderItemsResponse * iGflResponse [private]

RRemConGetItemAttributesResponse * iGiaResponse

RRemConGetItemAttributesResponse * iGiaResponse [private]

TBool iInProgress

TBool iInProgress [private]

CRemConInterfaceSelector & iInterfaceSelector

CRemConInterfaceSelector & iInterfaceSelector [private]

TUint16 iLastMlscUpdate

TUint16 iLastMlscUpdate [private]

RArray< TMediaAttributeId > iMediaAttributeIds

RArray < TMediaAttributeId > iMediaAttributeIds [private]

TUint16 iMediaLibraryStateCookie

TUint16 iMediaLibraryStateCookie [private]

TBool iMlscUpdatePending

TBool iMlscUpdatePending [private]

TRemConMessageQueue * iMsgQueue

TRemConMessageQueue * iMsgQueue [private]

CAsyncCallBack * iNextItemCallBack

CAsyncCallBack * iNextItemCallBack [private]

CAsyncCallBack * iNextMessageCallBack

CAsyncCallBack * iNextMessageCallBack [private]

RArray< TMediaAttributeId > iNullArray

RArray < TMediaAttributeId > iNullArray [private]

TMediaAttributeIter iNullIterator

TMediaAttributeIter iNullIterator [private]

RBuf8 iOutBuf

RBuf8 iOutBuf [private]

MRemConDatabaseAwareMediaLibraryBrowseObserver * iRcdamlbo

MRemConDatabaseAwareMediaLibraryBrowseObserver * iRcdamlbo [private]

MRemConDatabaseAwareNowPlayingBrowseObserver * iRcdanpbo

MRemConDatabaseAwareNowPlayingBrowseObserver * iRcdanpbo [private]

MRemConDatabaseUnawareMediaLibraryBrowseObserver * iRcdumlbo

MRemConDatabaseUnawareMediaLibraryBrowseObserver * iRcdumlbo [private]

MRemConDatabaseUnawareNowPlayingBrowseObserver * iRcdunpbo

MRemConDatabaseUnawareNowPlayingBrowseObserver * iRcdunpbo [private]

TRemConFolderScope iScope

TRemConFolderScope iScope [private]

TBool iSearchInProgress

TBool iSearchInProgress [private]

RBuf8 iSearchString

RBuf8 iSearchString [private]

TBool iSearchSupported

TBool iSearchSupported [private]

TBool iSetAttributeValue

TBool iSetAttributeValue [private]