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()
voidBaseConstructL(TBool)
voidDoFolderDownResult(TUint, TInt)
voidDoFolderItemResult(const TRemConItemUid &, const TDesC8 &, TFolderItemType, TFolderItemPlayable, const TArray< TMediaElementAttribute > &, TInt)
voidDoFolderListing(const TArray< TRemConItem > &, TUint16, TInt)
voidDoFolderUpResult(TUint, TInt)
voidDoGetPathResult(TUint, TUint16, TInt)
voidDoMediaElementItemResult(const TRemConItemUid &, const TDesC8 &, TMediaItemType, const TArray< TMediaElementAttribute > &, TInt)
voidDoMediaLibraryStateChange(TUint16)
voidDoSearchResult(TUint, TUint16, TInt)
Private Member Functions
voidAddToOperationQueue(TUint8, TInt, const TDesC8 &)
TBool DatabaseAware()
voidDoAllAttributesCompleted(TInt)
TInt DoAttributeValue(TMediaAttributeId, const TDesC8 &)
voidDoItemComplete(TInt)
voidDoNextMessage()
TAny *GetInterfaceIf(TUid)
TInt ItemAttributesResult(const TArray< TMediaElementAttribute > &)
voidMrcibNewMessage(TUint, const TDesC8 &)
TInt NextItemCallBack(TAny *)
TInt NextMessageCb(TAny *)
TInt ParseGetItemAttributesRequest(const TDesC8 &, TRemConFolderScope &, TRemConItemUid &, TUint16 &)
voidProcessChangePath(const TDesC8 &)
voidProcessFolderItemResult(const TRemConItemUid &, const TDesC8 &, TFolderItemType, TFolderItemPlayable, TInt)
voidProcessGetFolderItems(const TDesC8 &)
voidProcessGetItemAttributes(const TDesC8 &)
voidProcessGetItemAttributesResult(const TArray< TMediaElementAttribute > &, TInt)
voidProcessGetPath(const TDesC8 &)
voidProcessMediaElementItemResult(const TRemConItemUid &, const TDesC8 &, TMediaItemType, const TArray< TMediaElementAttribute > &, TInt)
voidProcessMediaLibraryStateCookieUpdate(const TDesC8 &)
voidProcessSearch(const TDesC8 &)
voidRequestNextItem()
voidSendChangePathResponse(TUint, TInt)
voidSendError(TUint8, TUint, TInt)
voidSendGetFolderItemsResponse(TInt, const TDesC8 &)
voidSendGetItemAttributesResponse(TInt, const TDesC8 &)
voidSendInternalNotificationResponse(TRemConMessageSubType)
voidSendMediaLibraryStateCookieUpdateResponse(TUint16)
voidSendNotificationResponse(TRemConMessageSubType)
voidSendSearchResponse(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,
TUint16aMediaLibraryStateCookie
)[protected]

Parameters

CRemConInterfaceSelector & aInterfaceSelector
MRemConDatabaseAwareMediaLibraryBrowseObserver & aMlObserver
MRemConDatabaseAwareNowPlayingBrowseObserver & aNpObserver
TUint16 aMediaLibraryStateCookie

CRemConMediaBrowseTargetBase(CRemConInterfaceSelector &, MRemConDatabaseUnawareMediaLibraryBrowseObserver &, MRemConDatabaseUnawareNowPlayingBrowseObserver &)

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

~CRemConMediaBrowseTargetBase()

~CRemConMediaBrowseTargetBase()[protected, virtual]

Member Functions Documentation

AddToOperationQueue(TUint8, TInt, const TDesC8 &)

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

Parameters

TUint8 aPduId
TInt aOperationId
const TDesC8 & aData

BaseConstructL(TBool)

voidBaseConstructL(TBoolaSearchSupported)[protected, virtual]

Parameters

TBool aSearchSupported

DatabaseAware()

TBool DatabaseAware()const [private, inline]

DoAllAttributesCompleted(TInt)

voidDoAllAttributesCompleted(TIntaResult)[private]

Signals that all attributes requested has been supplied.

Parameters

TInt aResult

DoAttributeValue(TMediaAttributeId, const TDesC8 &)

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

Sets an attribute value for the requested item.

Parameters

TMediaAttributeId aAttributeId
const TDesC8 & aAttributeData

DoFolderDownResult(TUint, TInt)

voidDoFolderDownResult(TUintaItemCount,
TIntaResult
)[protected]

Parameters

TUint aItemCount
TInt aResult

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

voidDoFolderItemResult(const TRemConItemUid &aFolderID,
const TDesC8 &aFolderName,
TFolderItemTypeaFolderType,
TFolderItemPlayableaPlayable,
const TArray< TMediaElementAttribute > &aAttributes,
TIntaResult
)[protected]

Parameters

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

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

voidDoFolderListing(const TArray< TRemConItem > &aFolderListing,
TUint16aMediaLibraryStateCookie,
TIntaResult
)[protected]

Parameters

const TArray< TRemConItem > & aFolderListing
TUint16 aMediaLibraryStateCookie
TInt aResult

DoFolderUpResult(TUint, TInt)

voidDoFolderUpResult(TUintaItemCount,
TIntaResult
)[protected]

Parameters

TUint aItemCount
TInt aResult

DoGetPathResult(TUint, TUint16, TInt)

voidDoGetPathResult(TUintaItemCount,
TUint16aMediaLibraryStateCookie,
TIntaResult
)[protected]

Parameters

TUint aItemCount
TUint16 aMediaLibraryStateCookie
TInt aResult

DoItemComplete(TInt)

voidDoItemComplete(TIntaResult)[private]

Parameters

TInt aResult

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

voidDoMediaElementItemResult(const TRemConItemUid &aMediaID,
const TDesC8 &aMediaName,
TMediaItemTypeaMediaType,
const TArray< TMediaElementAttribute > &aAttributes,
TIntaResult
)[protected]

Parameters

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

DoMediaLibraryStateChange(TUint16)

voidDoMediaLibraryStateChange(TUint16aMediaLibraryStateCookie)[protected]

Parameters

TUint16 aMediaLibraryStateCookie

DoNextMessage()

voidDoNextMessage()[private]

DoSearchResult(TUint, TUint16, TInt)

voidDoSearchResult(TUintaNumberItemsFound,
TUint16aMediaLibraryStateCookie,
TIntaResult
)[protected]

Parameters

TUint aNumberItemsFound
TUint16 aMediaLibraryStateCookie
TInt aResult

GetInterfaceIf(TUid)

TAny *GetInterfaceIf(TUidaUid)[private, virtual]

Gets a pointer to a specific interface version.

A pointer to the interface, NULL if not supported.

Parameters

TUid aUid

ItemAttributesResult(const TArray< TMediaElementAttribute > &)

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

Parameters

const TArray< TMediaElementAttribute > & aAttributes

MrcibNewMessage(TUint, const TDesC8 &)

voidMrcibNewMessage(TUintaOperationId,
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 &)

voidProcessChangePath(const TDesC8 &aData)[private]

Parameters

const TDesC8 & aData

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

voidProcessFolderItemResult(const TRemConItemUid &aFolderID,
const TDesC8 &aFolderName,
TFolderItemTypeaFolderType,
TFolderItemPlayableaPlayable,
TIntaResult
)[private]

Parameters

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

ProcessGetFolderItems(const TDesC8 &)

voidProcessGetFolderItems(const TDesC8 &aData)[private]

Parameters

const TDesC8 & aData

ProcessGetItemAttributes(const TDesC8 &)

voidProcessGetItemAttributes(const TDesC8 &aData)[private]

Parameters

const TDesC8 & aData

ProcessGetItemAttributesResult(const TArray< TMediaElementAttribute > &, TInt)

voidProcessGetItemAttributesResult(const TArray< TMediaElementAttribute > &aAttributes,
TIntaResult
)[private]

Parameters

const TArray< TMediaElementAttribute > & aAttributes
TInt aResult

ProcessGetPath(const TDesC8 &)

voidProcessGetPath(const TDesC8 &aData)[private]

Parameters

const TDesC8 & aData

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

voidProcessMediaElementItemResult(const TRemConItemUid &aMediaID,
const TDesC8 &aMediaName,
TMediaItemTypeaMediaType,
const TArray< TMediaElementAttribute > &aAttributes,
TIntaResult
)[private]

Parameters

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

ProcessMediaLibraryStateCookieUpdate(const TDesC8 &)

voidProcessMediaLibraryStateCookieUpdate(const TDesC8 &aData)[private]

Parameters

const TDesC8 & aData

ProcessSearch(const TDesC8 &)

voidProcessSearch(const TDesC8 &aData)[private]

Parameters

const TDesC8 & aData

RequestNextItem()

voidRequestNextItem()[private]

SendChangePathResponse(TUint, TInt)

voidSendChangePathResponse(TUintaItemCount,
TIntaResult
)[private]

Parameters

TUint aItemCount
TInt aResult

SendError(TUint8, TUint, TInt)

voidSendError(TUint8aPduId,
TUintaOperationId,
TIntaError
)[private]

Parameters

TUint8 aPduId
TUint aOperationId
TInt aError

SendGetFolderItemsResponse(TInt, const TDesC8 &)

voidSendGetFolderItemsResponse(TIntaResult,
const TDesC8 &aData
)[private]

Parameters

TInt aResult
const TDesC8 & aData

SendGetItemAttributesResponse(TInt, const TDesC8 &)

voidSendGetItemAttributesResponse(TIntaResult,
const TDesC8 &aData
)[private]

Parameters

TInt aResult
const TDesC8 & aData

SendInternalNotificationResponse(TRemConMessageSubType)

voidSendInternalNotificationResponse(TRemConMessageSubTypeaMsgSubType)[private]

Parameters

TRemConMessageSubType aMsgSubType

SendMediaLibraryStateCookieUpdateResponse(TUint16)

voidSendMediaLibraryStateCookieUpdateResponse(TUint16aMediaLibraryStateCookie)[private]

Parameters

TUint16 aMediaLibraryStateCookie

SendNotificationResponse(TRemConMessageSubType)

voidSendNotificationResponse(TRemConMessageSubTypeaMsgSubType)[private]

Parameters

TRemConMessageSubType aMsgSubType

SendSearchResponse(TInt, TUint, TUint16)

voidSendSearchResponse(TIntaResult,
TUintaNumberItemsFound,
TUint16aMediaLibraryStateCookie
)[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]