diff -r 000000000000 -r 7f85d04be362 upnpavcontroller/upnpavcontrollerclient/inc/upnpavrenderingsession.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/upnpavcontroller/upnpavcontrollerclient/inc/upnpavrenderingsession.h Thu Dec 17 08:52:00 2009 +0200 @@ -0,0 +1,173 @@ +/* +* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: interface for session against a renderer +* +*/ + + + + + + +#ifndef C_UPNPAVRENDERINGSESSION_H +#define C_UPNPAVRENDERINGSESSION_H + +#include +#include "upnpavsessionbase.h" + +class MUPnPAVRenderingSessionObserver; +class CUpnpItem; + +/** + * AV Controller rendering session interface. + * + * This class defines the rendering interface of AV Controller. + * Includes operations to set and to set next uri, play, stop and + * pause the playback, to set the volume and mute and to get the + * position information + * + * @lib upnpavcontrollerclient.lib + * @since S60 v3.1 + */ + class MUPnPAVRenderingSession : public MUPnPAVSessionBase + { + +public: + + /** + * Sets the rendering session observer + * + * @since Series 60 3.1 + * @param aObserver rendering session observer + * @return none + */ + virtual void SetObserver( + MUPnPAVRenderingSessionObserver& aObserver ) = 0; + + /** + * Removes the rendering session observer + * + * @since Series 60 3.1 + * @param None + * @return None + */ + virtual void RemoveObserver() = 0; + + /** + * Returns the rendering session observer + * + * @since Series 60 3.1 + * @param None + * @return observer + */ + virtual MUPnPAVRenderingSessionObserver* Observer() const = 0; + +public: + + /** + * Set the URI by providing an URI and the item + * + * @since Series 60 3.1 + * @param aURI URI of the item + * @param aObject item + */ + virtual void SetURIL( const TDesC8& aURI, const CUpnpItem& aItem ) = 0; + + /** + * Set the next URI by providing an URI and the item + * + * @since Series 60 3.1 + * @param aURI URI of the item + * @param aObject item + */ + virtual void SetNextURIL( const TDesC8& aURI, + const CUpnpItem& aItem ) = 0; + + /** + * Starts the playback. + * + * @since Series 60 3.1 + * @param None + * @return none + */ + virtual void PlayL() = 0; + + /** + * Stops the playback. + * + * @since Series 60 3.1 + * @param None + * @return none + */ + virtual void StopL() = 0; + + /** + * Pauses the playback. + * + * @since Series 60 3.1 + * @param None + * @return none + */ + virtual void PauseL() = 0; + + /** + * Sets the volume level. + * + * @since Series 60 3.1 + * @param aVolumeLevel TInt Volume level in percents (0 - 100) + * @return none + */ + virtual void SetVolumeL( TInt aVolumeLevel ) = 0; + + /** + * Gets the volume level. + * + * @since Series 60 3.1 + * @param None + * @return none + */ + virtual void GetVolumeL() = 0; + + /** + * Sets the mute state. + * + * @since Series 60 3.1 + * @param aMute TBool desired state of the mute (ETrue of EFalse) + * @return none + */ + virtual void SetMuteL( TBool aMute ) = 0; + + /** + * Gets the mute state. + * + * @since Series 60 3.1 + * @param None + * @return none + */ + virtual void GetMuteL() = 0; + + /** + * Gets position info of the media that is currently + * rendered on the UPnP Media Renderer. + * + * @since Series 60 3.0 + * @param none + * @return none + */ + virtual void GetPositionInfoL() = 0; + + }; + + +#endif // C_UPNPAVRENDERINGSESSION_H