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 REMCONDATABASEUNAWARENOWPLAYINGTARGETOBSERVER_H williamr@4: #define REMCONDATABASEUNAWARENOWPLAYINGTARGETOBSERVER_H williamr@4: williamr@4: #include williamr@4: williamr@4: /** williamr@4: It is intended for the client which is database aware. williamr@4: Clients must implement this interface in order to instantiate objects of type williamr@4: CRemConDatabaseUnawareNowPlayingTarget. This interface passes incoming williamr@4: commands from RemCon to the client. williamr@4: williamr@4: @see CRemConDatabaseUnawareNowPlayingTarget williamr@4: */ williamr@4: NONSHARABLE_CLASS(MRemConDatabaseUnawareNowPlayingTargetObserver) williamr@4: { williamr@4: public: williamr@4: /** williamr@4: Requests to play an item. williamr@4: williamr@4: @param aItem The item requested to play. williamr@4: - If it does not refer to any valid item, the client must call williamr@4: CRemConNowPlayingTargetBase::PlayItemResponse() with the error williamr@4: KErrInvalidUid; williamr@4: - If it refers to a directory which can not be handled by this media williamr@4: player, the client must call williamr@4: CRemConNowPlayingTargetBase::PlayItemResponse() williamr@4: with the error KErrNowPlayingUidIsADirectory; williamr@4: - If it is in use and can not be played, the client must call williamr@4: CRemConNowPlayingTargetBase::PlayItemResponse() williamr@4: with the error KErrNowPlayingMediaInUse; williamr@4: williamr@4: @param aScope The scope in which the item was requested to play. williamr@4: williamr@4: @see CRemConNowPlayingTargetBase::PlayItemResponse(). williamr@4: */ williamr@4: virtual void MrcdunptoPlayItem(const TRemConItemUid& aItem, williamr@4: TRemConFolderScope aScope) = 0; williamr@4: williamr@4: /** williamr@4: Requests to add an item to now playing list. williamr@4: williamr@4: @param aItem The item requested to play. williamr@4: - If it does not refer to any valid item, the client must call williamr@4: CRemConNowPlayingTargetBase::AddToNowPlayingResponse() williamr@4: with the error KErrInvalidUid; williamr@4: - If it refers to a directory which can not be handled by this media williamr@4: player, the client must call williamr@4: CRemConNowPlayingTargetBase::AddToNowPlayingResponse() williamr@4: with the error KErrNowPlayingUidIsADirectory; williamr@4: - If it is in use and can not be added to now playing list, the williamr@4: client must call williamr@4: CRemConNowPlayingTargetBase::AddToNowPlayingResponse() williamr@4: with the error KErrNowPlayingMediaInUse; williamr@4: williamr@4: @param aScope The scope in which the item was requested to play. williamr@4: williamr@4: @see CRemConNowPlayingTargetBase::AddToNowPlayingResponse(). williamr@4: */ williamr@4: virtual void MrcdunptoAddToNowPlaying(const TRemConItemUid& aItem, williamr@4: TRemConFolderScope aScope) = 0; williamr@4: }; williamr@4: williamr@4: #endif //REMCONDATABASEUNAWARENOWPLAYINGTARGETOBSERVER_H