williamr@4: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // williamr@4: williamr@4: williamr@4: williamr@4: /** williamr@4: @file williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: williamr@4: #ifndef REMCONDATABASEUNAWARENOWPLAYINGBROWSEOBSERVER_H williamr@4: #define REMCONDATABASEUNAWARENOWPLAYINGBROWSEOBSERVER_H williamr@4: williamr@4: NONSHARABLE_CLASS(MRemConDatabaseUnawareNowPlayingBrowseObserver) williamr@4: { williamr@4: public: williamr@4: /** williamr@4: Requests a listing of the items present in the Now Playing folder. If the williamr@4: media player does not natively support a Now Plyaing folder the client williamr@4: shall return a listing of one item which is the currently playing media williamr@4: element. williamr@4: williamr@4: No metadata is requested, that can be retrieved separately on a per item williamr@4: basis. Trying this out for now as it fits in with the existing metadata williamr@4: attribute collection, and means that we would also separate out the williamr@4: listing from the metadata. This means that we can retrieve a NowPlaying williamr@4: list and then request the metadata from the observer. williamr@4: williamr@4: The result should be returned via a call to williamr@4: MRemConDatabaseUnawareNowPlayingBrowse::MrcdunpbFolderListing(). williamr@4: williamr@4: @param aStartItem The offset into the folder listing of the first item to williamr@4: retrieve. If there is no media available at this offset the error williamr@4: KErrMediaBrowseInvalidOffset should be returned via the result call williamr@4: to MrcdunpbFolderListing(). williamr@4: williamr@4: @param aEndItem The offset into the folder listing of the final item to williamr@4: retrieve. If this is beyond the end of the folder listing then the williamr@4: items from the aStartItem offset to the end of the listing should williamr@4: be returned via the result call to MrcdunpbFolderListing(). williamr@4: */ williamr@4: virtual void MrcdunpboGetFolderListing(TUint aStartItem, williamr@4: TUint aEndItem) = 0; williamr@4: williamr@4: /** williamr@4: Requests a set of metadata corresponding to a specific media element item. williamr@4: williamr@4: The client must return the metadata for the requested item via using williamr@4: MRemConDatabaseUnawareNowPlayingBrowse::MrcdunpbMediaElementItemResult() williamr@4: if it returns KErrNone, if it is unable to process this call then it can williamr@4: return error but not call the response function williamr@4: MRemConDatabaseUnawareNowPlayingBrowse::MrcdunpbMediaElementItemResult(). williamr@4: williamr@4: @param aItemId The UID for the requested media element item. williamr@4: williamr@4: @param aIter An iterator for TMediaAttributeIds containing a list of williamr@4: TMediaAttributeIds requested by the controller. williamr@4: williamr@4: @return The call back result. williamr@4: - KErrNone If success. williamr@4: - The appropriate error code. williamr@4: */ williamr@4: virtual TInt MrcdunpboGetItem(const TRemConItemUid& aItemId, williamr@4: TMediaAttributeIter& aIter) = 0; williamr@4: }; williamr@4: williamr@4: #endif //REMCONDATABASEUNAWARENOWPLAYINGBROWSEOBSERVER_H